]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/Makefile.am: Do not include libgcc.h when compiling with
[grub2.git] / ChangeLog
CommitLineData
d59849b2
VS
12013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/Makefile.am: Do not include libgcc.h when compiling with
4 clang.
5
7a3f4a18
VS
62013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
7
8 * grub-core/kern/powerpc/dl.c: Add missing pragma to silence cast-align
9 warnings.
10
7f084087
VS
112013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
12
13 * grub-core/net/net.c (grub_net_route_unregister): Remove unused
14 function.
15 * grub-core/loader/i386/xnu.c (hextoval): Likewise.
16 * grub-core/disk/geli.c (ascii2hex): Likewise.
17
d5524ca8
VS
182013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
19
20 * configure.ac: Run linker tests without -Werror.
21 Define TARGET_LDFLAGS_STATIC_LIBGCC and TARGET_LIBGCC.
22 Change all occurences of -static-libgcc resp -lgcc to
23 TARGET_LDFLAGS_STATIC_LIBGCC resp TARGET_LIBGCC.
24
390cd7ca
VS
252013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
26
27 * configure.ac: Don't add -no-itegrated-as on clang on non-x86.
28
60375a88
VS
292013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
30
31 Allow compiling with clang (not really supported though).
32
33 * conf/Makefile.common (CFLAGS_PLATFORM): Don't add -mrtd -mregparm=3
34 unconditionally.
35 * configure.ac: Add -no-integrated-as when using clangfor asm files.
36 Add -mrtd -mregparm=3 on i386 when not using clang.
37 * grub-core/kern/misc.c (grub_memset): Add volatile when on clang.
38
dd07e0c4
VS
392013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
40
41 * grub-core/kern/ieee1275/cmain.c: Add explicit attribute on asm
42 bindings.
43 * grub-core/lib/reed_solomon.c: Likewise.
44 * include/grub/i386/gdb.h: Likewise.
45 * include/grub/i386/pc/int.h: Likewise.
46 * include/grub/i386/pc/pxe.h: Likewise.
47 * include/grub/ieee1275/ieee1275.h: Likewise.
48
9d3ae8ec
VS
492013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
50
51 Import libgcrypt 1.5.3.
52
c12936c5
VS
532013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
54
55 * configure.ac: Don't add -Wcast-align on x86.
56
cdc17f60
VS
572013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
58
59 * configure.ac: Add -freg-struct-return on all platforms that
60 support it.
61
b35ec299
VS
622013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
63
64 * acinclude.m4: Use -Werror on parameter tests.
65 * configure.ac: Likewise.
66
05f3a0d7
VS
672013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
68
69 * acinclude.m4: Add missing TARGET_CCASFLAGS on asm tests.
70
c966a489
VS
712013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
72
73 * configure.ac: Check that -malign-loops works rather than assuming that
74 either -falign-loops or -malign-loops work.
75
bb0c57ec
VS
762013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
77
78 * configure.ac: Remove -fnested-functions. We don't need it anymore.
79
24f4e57c
VS
802013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
81
82 * configure.ac: Prevent cflags leaking to subsequent tests by always
83 resetting cflags to target_cflags in target tests.
84
ac319fbc
VS
852013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
86
87 * grub-core/kern/parser.c (grub_parser_split_cmdline): Remove nested
88 function.
89
4bfe934c
VS
902013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
91
92 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove nested functions.
93
40a5bfde
VS
942013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
95
96 * grub-core/lib/arg.c (grub_arg_parse): Remove nested function.
97
a67c755e
VS
982013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
99
100 * grub-core/normal/cmdline.c (grub_cmdline_get):
101 Remove nested functions.
102
87a04a2d
VS
1032013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
104
105 * tests/test_sha512sum.in: Make it work on emu.
106
c03995d2
VS
1072013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
108
109 * grub-core/normal/charset.c (bidi_line_wrap): Eliminate nested
110 functions.
111 (grub_bidi_line_logical_to_visual): Likewise.
112
ec0ebb3f
VS
1132013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
114
115 Remove vestiges of -Wunsafe-loop-optimisations.
116
117 * conf/Makefile.common (CFLAGS_GNULIB): Remove
118 -Wno-unsafe-loop-optimisations.
119 * grub-core/commands/legacycfg.c: Remove -Wunsafe-loop-optimisations
120 pragma.
121 * grub-core/io/gzio.c: Likewise.
122 * grub-core/script/parser.y: Likewise.
123 * grub-core/script/yylex.l: Likewise.
124 * util/grub-mkfont.c: Likewise.
125
6ab537e3
VS
1262013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
127
128 * util/grub-mkfont.c (process_cursive): Remove nested function.
129
e6c368d4
VS
1302013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
131
132 * include/grub/misc.h (grub_dprintf): Use unnamed vararg.
133 (grub_boot_time): Likewise.
134
4f1cfd22
VS
1352013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
136
137 * include/grub/symbol.h (FUNCTION): Use @function rather than
138 "function".
139 (VARIABLE): Likewise.
140
6d5a4cee
VS
1412013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
142
143 * grub-core/net/bootp.c (OFFSET_OF): Explicitly cast to grub_size_t.
144
f06c2172
VS
1452013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
146
147 * grub-core/net/bootp.c (set_env_limn_ro): Make pointer const.
148 (parse_dhcp_vendor): Likewise.
149
7cb24eb5
VS
1502013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
151
152 * util/grub-mkimagexx.c (relocate_symbols): Remove unneeded brackets.
153
f30c692c
VS
1542013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
155
156 * grub-core/gettext/gettext.c (main_context), (secondary_context):
157 Define after defining type and not before.
158
8b66bb5d
VS
1592013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
160
161 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Return right error
162 type.
163 (grub_gcm_decrypt): Likewise.
164 (algo_decrypt): Likewise.
165 (grub_zfs_decrypt_real): Transform error type.
166
5d17fd0f
VS
1672013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
168
169 * grub-core/disk/geli.c (geli_rekey): Fix error return type.
170
ac35a0f7
VS
1712013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
172
173 * grub-core/disk/usbms.c (grub_usbms_cbi_cmd): Fix error type.
174 (grub_usbms_cbi_reset): Likewise.
175 (grub_usbms_bo_reset): Likewise.
176 (grub_usbms_reset): Likewise.
177 (grub_usbms_attach): Likewise.
178 (grub_usbms_transfer_cbi): Likewise.
179
3ee08697
VS
1802013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
181
182 * grub-core/io/lzopio.c (test_header): Simplify code and remove useless
183 "checksum = checksum;".
184
70bb6c85
VS
1852013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
186
187 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix type of
188 entry_type.
189
c7f34744
VS
1902013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
191
192 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel): Fix
193 BIOS disk check.
194
3f63b4d8
VS
1952013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
196
197 * grub-core/bus/usb/ehci.c (grub_ehci_restore_hw): Return right enum
198 type.
199 (grub_ehci_fini_hw): Likewise.
200 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
201
dac6ce73
VS
2022013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
203
204 * include/grub/usb.h (grub_usb_controller_dev): Make portstatus
205 return grub_usb_err_t for cosistency. All users updated.
206
5701750c
VS
2072013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
208
209 * util/mkimage.c (SzAlloc): Use attribute unused rather than dubious
210 assigning to itself.
211
9e236169
GLD
2122013-11-05 Gustavo Luiz Duarte <gustavold@linux.vnet.ibm.com>
2132013-11-05 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
214
215 Issue separate DNS queries for ipv4 and ipv6
216
217 Adding multiple questions on a single DNS query is not supportted by
218 most DNS servers. This patch issues two separate DNS queries
219 sequentially for ipv4 and then for ipv6.
220
221 Fixes: https://savannah.gnu.org/bugs/?39710
222
223 * grub-core/net/bootp.c (parse_dhcp_vendor): Add DNS option.
224 * grub-core/net/dns.c (grub_dns_qtype_id): New enum.
225 * (grub_net_dns_lookup): Now using separated dns packages.
226 * (grub_cmd_nslookup): Add error condition.
227 * (grub_cmd_list_dns): Print DNS option.
228 * (grub_cmd_add_dns): Add four parameters: --only-ipv4, --only-ipv6,
229 --prefer-ipv4, and --prefer-ipv6.
230 * include/grub/net.h (grub_dns_option_t): New enum.
231 * (grub_net_network_level_address): option added.
232
339eacce
VT
2332013-11-05 Vladimir Testov <vladimir.testov@rosalab.ru>
234
235 * grub-core/video/fb/video_fb.c: Merge two blit functions
236 into one.
237
810f991b
VS
2382013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
239
240 * grub-core/term/terminfo.c: Add sequences for home and end.
241
386571a2
VS
2422013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
243
244 * grub-core/lib/legacy_parse.c: Fix handling of hercules and add
245 graphics console.
246
3fe63754
VS
2472013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
248
249 * grub-core/video/i386/pc/vga.c: Fix double bufferring and
250 add mode 0x12.
251
76681e71
VS
2522013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
253
254 * docs/grub.texi (Vendor power-on keys): Add XPS M1330M based on old
255 e-mail by Per Öberg.
256
46522fb7
VS
2572013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
258
259 * grub-core/commands/i386/nthibr.c (GRUB_MOD_INIT): Fix typo in command
260 name.
261
e7d09ac4
AB
2622013-11-04 Andrey Borzenkov <arvidjaar@gmail.com>
263
264 * configure.ac: Explicitly disable emusdl, emuusb and emupci on non-
265 emu platforms.
266 * grub-core/Makefile.core.def: Enable emupci and emuucb only for emu.
267
67508925
VS
2682013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
269
270 * docs/grub.texi: Document usage of menuentry id.
271
0c62124e
VS
2722013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
273
274 * docs/grub.texi: Add few mentions about EFI, debug and videoinfo.
275
9b5d4eed
PL
2762013-11-04 Peter Lustig <peter.lustig.7db@gmail.com>
277
278 * grub-core/commands/i386/nthibr.c: New command.
279
79054c1d
VS
2802013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
281
282 * grub-core/tests/video_checksum.c: Add 2560x1440 mode to testing.
283
44d47bbe
VS
2842013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
285
286 * include/grub/term.h (grub_term_coordinate): Extend to 16-bit per
287 coordinate.
288
323de05b
VS
2892013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
290
291 Support GRUB_DISABLE_SUBMENU config.
292
293 Inspired by patch from Prarit Bhargava.
294
5a01722e
VS
2952013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
296
297 * docs/grub.texi: Mention RSA support.
298
1106c3f0
VS
2992013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
300
301 * grub-core/commands/verify.c: Add RSA support.
302
a1dcc2cb
VS
3032013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
304
305 * grub-core/disk/ahci.c (grub_ahci_pciinit): Detect ATAPI devices.
306 * grub-core/disk/ata.c (grub_ata_identify): Use atapi_identify if
307 device is known to be ATAPI.
308
ee7fb780
MF
3092013-11-03 Mike Frysinger <vapier>
310
311 * configure.ac: Don't add target-prefix.
312
5ade4a42
VS
3132013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
314
315 * grub-core/commands/loadenv.c (grub_cmd_save_env): Remove unset
316 variables.
317
6cd66043
VS
3182013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
319
320 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Ignore errors
321 if language is English.
322
090d7c81
VS
3232013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
324
325 * grub-core/osdep/linux/getroot.c: Fix cast-align problems.
326
dd614590
VS
3272013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
328
329 * configure.ac: Don't add -m32/-m64 on emu.
330
a8686589 3312013-11-02 neil
332
333 * grub-core/osdep/linux/blocklist.c: Include linux/types.h for some
334 broken linux headers.
335
fb9f12a0
VS
3362013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
337
338 * util/grub.d/30_os-prober.in: Add unhiding of partition if on msdos.
339
e25f8e1f
VS
3402013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
341
342 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Don't do
343 Reed-Solomon recovery if more than half of redundancy info is 0.
344
4685200f
VS
3452013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
346
347 * util/grub-mount.c: Handle symlinks to directories.
348
1397f0b5
VS
3492013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
350
351 * grub-core/fs/fshelp.c (find_file): Save ctx->next when calling
352 find_file recursively for symlink.
353
8b3e6eb6
VS
3542013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
355
356 * tests/util/grub-shell.in: Copy themes.
357
a0c9d5c6
VS
3582013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
359
360 * util/grub-mkimagexx.c (locate_sections): Reject mislinked images.
361
5cf9459c
VS
3622013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
363
364 * configure.ac: Use 0x8000 for address instead of 8000.
365
e7b66a28
VS
3662013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
367
368 * grub-core/loader/sparc64/ieee1275/linux.c (get_physbase): Fix
369 signature.
370
203f53fb
VS
3712013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
372
373 * grub-core/disk/efi/efidisk.c (grub_efidisk_readwrite): Remove unused
374 variable.
375
02663ee9
VS
3762013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
377
378 * configure.ac (TARGET_CFLAGS): Add -march=i386 on i386.
379
f169f65e
VS
3802013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
381
382 * grub-core/fs/hfspluscomp.c (hfsplus_read_compressed_real): Call
383 file_progress_read_hook.
384 * grub-core/fs/ntfscomp.c (hfsplus_read_compressed_real): Likewise.
385
2855a0fc
VS
3862013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
387
388 * conf/Makefile.common (CFLAGS_PLATFORM): Remove poisoning of float
389 and double.
390
bf0f3a8c
VS
3912013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
392
393 * grub-core/fs/tar.c (grub_cpio_read): Add read_hook.
394
cb72aa18
VS
3952013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
396
397 Rewrite blocklist functions in order to get progress when
398 reading large extents and decrease amount of blocklist hook calls.
399
896f9135
VS
4002013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
401
402 * grub-core/term/serial.c (options), (grub_cmd_serial): Fix handling
403 of SI suffixes.
404
89295a06
VS
4052013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
406
407 Support --base-clock for serial command to handle weird cards with
408 non-standard base clock.
409
eb03ede0
VS
4102013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
411
412 * grub-core/fs/ext2.c (grub_ext2_read_symlink): Use memcpy rather
413 strncpy.
414 * grub-core/fs/jfs.c (grub_jfs_lookup_symlink): Likewise.
415 * grub-core/kern/misc.c (grub_strncpy): Move from here ...
416 * include/grub/misc.h (grub_strncpy): ... to here. Make inline.
417 * grub-core/net/net.c (grub_net_addr_to_str): Use COMPILE_TIME_ASSERT
418 + strcpy rather than strncpy.
419
8fbe5c7d
VS
4202013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
421
422 * grub-core/fs/zfs/zfs.c (nvpair_name): Use correct type for size.
423 (check_pool_label): Likewise. Fixes overflow.
424 (nvlist_find_value): Fix comparison.
425
e54b8f53
VS
4262013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
427
428 * include/grub/misc.h (grub_strcat): Removed. All users changed to
429 more appropriate functions.
430
fa9b3dca
VS
4312013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
432
433 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Avoid inefficient
434 realloc.
435
9a021c55
VS
4362013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
437
438 * util/grub-mkrescue.in: Do not use UUID search on EFI.
439
80e8b13a
VS
4402013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
441
442 * grub-core/kern/dl.c: Unify section-finding algorithm. Saves 30 bytes
443 on core size.
444
b61599ac
VS
4452013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
446
447 * grub-core/kern/mm.c (grub_realloc): Don't copy more data than we have.
448
a602dc54
VS
4492013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
450
451 * grub-core/io/gzio.c (huft_build): Use zalloc for safety.
452 (initialize_tables): reset tl and td to NULL after freeing.
453
93c12075
VS
4542013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
455
456 * grub-core/loader/multiboot_mbi2.c: Implement network tag.
457
1ca4b75e
VS
4582013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
459
460 * grub-core/loader/multiboot_mbi2.c: Add EFI memory map to the list
461 of supported tags.
462
329550c4
VS
4632013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
464
465 * grub-core/loader/multiboot_mbi2.c: Implement EFI memory map.
466
00bfa988
VS
4672013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
468
469 * grub-core/loader/multiboot.c: Add support for multiboot kernels
470 quirks.
471
81afc5cc
VS
4722013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
473
474 * grub-core/loader/i386/linux.c (allocate_pages): Allocate at least
475 a page in protected space.
476
cb3c4a47
VS
4772013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
478
479 * grub-core/loader/multiboot.c (grub_cmd_module): Don't attempt to
480 allocate space for zero-sized modules.
481
954f7bf5
VS
4822013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
483
484 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Reject empty images.
485
526d3d25
FL
4862013-10-28 Francesco Lavra <francescolavra.fl@gmail.com>
487
488 * grub-core/lib/fdt.c: Fix miscellaneous bugs.
489
74124c34
VS
4902013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
491
492 * grub-core/lib/progress.c (grub_file_progress_hook_real): Add missing
493 safeguards. Fixes a crash with i386/pc/console.c.
494
5177391e
VS
4952013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
496
497 * include/grub/emu/hostdisk.h: Add proper declaration for grub_host_init
498 and grub_hostfs_init.
499
64db14b0
VS
5002013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
501
502 * grub-core/kern/emu/hostdisk.c (grub_util_check_file_presence): Use
503 windows method on other platforms without good stat as well.
504
effe2036
VS
5052013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
506
507 * grub-core/osdep/linux/getroot.c: Add new btrfs defines.
508
82591fa6 5092013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
e11cb726 510
82591fa6
VS
511 Make / in btrfs refer to real root, not the default volume.
512 Modify mkrelpath to work even if device is mounted with subvolid option.
513
5142013-10-28 Andrey Borzenkov <arvidjaar@gmail.com>
515
516 * Makefile.util.def: Add grub-core/kern/disk_common.c to library
e11cb726
AB
517 extra_dist.
518 * grub-core/Makefile.core.def: Add kern/disk_common.c to disk module
519 extra_dist.
520
30fd7198
VS
5212013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
522
523 * util/grub-mkfont.c (main): Show error message when FT_Set_Pixel_Sizes
524 fails.
525
8d179dae
BC
5262013-10-27 BVK Chaitanya <bvk.groups@gmail.com>
527
528 * docs/autoiso.cfg: New file.
529
3bc9c8cf
VS
5302013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
531
532 * configure.ac: Remove leftover COND_BUILD_GRUB_MKFONT and
533 COND_GRUB_PE2ELF conditions.
534
8b46b0ea
VS
5352013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
536
537 * grub-core/loader/i386/bsd.c (grub_cmd_openbsd): Accept "sd", "cd",
538 "vnd", "rd" and "fd" disks.
539
442b86de
VS
5402013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
541
542 Move grub_disk_write out of kernel into disk.mod.
543
04dea7e6
VS
5442013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
545
546 * grub-core/kern/misc.c (grub_vsnprintf_real): Unify int and wchar
547 handling.
548
5492013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a8f15bce
VS
550
551 * grub-core/kern/misc.c (grub_abort): Make static
552
04dea7e6 5532013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a60dae7e
VS
554
555 * grub-core/kern/misc.c (grub_vsnprintf_real): Don't attempt to
556 transform invalid unicode codepoints.
557
04dea7e6 5582013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
891b713b
VS
559
560 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
561 \0 checking.
562
03dcac7f
VS
5632013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
564
565 * grub-core/lib/legacy_parse.c: Add support for "nd" disk.
566
c81acb7f
VS
5672013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
568
569 Consolidate cpuid code.
570
c1bee646
VS
5712013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
572
573 Move cpuid code to cpuid.h and TSC code to tsc.c.
574
f37bf9c7
GS
5752013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
576
577 * util/grub.d/00_header.in: Don't use LANG if it's not set.
578
4021132b
GS
5792013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
580
581 * util/grub-mkconfig.in: Replace $0 with $self.
582 * util/grub-reboot.in: Likewise.
583 * util/grub-set-default.in: Likewise.
584
3ace8d75
BC
5852013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
586
587 * docs/osdetect.cfg: New file.
588
1e6ad6a6
BC
5892013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
590
591 * tests/util/grub-shell.in: Add new --debug option.
592
188929eb
BC
5932013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
594
595 * tests/test_unset.in: New test.
596
7994a09a
BC
5972013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
598
599 * tests/test_sha512sum.in: New test.
600
2a8a7585
VS
6012013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
602
603 * grub-core/fs/iso9660.c: Replace strncat with memcpy.
604 * include/grub/misc.h: Remove strncat.
605 * grub-core/lib/posix_wrap/string.h: Likewise.
606
cf8d6bbd
VS
6072013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
608
609 * grub-core/net/tftp.c: Retransmit ack when rereceiving old packet.
610 Try to handle more than 0xFFFF packets.
611 Reported by: Bernhard Übelacker <bernhardu>.
612 He also spotted few overflows in first version of this patch.
613
6d1fc99a
VS
6142013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
615
616 * tests/date_unit_test.c: New test.
617
10bafa1c
VS
6182013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
619
620 * grub-core/normal/datetime.c (grub_unixtime2datetime): Fix mishandling
621 of first three years after start of validity of unixtime.
622
b1c6d037
VS
6232013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
624
625 * grub-core/normal/menu_entry.c (get_logical_num_lines): Use unsigned
626 division as the one making more sense.
627 (update_screen): Likewise.
628 (complete): Likewise.
629
5f4028d4
VS
6302013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
631
632 * grub-core/normal/menu_entry.c (complete): Make sure that width is >0.
633
a2856736
VS
6342013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
635
636 Make char and string width grub_size_t rather than grub_ssize_t.
637
0a7e52b2
VS
6382013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
639
640 * grub-core/normal/cmdline.c (grub_history_get): Make argument into
641 unsigned.
642 (grub_history_replace): Likewise.
643
42829573
VS
6442013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
645
646 * grub-core/disk/raid6_recover.c: Use unsigned arithmetics when
647 appropriate.
648
3523b8d8
VS
6492013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
650
651 * grub-core/video/bitmap_scale.c: Use unsigned arithmetics when
652 appropriate.
653
d43c6489
VS
6542013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
655
656 * grub-core/video/fb/fbblit.c: Use (255 ^ x) rather than (255 - x).
657 Use unsigned divisions rather than signed variants.
658
f690f8b0
VS
6592013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
660
661 * grub-core/video/readers/png.c (grub_png_convert_image): Use
662 unsigned arithmetics.
663 Add missing break.
664
74ff2c05
VS
6652013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
666
667 * grub-core/video/readers/jpeg.c: Use unsigned where appropriate.
668
fb56391e
VS
6692013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
670
671 * grub-core/fs/zfs/zfs.c (xor_out): Use unsigned modular arithmetics
672 rather than signed one.
673 (recovery): Likewise.
674
40f29060
VS
6752013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
676
677 * grub-core/net/dns.c (hash): Use unsigned arithmetic.
678
c64577a5
VS
6792013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
680
681 * grub-core/io/gzio.c (test_zlib_header): Use undigned modulo rather
682 than signed.
683
c16535a8
JM
6842013-10-25 Jon McCune <jonmccune@google.com>
685
686 * docs/grub.texi: Cleanup security documentation around signatures.
687
6673d8e7
VS
6882013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
689
690 * grub-core/fs/ext2.c (EXT2_BLOCK_SIZE): Make unsigned.
691
a105d375
VS
6922013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
693
694 * grub-core/commands/gptsync.c (lba_to_chs): Use proper types rather
695 than int.
696
af81ed88
VS
6972013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
698
699 * conf/Makefile.common (CPPFLAGS_KERNEL): Add -DGRUB_KERNEL=1.
700 * include/grub/dl.h (GRUB_MOD_INIT), (GRUB_MOD_FINI): Define
701 functions when compiling for kernel.
702
ea899a57
VS
7032013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
704
705 * grub-core/lib/progress.c (grub_file_progress_hook_real): Cast to
706 unsigned long long when using %llu.
707
c6dc6fa1
VS
7082013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
709
710 * grub-core/lib/progress.c (grub_file_progress_hook_real): Refresh
711 terminal after updating progress.
712
ad2dc003
VS
7132013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
714
715 * grub-core/boot/i386/pc/startup_raw.S (grub_gate_a20): Remove
716 argument. We don't disable Gate A20 in this code.
717
b46684ae
VS
7182013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
719
720 * grub-core/boot/i386/qemu/boot.S: Ensure that A20 is enabled.
721 Conceptually based on change in branch "vbe-on-coreboot".
722
f70d5c07
RM
7232013-10-24 Robert Millan <rmh@gnu.org>
724
725 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Replace
726 numeric constants with their symbolic equivalent.
727 Taken from branch "vbe-on-coreboot".
728
bca274b4
VS
7292013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
730
731 * docs/grub.texi: Fix ordering and use pxref rather than xref.
732
238f0489
VS
7332013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
734
735 * grub-core/lib/progress.c (grub_file_progress_hook_real): Use
736 divmod64 for offset division.
737
863c590b
PFS
7382013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
739
740 Rename .bzrignore to .gitignore. Add "*.o" rule.
741
742 * .bzrignore: Renamed to...
743 * .gitignore: ...this.
744
84a0e969
PFS
7452013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
746
747 Add new progress module that displays the load progress of files.
748
749 * grub-core/lib/progress.c: New file.
750 * grub-core/Makefile.core.def (progress): New module.
751 * grub-core/kern/file.c (grub_file_open): File name added.
752 * (grub_file_read): Progress hook added.
753 * grub-core/fs/cbfs.c (grub_cbfs_read): Likewise.
754 * grub-core/fs/cpio_common.c (grub_cpio_read): Likewise.
755 * grub-core/net/net.c (grub_net_fs_read_real): Likewise.
756 * include/grub/file.h (struct grub_file): Add progress module members.
757 * include/grub/term.h (struct grub_term_output): Likewise.
758 * grub-core/osdep/unix/emuconsole.c (grub_console_term_output):
759 Terminal velocity added.
760 * grub-core/osdep/windows/emuconsole.c (grub_console_term_output): Likewise.
761 * grub-core/term/arc/console.c (grub_console_term_output): Likewise.
762 * grub-core/term/efi/console.c (grub_console_term_output): Likewise.
763 * grub-core/term/gfxterm.c (grub_video_term): Likewise.
764 * grub-core/term/i386/coreboot/cbmemc.c (grub_cbmemc_term_output): Likewise.
765 * grub-core/term/i386/pc/console.c (grub_console_term_output): Likewise.
766 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_term): Likewise.
767 * grub-core/term/ieee1275/console.c (grub_console_term_output): Likewise.
768 * grub-core/term/morse.c (grub_audio_term_output): Likewise.
769 * grub-core/term/serial.c (grub_serial_term_output): Likewise.
770 * grub-core/term/spkmodem.c (grub_spkmodem_term_output): Likewise.
771 * grub-core/term/uboot/console.c (uboot_console_term_output): Likewise.
772
0d711431
VS
7732013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
774
775 Verify signatures of signatures unless --skip-sig is specified.
776
f8401f76
VS
7772013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
778
779 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
780 \0 checking.
781
782 Saves 70 bytes on compressed image.
783
ac1feb61
VS
7842013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
785
786 * grub-core/kern/misc.c (grub_strtoull): Remove needless *ptr != 0
787 check.
788
789 Saves 10 bytes on compressed image.
790
00f72e89
VS
7912013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
792
793 * grub-core/kern/misc.c (grub_isprint): Move to ...
794 * include/grub/misc.h (grub_isprint): ... here. Make inline.
795
796 Saves 20 bytes on compressed image due to remving exporting.
797
067e6ae7
VS
7982013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
799
800 * grub-core/fs/ntfs.c (grub_ntfs_mount): Remove redundant check.
801
802 Saves 5 bytes on compressed image.
803
64a6c791
VS
8042013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
805
806 * grub-core/fs/ntfs.c: Move common UTF-16 handling to a separate
807 function get_utf8.
808
809 Saves 379 bytes on compressed image.
810
979d9f52
VS
8112013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
812
813 * grub-core/fs/ntfs.c: Handle 48-bit MFT no.
814
1437da54
VS
8152013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
816
817 * grub-core/fs/ntfs.c (read_run_data): Rewrite using bitfields.
818
819 Saves 40 bytes on compressed image.
820
d9ee2269
VS
8212013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
822
823 * grub-core/fs/ntfs.c (grub_ntfs_iterate_dir): Use grub_uint8_t for
824 mask rather than 64-bit type.
825
826 Saves 20 bytes on compressed image.
827
63efa602
VS
8282013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
829
830 * grub-core/fs/ntfs.c (read_data): Move code for compressed data to ...
831 * grub-core/fs/ntfscomp.c (ntfscomp): ... here.
832
47601ffe
VS
833 Saves 273 bytes on compressed image.
834
2cc679ad
VS
8352013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
836
837 * grub-core/kern/disk.c (grub_disk_write): Use malloc/free instead of
838 variable length arrays.
839
840 Saves 50 bytes on compressed image.
841
2e4659b8
VS
8422013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
843
844 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
845
2a40badf
VS
8462013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
847
848 * grub-core/fs/ufs.c: Remove variable length arrays.
849
1ba6b9b9
VS
8502013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
851
852 * grub-core/fs/ntfs.c: Add comment about fixed allocation size.
853
f3e39341
VS
8542013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
855
856 * grub-core/fs/zfs.c: Remove variable length arrays.
857 Reduces zfs.mod by 160 bytes (208 compressed).
858
71523935
VS
8592013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
860
861 * grub-core/fs/zfs/zfs.c (check_pool_label): Fix memory leak.
862
28153eb8
VS
8632013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
864
865 * grub-core/net/arp.c: Remove variable length arrays.
866 * grub-core/net/bootp.c: Likewise.
867 * grub-core/net/dns.c: Likewise.
868 * grub-core/net/icmp6.c: Likewise.
869 * grub-core/net/net.c: Likewise.
870
88ce4cd7
VS
8712013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
872
873 * grub-core/fs/ntfs.c: Remove variable length arrays.
874 Increases ntfs.mod by 64 bytes (but decreases by 3 when
875 compressed).
876
66123940
VS
8772013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
878
879 * grub-core/fs/hfs.c: Remove variable length arrays.
880 Reduces hfs.mod by 8 bytes (52 compressed).
881
0927e5bd
VS
8822013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
883
884 * grub-core/fs/udf.c: Remove variable length arrays.
88ce4cd7 885 Increases udf.mod by 128 bytes (but decreases by 13 when
0927e5bd
VS
886 compressed).
887
9c12ac97
VS
8882013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
889
890 * grub-core/fs/iso9660.c: Remove variable length arrays.
88ce4cd7 891 Increases iso9660.mod by 200 bytes (but decreases by 79 when
9c12ac97
VS
892 compressed).
893
97ec2d71
VS
8942013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
895
896 * grub-core/fs/nilfs2.c: Remove variable length arrays.
88ce4cd7 897 Increases nilfs2.mod by 24 bytes (but decreases by 115 when
97ec2d71
VS
898 compressed).
899
156e4ea0
VS
9002013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
901
902 * grub-core/fs/xfs.c: Remove variable length arrays.
903 Reduces xfs.mod by 40 bytes (43 compressed).
904
3b502c29
VS
9052013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
906
907 * grub-core/fs/fshelp.c: Remove variable length arrays.
908 Reduces fshelp.mod by 116 bytes (23 compressed).
909
c7037f1d
VS
9102013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
911
912 * grub-core/normal/completion.c: Remove variable length arrays.
913 * grub-core/normal/menu_entry.c: Likewise.
914
915 Reduces normal.mod by 496 bytes.
916
a07e6ad0
VS
9172013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
918
919 * grub-core/fs/minix.c: Remove variable length arrays. Reduces jfs.mod
920 by 356 bytes (158 compressed).
921
2359bf88
VS
9222013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
923
924 * grub-core/fs/jfs.c: Remove variable length arrays. Reduces jfs.mod
925 by 364 bytes (169 compressed).
926
d28e1163
VS
9272013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
928
929 * grub-core/fs/bfs.c: Remove variable length arrays. Reduces afs.mod and
930 bfs.mod size by 556 resp 740 bytes (288 resp 334 compressed).
931 * include/grub/types.h (grub_unaligned_uint64_t): New type.
932
e89c2d48
VS
9332013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
934
935 Lift 255x255 erminal sie restriction to 65535x65535. Also change from
936 bitmasks to small structures of size chosen to fit in registers.
937
7abdac8e
VS
9382013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
939
940 * conf/Makefile.common: Use -freg-struct-return on i386. This
941 decreases code size and improves performance.
942
518864c0
VS
9432013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
944
945 * grub-core/osdep/unix/exec.c: Fix compilation error on emu.
946
bbd2b539
VS
9472013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
948
949 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix formatting of
950 "(null)" string.
951 Simplify expressions to save around 256 bytes in kernel.img.
952 * tests/printf_unit_test.c (printf_test): Add "(null)" tests.
953
99519c15
VS
9542013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
955
956 * grub-core/tests/video_checksum.c (grub_video_capture_write_bmp):
957 Use GRUB_UTIL_FD_O_* rather than O_*.
958
20285765
VS
9592013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
960
961 Add haiku-specific functions.
962
887c0bb6
VS
9632013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
964
965 * grub-core/kern/emu/hostdisk.c: Remove few leftover includes.
966
cd78a56f
VS
9672013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
968
969 Move stat () and device mode checking into OS-dependent files as
970 long as performance doesn't suffer.
971
a4012f07
VS
9722013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
973
974 Split make_system_path_relative_to_its_root into separate file
975 relpath.c from getroot.c as it's common between unix and haiku
976 but otherwise haiku doesn't use any functions from unix getroot.c.
977
31de274d
VS
9782013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
979
980 * grub-core/osdep/aros/hostdisk.c (grub_util_is_directory):
981 New function.
982 (grub_util_is_special_file): Likewise.
983
40346de6
VS
9842013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
985
986 * grub-core/osdep/unix/getroot.c: Move exec functions to ...
987 * osdep/unix/exec.c: ... here. Add few additional exec_* variants.
988
d3923ab9
VS
9892013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
990
991 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Define size_t to
992 grub_size_t. This fixes the case when size_t mismatches grub_size_t.
993
663f6eb1
VS
9942013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
995
996 * util/grub-mkimagexx.c (make_reloc_section): Fix memory leak.
997 (load_image): Likewise.
998
44d1c20a
VS
9992013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1000
1001 * util/grub-render-label.c: Move backend part to ...
1002 * util/render-label.c: ... here.
1003
d0a116ee
VS
10042013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1005
1006 * grub-core/osdep/random.c: Use unix/random.c on haiku. Haiku uses
1007 yarrow (by B. Schneier et al) for its /dev/urandom (similar to FreeBSD).
1008
b47fcae6
VS
10092013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1010
1011 * grub-core/osdep/generic/blocklist.c: Add missing include to string.h.
1012
0f7c00c1
VS
10132013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1014
1015 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Handle
1016 CD-ROM in case when it's declared as having subpartitions.
1017
29013cba
VS
10182013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1019
1020 Don't add -lm on haiku.
1021
1022 * configure.ac: Define BUILD_LIBM to -lm on most platforms
1023 and empty on haiku.
1024 * grub-core/Makefile.am (gentrigtables): Use $(BUILD_LIBM) rather than
1025 -lm.
1026
e8559d24
VS
10272013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1028
1029 * configure.ac: Use -melf_*_haiku as target on haiku.
1030
8104063c
VS
10312013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1032
1033 * Makefile.util.def: Add util/setup.c to extra_dist.
1034
fc3182c7
VS
10352013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1036
1037 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Pass
1038 unknown types through.
1039
f90a3cc0
VS
10402013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1041
1042 * grub-core/osdep/unix/getroot.c (grub_util_check_block_device): Remove.
1043 (grub_util_check_char_device): Likewise.
1044 * include/grub/emu/getroot.h: Likewise.
1045
1e3e7419
VS
10462013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1047
1048 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Use define for defining
1049 memset rather than inline static function.
1050
92c88fc8
VS
10512013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1052
1053 * grub-core/lib/xzembed/xz_config.h: Enable all bcj filters when
1054 not doing embedded decompressor.
1055
3cd910a2
VS
10562013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1057
1058 * grub-core/disk/ldm.c: Rename variables and arguments to prevent
1059 shadowing.
1060 * grub-core/kern/disk.c: Likewise.
1061 * grub-core/kern/misc.c: Likewise.
1062 * include/grub/parser.h: Likewise.
1063 * include/grub/script_sh.h: Likewise.
1064 * include/grub/zfs/zfs.h: Likewise.
1065
7b3aca00
VS
10662013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1067
1068 * grub-core/disk/luks.c (configure_ciphers): Fix spurious warning.
1069
97dfe7e4
VS
10702013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1071
1072 * grub-core/fs/zfs/zfs_lz4.c: Check that __INTEL_COMPILER is
1073 defined before trying to use it.
1074
bf919aa9
VS
10752013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1076
1077 * grub-core/fs/affs.c (grub_affs_create_node): Fix uninited value
1078 warning.
1079
f4ccf29d
VS
10802013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1081
1082 * include/grub/dl.h: Remove double declaration of GRUB_MOD_DEP.
1083 Use __unused__ rather than __used__ on gcc < 3.2.
1084
0d3a6f85
VS
10852013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1086
1087 * include/grub/setjmp.h: Define RETURNS_TWICE. Keep it empty for
1088 gcc < 4.0.
1089 * include/grub/*/setjmp.h: USe RETURNS_TWICE.
1090
757e3eb7
VS
10912013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1092
1093 * grub-core/disk/dmraid_nvidia.c: Fix potentially uninited "layout".
1094
fb320faf
VS
10952013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1096
1097 * include/grub/misc.h: Don't use warn_unused_result on gcc < 3.4.
1098 * include/grub/emu/misc.h: Likewise.
1099
ea73acd2
VS
11002013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1101
1102 * grub-core/term/i386/pc/vga_text.c: Remove extra declaration of
1103 cur_color.
1104
71237a6f
VT
11052013-10-18 Vladimir Testov <vladimir.testov@rosalab.ru>
1106
1107 * grub-core/tests/checksums.h: Regenerated due to progress bar
1108 get_minimal_size changes.
1109
3d46c22f
BC
11102013-10-17 BVK Chaitanya <bvk.groups@gmail.com>
1111
1112 Added `tr' command support.
1113
1114 * grub-core/commands/tr.c: New file.
1115 * grub-core/Makefile.core.def: Build rules for new module.
1116
1117 * tests/grub_cmd_tr.in: New test.
1118 * Makefile.util.def: Build rules for new test.
1119
47e0a61f
VT
11202013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
1121
1122 * grub-core/gfxmenu/gui_progress_bar.c: Sanity checks added.
1123
946fd073
VT
11242013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
1125
1126 * grub-core/gfxmenu/gui_progress_bar.c: New option ``highlight_overlay``
1127 * docs/gurb.texi: Likewise.
1128
9c13c576
VT
11292013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
1130
1131 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Fixed bug.
1132 Pixmap highlighted section with east and west slices was displayed
1133 incorrectly due to negative width of the central slice.
1134
ad543f12
VT
11352013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
1136
1137 * docs/grub.texi: Graphical options information update.
1138 Removed outdated. Updated current. Inserted missed.
1139
6176a0cd
VS
11402013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
1141
1142 * docs/grub.texi: Mention few new platform-specific commands.
1143
9688cae2
VS
11442013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
1145
1146 * grub-core/script/yylex.l: Fix LSQBR2 and RSQBR2. It's not
1147 currently used so this doesn't really have any effect.
1148 Reported by: Douglas Ray <dougray>
1149
f7b69a3f
VS
11502013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
1151
1152 * autogen.sh: Don't set LC_CTYPE as it doesn't create problem for
1153 compilation but prevents gcc from displaying messages in non-Latin
1154 alphabets.
1155 * conf/Makefile.common: Likewise.
1156
ceca6ddf
HY
11572013-10-16 Hiroyuki YAMAMORI
1158
1159 Handle Japanese special keys.
1160 Reported by: Hiroyuki YAMAMORI.
1161 Codes supplied by: Hiroyuki YAMAMORI.
1162
ac48d334
VT
11632013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
1164
1165 * grub-core/gfxmenu/gui_list.c: Scrollbar sanity checks added.
1166
b2b71bff
VT
11672013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
1168
1169 * grub-core/gfxmenu/gui_list.c: New option `item_pixmap_style`.
1170 * docs/grub.texi: Likewise.
1171
669fc449
VS
11722013-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1173
1174 * grub-core/osdep/unix/hostdisk.c (grub_util_fd_read): Return correct
1175 value in case of incomplete read.
1176 (grub_util_fd_write): Likewise.
1177
59381678
VS
11782013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1179
1180 * util/editenv.c (grub_util_create_envblk_file): Use grub_util_rename.
1181
bacfefbb
VS
11822013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1183
1184 * util/grub-editenv.c (create_envblk_file): More from here ...
1185 * util/editenv.c (grub_util_create_envblk_file): ... to here.
1186
f7c49570
VS
11872013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1188
1189 * grub-core/osdep/unix/getroot.c (grub_guess_root_devices):
1190 canonicalize file name before doing the rest.
1191
7b83ca44
VS
11922013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1193
1194 * include/grub/osdep/hostfile_windows.h: Add missing ftello for
1195 mingw32.
1196
df1e64c9
VS
11972013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1198
1199 Define grub_util_is_directory/regular/special_file and
1200 use OS-dependent versions rather than to rely on stat().
1201
ec16e026
VS
12022013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1203
1204 * util/grub-mkimage.c: Move backend part to ...
1205 * util/mkimage.c: ... here.
1206
4b4eeb3c
VS
12072013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1208
1209 Allow compilation with mingw64 albeit with warnings due to lack of
1210 %llx/%llu.
1211
1212 * grub-core/gnulib/msvc-inval.c: Use __cdecl rather than cdecl.
1213 * grub-core/lib/posix_wrap/wchar.h: Define wint_t.
1214 * grub-core/lib/posix_wrap/wctype.h: Define wctype_t.
1215 * include/grub/osdep/hostfile_windows.h: Don't define fseeko/ftello
1216 on mingw64.
1217 * include/grub/types.h: Allow sizeof (long) != sizeof (void *).
1218
f4e0adc0
VS
12192013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1220
1221 Remove leftover references to some of the system headers.
1222
e0127364
VS
12232013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1224
1225 * grub-core/disk/geli.c (grub_util_get_geli_uuid): Close handle after
1226 read.
1227
20d53541
VS
12282013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1229
1230 * grub-core/disk/cryptodisk.c: Use grub_util_fd_strerror instead
1231 of strerror.
1232
5a869940
VS
12332013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1234
1235 Split out blocklist retrieving from setup.c to
1236 grub-core/osdep/blocklist.c and add windows implementation since
1237 generic version doesn't work on NTFS on Windows due to aggressive
1238 unflushable cache.
1239
c06c7520
VS
12402013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1241
1242 Split grub-setup.c into frontend (grub-setup.c) and backend (setup.c)
1243 files.
1244
8f53bb3f
VS
12452013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1246
1247 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror):
1248 Cut tailing newline. Remove arbitrary limitation. Always use
1249 grub_util_tchar_to_utf8.
1250
148f1007
VS
12512013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1252
1253 * grub-core/kern/misc.c (grub_vsnprintf_real): Handle %% properly.
1254 * tests/printf_unit_test.c (printf_test): Add %% tests.
1255 Reported by: Paulo Flabiano Smorigo.
1256
af3b06be
VS
12572013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1258
1259 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: Really
1260 implement fsync.
1261
27f9d02e
VS
12622013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1263
1264 * configure.ac: Check for nvlist_lookup_string in nvpair since we
1265 use nvlist_lookup_string and don't use nvlist_print.
1266
f6a81f0a
VS
12672013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1268
1269 Add wrappers around rename, unlink, mkdir, opendir, readdir and
1270 closedir to handle filename charset translation.
1271
d7750b32
VS
12722013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1273
1274 * include/grub/emu/hostdisk.h: Move file operations to
1275 * include/grub/emu/hostfile.h: ... here.
1276
2859196e
VS
12772013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1278
1279 * grub-core/osdep/windows/hostdisk.c (canonicalize_file_name): Handle
1280 unicode path.
1281
c018c968
VS
12822013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1283
1284 * grub-core/tests/checksums.h: Regenerate due to swiss.sed change.
1285
7e45abce
VS
12862013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1287
1288 Move cpu time retrieval to separate grub_util_get_cpu_time_ms
1289 and remove export.h.
1290
23934da2
VS
12912013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1292
1293 * grub-core/kern/emu/error.c: Removed.
1294 * grub-core/Makefile.core.def (kernel): Don't add error.c and progname.c
1295 explicitly as it's already in libgnu.a.
1296
c11ebcc8
VS
12972013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1298
1299 * grub-core/osdep/windows/emuconsole.c: Add missing config.h and
1300 config-util.h include.
1301
70671037
VS
13022013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1303
1304 Split emunet into platform-dependent and GRUB-binding parts. Keep
1305 platform-dependent part in kernel for easy access to OS functions.
1306
25ac643a
VS
13072013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1308
1309 * grub-core/tests/video_checksum.c: Use grub_util_fd_* rather than
1310 open/read/write.
1311
69ca5876
VS
13122013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1313
1314 * grub-core/osdep/windows/emuconsole.c: New file.
1315
d9d68ef0
AB
13162013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
1317
1318 * conf/Makefile.extra-dist: Add osdep/*/init.c
1319
58e211cc
VS
13202013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1321
1322 * Makefile.am: Use TARGET_OBJCOPY when doing objcopy for target.
1323
588744d0
VS
13242013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1325
1326 * util/grub-probe.c (probe): Separate different drives in hint-str
1327 by spaces and not newlines.
1328 * util/grub-mkconfig_lib.in: Handle multidevice filesystem.
1329
44016e52
AB
13302013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
1331
1332 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
1333 Handle CD-ROMs.
1334
6de9ee86
VS
13352013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1336
1337 Pass-through unknown E820 types. It required reorganisation of mmap
1338 module.
1339
f8f3f155
AB
13402013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
1341
1342 * Makefile.util.def: Add osdep/init.c to grub-mount files.
1343
b73249d2
VS
13442013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1345
1346 Make grub_util_fd_seek match behaviour of other grub_util_fd_* and
1347 fseeko.
1348
dac86b18 13492013-10-14 qwertial <qwertial>
1350
1351 * grub-core/gdb_grub.in: Fix overflow and wrong field.
1352
17614b84
JM
13532013-10-14 Jon McCune <jonmccune@google.com>
1354
1355 * docs/grub.texi: Document new signatures possibility.
1356
6de292cb
VS
13572013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1358
1359 Define GRUB_UTIL_FD_O_* and always use them with grub_util_fd_open.
1360
84379b61
VS
13612013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1362
1363 * include/grub/osdep/hostfile_windows.h (grub_util_utf8_to_tchar): Add
1364 missing prototype.
1365 (grub_util_tchar_to_utf8): Likewise.
1366
21d85db1
VS
13672013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1368
1369 * grub-core/Makefile.core.def: Add osdep/init.c on emu.
1370 * grub-core/kern/emu/main.c: Add missing include.
1371 * grub-core/osdep/basic/init.c (grub_util_host_init) [!GRUB_UTIL]:
1372 Don't call grub_util_init_nls.
1373 * grub-core/osdep/windows/init.c (grub_util_host_init) [!GRUB_UTIL]:
1374 Likewise.
1375
66a1b3ee
VS
13762013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
1377
1378 * util/misc.c (grub_util_get_image_size): Use FILE functions rather than
1379 stat.
1380
e19bec17
VS
13812013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
1382
1383 * util/grub-editenv.c: Remove leftover set_program_name and init_nls.
1384
ee8c1b29
VS
13852013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
1386
1387 * include/grub/misc.h: Use gnu_printf only on gcc 4.4 or later.
1388
bb338aaf
VS
13892013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
1390
1391 Add a wrapper for fopen. On unix-like systems just pass-through. On
1392 windows use unicode version.
1393
ae5540d3
VS
13942013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
1395
1396 Move set_program_name and init_nls to host_init. On windows
1397 fix in this fuction console and argument charset as well.
1398
4cd3c4fe
AB
13992013-10-12 Andrey Borzenkov <arvidjaar@gmail.com>
1400
1401 Fix inconsistent use of GRUB_CRYPTODISK_ENABLE and
1402 GRUB_ENABLE_CRYPTODISK.
1403
1404 * util/grub-install.in: Rename all GRUB_CRYPTODISK_ENABLE to
1405 GRUB_ENABLE_CRYPTODISK.
1406 * util/grub-mkconfig_lib.in: Likewise.
1407
78170f3e
CCZ
14082013-10-12 Christian Cier-Zniewski <c.cier@gmx.de>
1409
1410 * docs/grub.texi (Vendor power-on keys): Add Dell Latitude E4300.
1411
3414b6c0
MC
14122013-10-12 Melki Christian <Christian.melki@saabgroup.com>
1413
1414 * grub-core/term/at_keyboard.c [DEBUG_AT_KEYBOARD]: Fix compilation
1415 error when enabling debug.
1416
6d0740e8
IB
14172013-10-12 Ilya Bakulin <Ilya_Bakulin@genua.de>
1418
1419 * configure.ac: Use -melf_*_obsd on openbsd.
1420
ff2d4dc4
VS
14212013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
1422
1423 * grub-core/kern/arm/dl_helper.c: Use more proper %p for pointer.
1424
eac6ae82
VS
14252013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
1426
1427 * include/grub/misc.h: Use gnu_printf rather than printf as format
1428 template since our functions are independent of libc.
1429
ba9baabe
VS
14302013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
1431
1432 * util/grub-setup.c (setup): Move copying of partition table as
1433 futher up as possible to avoid possible overwrite by floppy routines.
1434
14352013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
60d4f0bb
VS
1436
1437 * grub-core/fs/fat.c: Fix handling of exfat contiguous files.
1438
145e2369
VT
14392013-10-10 Vladimir Testov <vladimir.testov@rosalab.ru>
1440
1441 * grub-core/gfxmenu/gui_list.c: New option `scrollbar_thumb_overlay`.
1442 * docs/grub.texi: Likewise.
1443
3530bc9d
VS
14442013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
1445
1446 * util/getroot.c (make_device_name): Remove dos_part and bsd_part as
1447 it's mostly unused. Move vestiges to the callers.
1448
fb9f59c3
VS
14492013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
1450
1451 * util/grub-mkpasswd-pbkdf2.c: Remove temporary buffers for hex
1452 version of salt and hash. Use grub_snprintf rather than snprintf.
1453
9be1c255
VS
14542013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
1455
1456 * docs/grub.texi: Fix problem with braces.
1457
ed8c0887
VS
14582013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
1459
1460 * conf/Makefile.extra-dist: Fix extra-dist list.
1461 * grub-core/Makefile.core.def: Likewise.
1462
f72ab14e
VS
14632013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
1464
1465 * docs/grub.texi: Document disk names used on Windows and AROS.
1466
2fe53a22
VS
14672013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
1468
1469 * grub-core/osdep/aros/getroot.c: Change to //: prefix as discussed
1470 with AROS devs.
1471 * grub-core/osdep/aros/hostdisk.c: Likewise.
1472
71c1d67a
VS
14732013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
1474
1475 Avoid including hostfile.h when not necessarry as it pulls
1476 in OS-specific headers which may redefine generic names
1477 like "far".
1478
ad297ec7
VT
14792013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
1480
1481 * grub-core/gfxmenu/gui_list.c: New options for scrollbar padding:
1482 scrollbar_left_pad, scrollbar_right_pad, scrollbar_top_pad,
1483 scrollbar_bottom_pad
1484 * docs/grub.texi: Likewise.
1485
6e9e5dc9
VT
14862013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
1487
1488 * grub-core/gfxmenu/gui_list.c (list_destroy): Fixed memory leak.
1489
761c718b
VS
14902013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
1491
1492 Move OS-dependent file definitions to include/grub/osdep/hostfile*.h.
1493
37149a2f
VS
14942013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
1495
1496 * include/grub/emu/hostdisk.h (grub_hostdisk_linux_find_partition):
1497 Removed.
1498 * grub-core/osdep/linux/hostdisk.c (grub_hostdisk_linux_find_partition):
1499 Made static.
1500
3837a151
VS
15012013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
1502
1503 * include/grub/emu/getroot.h (grub_util_find_hurd_root_device): Remove
1504 leftover.
1505
caca1c70
VS
15062013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
1507
1508 Move OS-specific driver configuration to grub_util_fd_open. This
1509 moves OS-dependent parts from kern/emu/hostdisk.c to
1510 grub-core/osdep/*/hostdisk.c.
1511
f7676b70
VS
15122013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
1513
1514 * util/grub-mkimage.c (generate_image): Use size_t instead of
1515 grub_size_t.
1516 * util/grub-mkimagexx.c (locate_sections): Likewise.
1517 (load_image): Likewise.
1518
22f98db2
VS
15192013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
1520
1521 * util/misc.c (grub_util_write_image_at): Don't use PRIxGRUB_SIZE for
1522 size_t.
1523 (grub_util_write_image): Likewise.
1524
b102ce69
VS
15252013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1526
1527 * grub-core/osdep/basic/random.c: New file. Abort on an attempt to
1528 get random when no RNG is available.
1529 * grub-core/osdep/random.c: Use basic/random.c on OS out of whitelist.
1530
acbbe5cb
VS
15312013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1532
1533 * include/grub/util/lvm.h: Removed.
1534
2112fb3f
VS
15352013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1536
1537 * grub-core/kern/emu/misc.c (fsync) [__MINGW32__]: Move to ...
1538 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: ... here.
1539
79f78fbf
VS
15402013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1541
1542 * grub-core/osdep/windows/sleep.c: Add missing config.h.
1543
c2e6f705
VS
15442013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1545
1546 * grub-core/kern/emu/misc.c (grub_get_rtc): Remove (it's a leftover).
1547
aabe433a
VS
15482013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1549
1550 * grub-core/net/drivers/emu/emunet.c: Move to ..
1551 * grub-core/osdep/linux/emunet.c: ..here.
1552
9a2c903f
VS
15532013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1554
1555 * util/ieee1275/ofpath.c: Move to ...
1556 * grub-core/osdep/linux/ofpath.c: ..here, split stub into ...
1557 * grub-core/osdep/basic/ofpath.c: ..here.
1558
4a445f58
VS
15592013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1560
1561 Move password-querying (util-version) routines to grub-core/osdep.
1562
c1ca4244
VS
15632013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1564
1565 Move sleep routines to grub-core/osdep.
1566
672fa55e
VS
15672013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1568
1569 Move OS-dependent files to grub-core/osdep and document it.
1570
a5b0365a
VS
15712013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1572
1573 * grub-core/kern/emu/misc.c (canonicalize_file_name): Move to ...
1574 * grub-core/kern/emu/hostdisk_*.c (canonicalize_file_name): ... here.
1575
29072e99
VS
15762013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1577
1578 * grub-core/kern/arm/misc.S: Remove leftover ARM and THUMB.
1579
f8772ea7
VS
15802013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1581
1582 * util/misc.c: Remove leftover inclusion of malloc.h.
1583
a1a315e7
VS
15842013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1585
1586 * include/grub/setjmp.h: Remove leftover GRUBOF.
1587
cef86fef
VS
15882013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1589
1590 * util/raid.c: Fold into ...
1591 * util/getroot_linux.c: ... here. Make all functions static.
1592
c4cf25ee
VS
15932013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1594
1595 * grub-core/fs/zfs/zfs_lz4.c: Switch from ad-hoc endiannes and width
1596 macros to GRUB ones.
1597
53a5f5c2
VT
15982013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
1599
1600 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Fixed rare
1601 occasional bug. If there are too many boot entries or too low
1602 scrollbar height then we need to use another formula to calculate
1603 the position and size of the scrollbar thumb.
1604
de300af2
VS
16052013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1606
c4cf25ee 1607 * util/random_unix.c: Add NetBSD, Solaris and Mac OS X to verified list.
de300af2 1608
c5827364
VT
16092013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
1610
1611 * grub-core/gfxmenu/gui_list.c: New option `scrollbar-slice`.
1612 * docs/grub.texi: Likewise.
1613
dd2ed8b0
VT
16142013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
1615
1616 * grub-core/gfxmenu/gui_list.c: Draw the scrollbar in a separate
1617 viewport.
1618
7286c384
VT
16192013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
1620
ffdfc1f3
VT
1621 * grub-core/gfxmenu/gui_list.c (list_get_minimal_size): Corrected
1622 minimal width calculations.
7286c384 1623
ea547e14
VS
16242013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
1625
1626 * docs/grub.texi: Update note on colors on emu console.
1627
b726be76
VS
16282013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
1629
1630 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Give GRUB_ERR_BAD_FS
1631 for quadruple indirect rather than GRUB_ERR_NOT_IMPLEMENTED_YET as
1632 it's FS and not GRUB limitation.
1633
a5f6ade6
VS
16342013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
1635
1636 * grub-core/kern/arm/efi/startup.S: Remove thumb leftover.
1637
3b0f3aa2
VS
16382013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
1639
1640 * grub-core/kern/arm/efi/init.c: Rewrite timer fucntion.
1641
1db38304
ST
16422013-10-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
1643
1644 * util/grub.d/10_hurd.in: Use `version_find_latest` to sort gnumach
1645 kernels by version order.
1646
fb295fc0
VS
16472013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
1648
1649 * util/random_unix.c: Add kFreeBSD to the list of secure RNG.
1650
47345010
VS
16512013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
1652
1653 Add AROS hostdisk and getroot routines.
1654
bf25f879
VS
16552013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
1656
1657 Make cryptodisk and diskfilter probe data retrievable programmatically
1658 and not just printable.
1659
24ca4512
VS
16602013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
1661
1662 Split random retrieving code into separate files.
1663
c7c177f0
VS
16642013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1665
1666 * grub-core/kern/arm/dl.c (do_relocations): Accept and ignore
1667 R_ARM_V4BX.
1668
d71b45ae
VS
16692013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1670
1671 * grub-core/tests/video_checksum.c: Increase robustness to out of memory
1672 condition.
1673 * grub-core/tests/fake_input.c: Likewise.
1674 * grub-core/tests/cmdline_cat_test.c: Likewise.
1675
e44b9a83
VS
16762013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1677
1678 * grub-core/video/capture.c: Do not do finalization when .fini
1679 is called as there is explicit capture_end.
1680
4fa60739
VS
16812013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1682
1683 * grub-core/term/gfxterm.c: Add flag "functional" to skip input when
1684 changing windows to avoid crash.
1685
17c8bc37
VS
16862013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1687
1688 * grub-core/kern/arm/cache.c: Add v5 write-through cache support.
1689
9d4d7977
VS
16902013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1691
1692 * po/exclude.pot: Add several strings to exclude.
1693
0caa407c
VS
16942013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1695
1696 * tests/gettext_strings_test.in: Add getroot_*.c to exclude list.
1697
9ae393da
VS
16982013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1699
1700 * autogen.sh: Add ./util/grub-gen-widthspec.c and
1701 ./util/grub-gen-asciih.c to exclude list.
1702
498d5033
VS
17032013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1704
1705 * grub-core/gfxmenu/theme_loader.c (theme_set_string): Fix memory leak
1706 and don't mark error strings for translation.
1707
7d93298f
VS
17082013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1709
1710 * grub-core/disk/uboot/ubootdisk.c (uboot_disk_open): Use grub_error
1711 properly in case of missing block size.
1712
b2cae20c
VS
17132013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1714
1715 * grub-core/lib/arm/setjmp.S: Add missing license section.
1716
3896d6b4
VS
17172013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1718
1719 * po/swiss.sed: Add replacement for key names and for term computer.
1720
ebc1da55
VT
17212013-10-02 Vladimir Testov <vladimir.testov@rosalab.ru>
1722
1723 * grub-core/gfxmenu/theme_loader.c: New global options for the
1724 theme background image handling. desktop-image-scale-method,
1725 desktop-image-h-align, desktop-image-v-align.
1726 * grub-core/gfxmenu/view.c: Likewise.
1727 * include/gfxmenu_view.h: Likewise.
1728 * include/bitmap_scale.h: Proportional scale functions introduced.
1729 * grub-core/video/bitmap_scale.c: Likewise. Verification checks are
1730 put in a separate functions. GRUB_ERR_BUG is set for grub_error in
1731 cases of unexpected input variables for scale functions.
1732 * docs/grub.texi: Updated documentation for new options.
1733
c5739143
VS
17342013-10-02 Vladimir Serbinenko <phcoder@gmail.com>
1735
1736 * grub-core/video/readers/png.c: Support narrow (4-/2-/1-bpp) PNG.
1737
be74aeb3
VT
17382013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
1739
1740 * grub-core/tests/checksums.h: Corrected due to changes in
1741 bilinear interpolation function.
1742
d999ac72
VT
17432013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
1744
1745 * grub-core/video/bitmap_scale.c (scale_bilinear): Increased precision
1746 to eliminate artefacts in bilinear interpolation.
1747
2b131610
VS
17482013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
1749
1750 * grub-core/video/readers/tga.c: Support paletted tga.
1751
de6e5ff8
VS
17522013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
1753
1754 * grub-core/video/readers/jpeg.c (grub_jpeg_decode_data): Remove
1755 incorrect cbcr setting when in color mode.
1756
fa31ee9c
VS
17572013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
1758
1759 * grub-core/video/readers/png.c: Support paletted images and clean up
1760 greyscale support.
1761
e84f8188
VS
17622013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
1763
1764 * grub-core/term/terminfo.c (grub_terminfo_readkey): Fix
1765 usage of wrong table which resulted in mishandling of 4-byte
1766 sequences.
1767
17682013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2237daf2
VS
1769
1770 * grub-core/term/terminfo.c: Add Home and End key sequences.
1771
d72bff09
VS
17722013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
1773
1774 * grub-core/video/readers/png.c (grub_png_decode_image_header):
1775 Fix formula for computing total number of bytes.
1776
29648c5d
VS
17772013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
1778
1779 * grub-core/video/readers/tga.c: Reorganize to separate RLE and
1780 image processing, fix big-endian and support grayscale.
1781
4a876492
VS
17822013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
1783
1784 * grub-core/video/fb/video_fb.c (grub_video_fb_create_render_target):
1785 Correctly will with maximum transparency when using index color.
1786
3ccf16df
VS
17872013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
1788
1789 * grub-core/video/readers/png.c: Support grayscale
1790
17912013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
e9c492a0
VS
1792
1793 * grub-core/video/readers/jpeg.c: Support grayscale.
1794
3ccf16df 17952013-09-26 Jon McCune <jonmccune@google.com>
0340bdbc
JM
1796
1797 * grub-core/commands/loadenv.c: Support skipping signature check
1798 and variable names filtering.
1799
30b7f58f
VS
18002013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1801
1802 * grub-core/kern/emu/hostdisk_unix.c: Declare AROS as non-unix.
1803 * grub-core/kern/emu/hostfs.c: Likewise.
1804 * util/getroot_unix.c: Likewise.
1805
bab7b1eb
VS
18062013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1807
1808 * include/grub/emu/hostdisk.h (GRUB_FD_STAT_IS_FUNTIONAL): New define.
1809 Migrate all explicit defines to this new one.
1810
43b1c99d
VS
18112013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1812
1813 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Use
1814 grub_util_fd_strerror when using grub_util_fd_*.
1815 (grub_util_fd_open_device): Likewise.
1816 (grub_util_biosdisk_read): Likewise.
1817 (grub_util_biosdisk_write): Likewise.
1818 * grub-core/kern/emu/hostdisk_unix.c (grub_util_fd_open): New function.
1819 (grub_util_fd_strerror): Likewise.
1820 (grub_util_fd_sync): Likewise.
1821 (grub_util_fd_close): Likewise.
1822 * grub-core/kern/emu/hostdisk_windows.c (grub_util_fd_sync): Likewise.
1823 (grub_util_fd_close): Likewise.
1824 (grub_util_fd_strerror): Likewise.
1825 * include/grub/emu/hostdisk.h (grub_util_fd_close): Make into real
1826 function proto rather than macro.
1827 (grub_util_fd_sync): Likewise.
1828 (grub_util_fd_open): Likewise.
1829 (grub_util_fd_strerror): New proto.
1830
e8fd80bc
VS
18312013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1832
1833 * util/getroot.c (grub_util_biosdisk_is_present): Don't do stat on
1834 platforms on which it doesn't work.
1835
bf645fda
VS
18362013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1837
1838 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Move struct
1839 stat immediately to where it's used.
1840
5177ba14
VS
18412013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1842
1843 * util/getroot.c (grub_util_check_block_device): Move to ...
1844 * util/getroot_unix.c (grub_util_check_block_device): ... here.
1845 * util/getroot.c (grub_util_check_char_device): Move to ...
1846 * util/getroot_unix.c (grub_util_check_char_device): ... here.
1847
9db826e1
VS
18482013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1849
1850 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_close): Fix
1851 disk closing logic.
1852
49120085
AB
18532013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
1854
1855 * docs/grub.texi (Simple configuration): Document GRUB_ENABLE_CRYPTODISK.
1856
b3328b68
AB
18572013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
1858
1859 * docs/grub.texi (File name syntax): Document ZFS filenames
1860 (/volume@snapshot/...).
1861
3fff48ab
VS
18622013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1863
1864 * grub-core/kern/emu/hostdisk_windows.c (grub_util_get_windows_path):
1865 Always return full path. Fixes a problem with mkrelpath.
1866
39cfdaa9
PFS
18672013-09-23 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1868
1869 * util/grub-install.in: Add GPT PReP support.
1870 * util/grub-probe.c (probe): Support GPT partition type.
1871 (main): Support -t gpt_parttype.
1872
7c680e1f 18732013-09-23 Aleš Nesrsta <starous@volny.cz>
1874
1875 * grub-core/bus/usb/ehci.c: SMI disabled in all cases
1876
890bdabe
MM
18772013-09-23 Massimo Maggi <me@massimo-maggi.eu>
1878
1879 * grub-core/fs/zfs/zfs.c (check_pool_label): Check nvlist.
1880
9c262ff9
TH
18812013-09-23 Tim Hardeck <thardeck>
1882
1883 * util/grub.d/10_hurd.in: Filter out character for the class.
1884 * util/grub.d/10_kfreebsd.in: Likewise.
1885 * util/grub.d/10_linux.in: Likewise.
1886 * util/grub.d/20_linux_xen.in: Likewise.
1887
d755342a
MC
18882013-09-23 Melki Christian <Christian.melki@saabgroup.com>
1889
1890 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Fix the type of
1891 "changed".
1892
68b77707
JT
18932013-09-23 Josh Triplett <josh@joshtriplett.org>
1894
1895 * grub-core/boot/i386/pc/lnxboot.S: Re-add support for recording the
1896 boot partition.
1897
efa68bfa
VS
18982013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1899
1900 * Makefile.util.def (libgrubmods.a): Remove CFLAGS_POSIX as this lib
1901 doesn't use posix_wrap. Keep literal -fno-builtin however.
1902
d9104204
VS
19032013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1904
1905 * conf/Makefile.common (CPPFLAGS_LIBFDT): Remove leftover.
1906
c248781a 19072013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
19082013-09-23 neil
1909
5830df88 1910 * configure.ac: Do not enable -Wmissing-noreturn as its
1911 usefulness is limited and creates problems on some OS notably with
1912 code generated by bison.
1913
19142013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
19152013-09-23 neil
1916
1917 * configure.ac: Do not explicitly enable -Waddress as it's not
c248781a 1918 supported by all gcc and when it is, it's already enabled by -Wall.
1919
621bed69
VS
19202013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1921
1922 * grub-core/video/efi_gop.c (grub_video_gop_setup): Fix a typo which
1923 desactivated use of EDID at all.
1924
71764dc8 19252013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
19262013-09-23 neil
1927
1928 * grub-core/loader/multiboot.c (grub_multiboot_set_console): Always use
1929 video if no text is available.
1930
affce7d4 19312013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025
VS
19322013-09-23 neil
1933
1934 * configure.ac: Substitute TARGET_RANLIB.
1935
19362013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
19372013-09-23 neil
affce7d4
VS
1938
1939 * grub-core/genmod.sh.in: Remove ./ from TARGET_OBJ2ELF. Add quotes.
1940
1941 Based on patches from AROS.
1942
0e8daad0 19432013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025 19442013-09-23 neil
0e8daad0
VS
1945
1946 * grub-core/Makefile.am: Override STRIP and RANLIB.
1947 * configure.ac: compute TARGET_RANLIB.
1948 * INSTALL: Document TARGET_RANLIB
1949
1950 Based on patches from AROS.
1951
3f7d9c82
VS
19522013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1953
1954 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume
1955 that floppies are unpartitioned.
1956
bca8873a
VS
19572013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1958
1959 * util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:
1960 Define dummy grub_util_pull_lvm_by_command to decrease number of #if's.
1961
19622013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1963
1964 * grub-core/lib/posix_wrap/sys/types.h: Use OpenBSD approach: it's
1965 less nice but more portable.
1966 * grub-core/lib/posix_wrap/wchar.h: Likewise.
1967
a47a78be
VS
19682013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1969
1970 * include/grub/cryptodisk.h (grub_cryptodisk): Use grub_util_fd_t
1971 for cheat_fd.
1972 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Use grub_util_*
1973 functions.
1974 (grub_cryptodisk_cheat_insert): Likewise.
1975 (grub_cryptodisk_close): Likewise.
1976
e85a5d5c
VS
19772013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1978
1979 * include/grub/emu/misc.h: Remove leftover cygwin definitions.
1980 Use windows path for DEFAULT_DIRECTORY.
1981
dad9fa6b
VS
19822013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1983
1984 * include/grub/i386/setjmp.h: Remove useless #if MINGW where original
1985 difference was likely just gcc version, not anything mingw-related.
1986
7e518ca8
VS
19872013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1988
1989 Use Winapi on both cygwin and mingw32 to share more code between both.
1990
d68d0157
AB
19912013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
1992
1993 * util/grub-install.in: Add --grub-editenv option.
1994 * util/grub-install_header (grub_compress_file): Explicitly check for
1995 plain file to avoid cp error.
1996
775b284d
AB
19972013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
1998
1999 * docs/grub.texi (Device syntax): Document new LVM UUID based device
2000 names; fix LVM driver name (lvm, not lv).
2001 * util/grub-probe.c (probe_abstraction): Support lvmid/xxx device
2002 names.
2003
3ff4063d
VS
20042013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
2005
2006 * grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific
2007 files rather than one file with loads of #if's.
2008 * util/getroot.c: Likewise.
2009
287faafe
VS
20102013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
2011
2012 * grub-core/lib/posix_wrap/sys/types.h: Use stddef on *BSD.
2013
d1983764
VS
20142013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
2015
2016 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Add windows and
2017 GNU/Hurd to the list of checked PRNG.
2018
15ce95c4
VS
20192013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
2020
2021 * configure.ac: On FreeBSD use -melf_*_fbsd format.
2022
207862dd 20232013-09-21 Ales Nesrsta <starous@volny.cz>
2024
7c680e1f 2025 * grub-core/bus/usb/ehci.c: Corrected EHCI QH handling (async./sync.)
207862dd 2026
63653cfd
VS
20272013-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2028
2029 * grub-core/disk/diskfilter.c: Handle non-md UUIDs.
2030 * grub-core/disk/lvm.c: Add LVM UUIDs.
2031 * util/getroot.c: Use LVM UUIDs whenever possible.
2032
f5d3e7ef
AB
20332013-09-19 Andrey Borzenkov <arvidjaar@gmail.com>
2034
2035 * docs/grub.texi (Networking commands): Add documentation for
2036 network related commands.
2037
53c6b7d6
VS
20382013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
2039
2040 * util/getroot.c (grub_util_open_dm): Check major rather than the name
2041 to determine if device is handled by devmapper.
2042 (convert_system_partition_to_system_disk): Likewise.
2043 (get_dm_uuid): Don't check explicitly if device is mapped, it's
2044 already done in grub_util_open_dm.
2045
e70d6736
LL
20462013-09-19 Leif Lindholm <leif.lindholm@linaro.org>
2047
2048 * kern/arm/cache.S: Correct access to ilinesz/dlinesz variables.
2049 Clean up stack manipulation (sync_caches_armv*)
2050
90379808
VS
20512013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
2052
2053 * util/lvm.c: Remove since unused. Remove remaining references.
2054
386701a8
VS
20552013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
2056
2057 Handle the case of partitioned LVM properly.
2058
2059 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
2060 Stop on meeting LVM, mpath or DMRAID.
2061 (grub_hostdisk_os_dev_to_grub_drive): Canonicalize os device.
2062 (read_device_map): Likewise.
2063 * util/getroot.c (convert_system_partition_to_system_disk): Assume that
2064 device is full disk rather than erroring out on LVM and similar cases.
2065
53070787
VS
20662013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
2067
2068 * util/grub-mkconfig_lib.in: Keep supplied pkgdatadir if any.
2069
1bc783bd
VS
20702013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
2071
2072 * grub-core/kern/mm.c (grub_mm_init_region): Skip regions less than
2073 4K before the end.
2074 Reported by: Leif Lindholm
2075
436ad5c3
PW
20762013-09-18 Pawel Wojtalczyk <eyak@wp.pl>
20772013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
2078
2079 * grub-core/term/efi/console.c (grub_console_getkey): Accept VT100-style
2080 codes.
2081
607319c9
CW
20822013-09-18 Colin Watson <cjwatson@ubuntu.com>
2083
2084 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name_iter):
2085 Remove no-longer-true __attribute__ ((unused)) on disk parameter.
2086
d404d154
DR
20872013-09-18 Douglas Ray <dougray@cpan.org>
2088
2089 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Declare OpenBSD PRNG
2090 as secure.
2091
28851ef6
AN
20922013-09-18 Aleš Nesrsta <starous@volny.cz>
2093
2094 * docs/grub.texi: Fix broken link.
2095
897c3bc6
MC
20962013-09-18 Melki Christian <Christian.melki@saabgroup.com>
2097
2098 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Add condition
2099 to break endless loop.
2100
f1630459
VS
21012013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
2102
2103 * util/grub-fstest.c: Fix several printf formats.
2104 * util/grub-mkimage.c: Likewise.
2105 * util/grub-mkimagexx.c: Likewise.
2106 * util/grub-script-check.c: Likewise.
2107
64463dfd
VS
21082013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
2109
2110 * grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
2111 error.
2112
48972495
VS
21132013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
2114
2115 * config.h.in [GRUB_BUILD]: Explicitly undefine ENABLE_NLS.
2116
5dd5e64b
VS
21172013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
2118
2119 * util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan
2120 removed in current versions cygwin_conv_*.
2121
1c1f31e5
VS
21222013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
2123
2124 * configure.ac: Disable efiemu runtime on cygwin.
2125
c546a259
VS
21262013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
2127
2128 * conf/Makefile.extra-dist: Add missing util/grub-gen-asciih.c,
2129 util/grub-gen-widthspec.c and util/grub-pe2elf.c.
2130
81690478
VS
21312013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2132
2133 * util/grub-mkpasswd-pbkdf2.c (grub_password_get): Remove extraneous
2134 error message.
2135
6b87c10a
VS
21362013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2137
2138 * grub-core/lib/crypto.c (grub_password_get) [GRUB_UTIL]: Add
2139 windows variant.
2140 * util/grub-mkpasswd-pbkdf2.c: Add windows flavour for retrieving random
2141 data.
2142
8f0baaac
VS
21432013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2144
2145 * configure.ac: Add -Wl,-melf_i386 and -Wl,-melf_x86_64 systematically
2146 when on x86 and not cygwin.
2147 * conf/Makefile.common: Remove unsystematic -Wl,-melf_i386 and
2148 -Wl,-melf_x86_64.
2149
b224c266
VS
21502013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2151
2152 * configure.ac: Set CPP to build one when checkoing for freetype for
2153 build.
2154
506b336b
VS
21552013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2156
2157 * util/grub-mkfont.c [!GRUB_BUILD]: Define my_argp_state.
2158 [!GRUB_BUILD]: Remove has_argument.
2159
8c8c87b7
VS
21602013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2161
2162 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath) [_WIN32]:
2163 Replace with a dummy.
2164
7dc5ca13
VS
21652013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2166
2167 * configure.ac: Don't change host_os from mingw to cygwin.
2168
c3302aa5
VS
21692013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2170
2171 * configure.ac: Change target_os from windows to cygwin.
2172
7b780018
VS
21732013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2174
2175 Handle grub-pe2elf and grub-mkfont for cases when build != host.
2176
2177 * Makefile.am (build-grub-mkfont): Don't include gnulib.
2178 (build-grub-gen-asciih): Likewise.
2179 (build-grub-gen-widthspec): Likewise.
2180 * Makefile.util.def (grub-pe2elf): Remove.
2181 * config.h.in [GRUB_BUILD]: Use build rather than host constants.
2182 * configure.ac: Separate tests for build.
2183 Move ./build-grub-pe2elf to grub-core.
2184 Fix typo.
2185 * grub-core/Makefile.am (build-grub-pe2elf): New target.
2186 * grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
2187 defined.
2188 * include/grub/types.h [GRUB_BUILD]: Use build rather than host
2189 constants.
2190 * util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
2191 * util/grub-pe2elf.c: Simplify not to rely on getopt.
2192 * util/misc.c (program_name) [GRUB_BUILD]: Define to static string.
2193
984cfd8a
VS
21942013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2195
2196 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
2197 mingw32 as well based on grub_util_get_disk_size.
2198 * util/misc.c (grub_util_get_disk_size): Removed. all users switched to
2199 grub_util_get_fd_size.
2200 (sync): Removed.
2201 (fsync): Moved to ...
2202 * grub-core/kern/emu/misc.c (fsync): ... here.
2203
f82d79c9
VS
22042013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2205
2206 * include/grub/mm.h (grub_extend_alloc): Remove.
2207 * grub-core/loader/i386/pc/plan9.c: Use own version of
2208 grub_extend_alloc with appropriate types.
2209
fd7dd66d
VS
22102013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2211
2212 * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.
2213
43ffba7c
VS
22142013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2215
2216 * util/getroot.c: Include sys/wait.h only when we need waitpid.
2217
3c7eac44
VS
22182013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2219
2220 Fix dependencies on cygwin.
2221
2222 * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
2223 dependencies when used and defined.
2224 * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.
2225
bdb5ba47
VS
22262013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2227
2228 * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
2229 * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
2230
ed7fbf43
VS
22312013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2232
2233 * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
2234 implementation available to cause compile-time rather than runtime
2235 error.
2236
fc46e9fc
VS
22372013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2238
2239 * util/grub-fstest.c: Don't check for symlinks on windows.
2240
7f68269a
VS
22412013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2242
2243 * INSTALL: Mention unavailability of man pages when cross-compiling.
2244
8ed358e0
VS
22452013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2246
2247 * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
2248 and gcry_log_bug.
2249 * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
2250
fc97214f
VS
22512013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
2252
2253 * INSTALL: Document cross-compilation.
2254 * acinclude.m4: Determine whether nm support -P and --defined-only.
2255 * configure.ac: Add TARGET_ to all variables pertaining to target
2256 that don't have it yet.
2257 * gentpl.py: Likewise.
2258 * grub-core/Makefile.am: Likewise.
2259 * grub-core/genmod.sh.in: Likewise.
2260 * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
2261 as well.
2262
ca1fb563
IB
22632013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
2264
2265 * configure.ac: Remove -Wempty-body. It's not essential and needs
2266 recent gcc.
2267
0031b229
IB
22682013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
2269
2270 * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
2271 * util/getroot.c: Likewise.
2272
54ea2f44
VS
22732013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
2274
2275 * grub-core/disk/ahci.c: Add needed explicit cast.
2276 * grub-core/lib/backtrace.c: Likewise.
2277 * grub-core/net/ip.c: Likewise.
2278 * grub-core/net/tcp.c: Likewise.
2279 * grub-core/net/udp.c: Likewise.
2280
3c601f8c
VS
22812013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
2282
2283 * grub-core/lib/posix_wrap/wchar.h: Fix typo.
2284
1d679dda
VS
22852013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
2286
2287 * util/import_gcry.py: Add final newline in visibility.h.
2288
00c28dd9
VS
22892013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
2290
2291 * conf/Makefile.common: Fix typo.
2292
32af299a
VS
22932013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
2294
2295 * Makefile.util.def (grub-mkfont): Add missing libgnu.a.
2296
e733cf52
VS
22972013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
2298
2299 * Makefile.am (widthspec.h): Fix typo.
2300 * util/grub-gen-widthspec.c: Likewise.
2301
c6b066f2
VS
23022013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
2303
2304 Move ascii.h and widthspec.h generation to a separate build-time-only
2305 tool.
2306
ad1fe3f9 23072013-08-16 Grégoire Sutre <gregoire.sutre@gmail.com>
2308
2309 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
2310 Always fill bootdisk info and improve check for NetBSD disklabel.
2311
92a52dd4
VS
23122013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
2313
2314 * conf/Makefile.extra-dist: Add util/bin2h.c.
2315 Reported by: floppym.
2316
b2e9d276
VS
23172013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
2318
2319 * configure.ac: Make unifont mandatory for powerpc-ieee1275.
2320
7b966834
VS
23212013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
2322
2323 * configure.ac: Disable unifont and starfield if no freetype was found.
2324
d5c1eef1
VS
23252013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
2326
2327 * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
2328 on NetBSD and OpenBSD.
2329
66345b50 23302013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
03dafa17
VT
2331
2332 * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.
2333
66345b50 23342013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
224a55bb
VT
2335
2336 * grub-core/gfxmenu/gui_list.c: The number of color mappings is
2337 reduced. Inheritant options are processed during the theme loading.
2338
66345b50 23392013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
58ec39c6
VT
2340
2341 * grub-core/gfxmenu/gui_list.c: Minimal width fixed.
2342
369508b3
AS
23432013-08-14 Avik Sil <aviksil@in.ibm.com>
2344
2345 * grub-core/net/tftp.c: Send tftp ack packet before closing the socket.
2346
23472013-08-14 Avik Sil <aviksil@in.ibm.com>
412ce916
AS
2348
2349 * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
2350 using qemu.
2351
6f27a3f6
PFS
23522013-08-14 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2353
2354 * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
2355 remove-potcdate.sed.
2356
c6ed362a
AB
23572013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
2358
2359 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
2360 unused attribute from pull argument.
2361
5e7d9464
AB
23622013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
2363
2364 * util/getroot.c (grub_util_is_imsm): Fix descriptor and
2365 memory leak.
2366
dea55e2a
AB
23672013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
2368
2369 * util/getroot.c (pull_lvm_by_command): add --separator option
2370 to vgs call to disable padding of output to 10 characters.
2371
f0b94ded
VS
23722013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
2373
2374 * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
2375 here ...
2376 * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
2377 here.
2378
b828fb5d
VS
23792013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
2380
2381 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
2382 length.
2383
7c9d0c39
VS
23842013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
2385
2386 Fix handling of build-time grub-bin2h and grub-mkfont when doing
2387 full Canadian cross. Tested with build=x86_64, host=arm,
2388 target=ppc-ieee1275.
2389
816719c8
VS
23902013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
2391
2392 * configure.ac: Error if no $BUILD_CC could be found.
2393 Reported by: DevHC.
2394
2af2353b
VS
23952013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
2396
2397 * grub-core/kern/i386/coreboot/init.c: Fix compilation on
2398 i386-multiboot.
2399
797abd0a
VS
24002013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
2401
2402 * grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
2403 * grub-core/kern/mips/qemu_mips/init.c: Likewise.
2404
36e87d25
CW
24052013-08-13 Colin Watson <cjwatson@ubuntu.com>
2406
2407 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
2408 grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
2409 falling back to the partition device, otherwise a later call to this
2410 function may fail spuriously.
2411 Reported by Axel Beckert. Fixes Debian bug #708614.
2412
273349fe
GS
24132013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
2414
2415 * autogen.sh: Replace find -not by the POSIX-compliant find !.
2416
418f86c6
GS
24172013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
2418
2419 Prevent shadowing of stdlib's devname(3) on BSD.
2420
2421 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
2422 and devlast to diskname and disklast, respectively.
2423
c137aea0
CW
24242013-08-11 Colin Watson <cjwatson@ubuntu.com>
2425
2426 * util/grub-mkconfig.in: Fix detection of Emacs autosave files.
2427
272dc8df 24282013-08-08 Vladimir Testov <vladimir.testov@rosalab.ru>
b4743461
VT
2429
2430 * docs/grub.texi: Introduce terminal window position options:
2431 terminal-left: terminal window's left position
2432 terminal-top: terminal window's top position
2433 terminal-width: terminal window's width
2434 terminal-height: terminal window's height
2435 terminal-border: terminal window's border width
2436 * grub-core/gfxmenu/theme-loader.c: Likewise.
2437 * include/grub/gfxmenu_view.h: Likewise.
2438 * po/exlude.pot: Likewise.
2439 * grub-core/gfxmenu/view.c: Likewise.
2440 Also updated minimal window size.
2441 Also terminal_sanity_check function has been introduced.
272dc8df
VT
2442 * grub-core/tests/checksums.h: Update (terminal window height
2443 is adjusted now for low resolution screen)
b4743461 2444
748a4533
VS
24452013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
2446
2447 * grub-core/tests/checksums.h: Update (1-pixel difference in marker
2448 position).
2449
fca5f944
VS
24502013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
2451
2452 * po/exclude.pot: Add few recent exceptions.
2453
4f47d809
VS
24542013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
2455
2456 * tests/grub_func_test.in: Add unicode.pf2.
2457
a62ae90c
VS
24582013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
2459
2460 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
2461 standard rather than noral color, in line with other terminals.
2462
4ed41392
VS
24632013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
2464
2465 * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
2466 analysis.
2467
3719fbc5
VS
24682013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
2469
2470 * grub-core/loader/arm/linux.c: Change printf to dprintf.
2471
459b1d91
VS
24722013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
2473
2474 * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
2475 inappropriate printf.
2476
f4e1ab9d
AB
24772013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
2478
2479 * .bzrignore: Remove grub-core/lib/dtc-grub,
2480 grub-core/Makefile.libfdt.def
2481 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
2482
fa471bfa
VS
24832013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
2484
2485 * include/grub/video.h (grub_video_register): Keep double-linked as
2486 well as single-linked invariants.
2487 Reported by: qwertial.
2488
d65be02b
VS
24892013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
2490
2491 * grub-core/commands/nativedisk.c (get_uuid): Handle
2492 GRUB_DISK_DEVICE_UBOOTDISK_ID.
2493
ba8bc620
VT
24942013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
2495
2496 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
2497 maximum of NW, N, NE heights instead of N's height and maximum of
2498 NW, W, SW widths instead of W's width. (So the box will be always
2499 correctly drawn)
2500
4f0ad029
GS
25012013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
2502
2503 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
2504 Fix misuse of variable count.
2505
43d53b72
LL
25062013-07-18 Leif Lindholm <leif.lindholm@arm.com>
25072013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
25082013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
5bac5d9a 2509
43d53b72
LL
2510 New ports to arm-uboot and arm-efi.
2511 Mostly by Leif Lindholm with some additions from
2512 Francesco Lavra and cleanup by Vladimir Serbinenko.
141430a2 2513
88f8d146
VS
25142013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
2515
2516 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
2517 and not before.
2518 Reported by: Leon Drugi.
2519
3f42504c
VS
25202013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
2521
2522 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
2523 Reported by: Paulo Flabiano Smorigo.
2524
d110499b
VT
25252013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
2526
2527 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
2528
a8674ad3
VT
25292013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
2530
2531 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
2532
286fe4b3
VS
25332013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
2534
2535 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
2536
1bd57aa3
VS
25372013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
2538
2539 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
2540
7a87d69f
AB
25412013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
2542
2543 * grub-core/net/bootp.c: Export net_* variables.
2544 * grub-core/net/net.c: Likewise.
2545
b2182299
VS
25462013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
2547
2548 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
2549
795b3dc0
VS
25502013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
2551
2552 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
2553
68714c43
VS
25542013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
2555
2556 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
2557
af211bab
VS
25582013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
2559
2560 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
2561
0036f02d
MM
25622013-07-14 Massimo Maggi <me@massimo-maggi.eu>
2563
2564 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
2565 <= 0.
2566
6d0ddff3
MM
25672013-07-14 Massimo Maggi <me@massimo-maggi.eu>
2568
2569 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
2570 functions.
2571
038016f4
MM
25722013-07-14 Massimo Maggi <me@massimo-maggi.eu>
2573
2574 * grub-core/fs/zfs/zfs_lz4.c: New file.
2575 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
2576
776bdce2
MM
25772013-07-14 Massimo Maggi <me@massimo-maggi.eu>
2578
2579 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
2580
c71dbd40
MM
25812013-07-14 Massimo Maggi <me@massimo-maggi.eu>
2582
2583 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
2584 (check_pool_label): Likewise.
2585 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
2586
25872013-07-14 Massimo Maggi <me@massimo-maggi.eu>
53618046
MM
2588
2589 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
2590
8e67b50f
AB
25912013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
2592
2593 * docs/grub.texi (Commands): Document postition parameters
2594 for menuentry command.
2595
f5ae3717
AB
25962013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
2597
2598 * util/grub-mknetdir.in: Remove stray line from help output.
2599
9c28da2a
VS
26002013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
2601
2602 Remove early sm712 init as there is no reason for it (the "watchdog"
2603 effect was due to wrong GPIO map).
2604
139072b8
VS
26052013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
2606
2607 * grub-core/commands/pcidump.c: Remove static variables.
2608
c6a61bda
VS
26092013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
2610
2611 * grub-core/commands/sleep.c: Refresh screen before sleeping.
2612
51369614
VS
26132013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
2614
2615 * configure.ac: Move delimiter after the infos.
2616
efa8640a
VS
26172013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
2618
2619 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
2620
6f80a7b2
VS
26212013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
2622
2623 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
2624 not filling whole 8x16 space.
2625
a2371e19
VS
26262013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
2627
2628 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
2629
64fce2d8
VS
26302013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
2631
2632 * configure.ac: Indicate which liblzma is used if any.
2633
eb272d84
PW
26342013-06-21 Paul Wise <pabs3@bonedaddy.net>
26352013-06-21 Craig Sanders <savannah@taz.net.au>
2636
2637 * util/grub-reboot.in: Document submenu usage.
2638
a9e5abee
CW
26392013-06-25 Colin Watson <cjwatson@ubuntu.com>
2640
2641 * .bzrignore: Update with a number of new test-related files.
2642
e639c204
CW
26432013-06-25 Colin Watson <cjwatson@ubuntu.com>
2644
2645 * util/grub-script-check.c: Fail on scripts containing no
2646 commands, to guard against corrupted grub-mkconfig setups that
2647 produce no useful output.
2648 * tests/grub_script_no_commands.in: New test.
2649 * Makefile.util.def (grub_script_no_commands): Add.
2650 Reported by Hans Putter. Fixes Debian bug #713886.
2651
a4c89b17
AB
26522013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
2653
2654 * grub-core/disk/diskfilter.c: Forgot to remove comment
2655 from previous commit.
2656
5b06b53c
AB
26572013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
2658
2659 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
2660 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
2661
702da5c9
AB
26622013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
2663
2664 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
2665
aa62a5b7
AB
26662013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
2667
2668 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
2669 rescan diskfilter devices until nothing new is found.
2670
4aa237c8
VS
26712013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
2672
2673 Fix casts when compiling coreboot-specific code for 64-bit EFI.
2674
93d8479b
VS
26752013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
2676
2677 Don't try to detect cbfs on *-emu.
2678
837222cc
VS
26792013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
2680
2681 * grub-core/term/gfxterm.c: USe right background color when scrolling.
2682
99c971af
VS
26832013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
2684
2685 Add support for processed coreboot payload chainloading.
2686
e6930a45
VS
26872013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
2688
2689 Enable coreboot information commands even when not loaded as
2690 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
2691
5027af38
VS
26922013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
2693
2694 Support for cbfs. Also factor out the part which is common
2695 for all archives to a separate module. This splits tar from cpio
2696 as they are very different but keeps cpio, cpio_be, odc and newc
2697 together since they're very similar.
2698
a5b55c4b
DM
26992013-06-15 David Michael <fedora.dm0@gmail.com>
2700
2701 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
2702 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
2703
0301a8b3
VS
27042013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
2705
2706 * tests/grub_script_eval.in: Really add the eval test.
2707
3d84cb17
VS
27082013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
2709
2710 Move flavour-specific parts out of common cpio.c file and
2711 rename remaining to cpio_common.c
2712
593e430c
AB
27132013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
2714
2715 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
2716 off new function grub_script_execute_new_scope. Change callers to use
2717 either of them as appropriate.
2718 * grub-core/commands/eval.c: New command eval.
2719 * docs/grub.texi (Commands): Document it.
2720
63c29849
AB
27212013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
2722
2723 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
2724 to fetch values when listing.
2725
cc284112
AB
27262013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
2727
2728 Fix make dist on non-pc.
2729
27302013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
b8578da6
FL
2731
2732 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
2733 without a device name.
2734
69544d1e
VS
27352013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2736
2737 Remove enable_executable_check as it's not needed anymore.
2738 Reported by: dougray.
2739
96dbe648
VS
27402013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2741
2742 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
2743 ambigouos RAID before discovering RAIDs on top of it.
2744 Reported by: bodom.
2745
ccfc0bdb
VS
27462013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2747
2748 Fix typo (failback vs fallback).
2749
f2587088
AB
27502013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
2751
2752 * util/grub.d/30_os-prober.in: Add support for probing EFI
2753 System Partition (as of os-prober 1.58).
2754
cec5cf0c
VS
27552013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
2756
2757 * configure.ac: Add yet another path to unifont. For parabola.
2758
e40b4596
JT
27592013-05-30 Josh Triplett <josh@joshtriplett.org>
2760
2761 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
2762 handling to copy the killed characters to the kill buffer as
2763 UCS4 stored as grub_uint32_t rather than as 8-bit characters
2764 stored as char. Eliminates UCS4 truncation and corruption
2765 observed when killing characters with Ctrl-u and yanking them
2766 back with Ctrl-y.
2767
fc4c4fdd
VS
27682013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2769
2770 Detach optional parts of gfxterm and integrate in with coreboot init.
2771
6570b205
VS
27722013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2773
2774 Move blit and fill dispatcher to appropriate files to decrease export
2775 and relocation overhead.
2776
b8323067
VS
27772013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2778
2779 * grub-core/font/font.c, include/grub/font.h: Inline simple font
2780 functions.
2781
3cc1878f
VS
27822013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2783
2784 * grub-core/Makefile.am: Fix compilation problem with some
2785 automake versions.
2786
4b80e43c
VS
27872013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2788
2789 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
2790
57e0c20c
VS
27912013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2792
2793 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
2794 automake versions.
2795
4fd42c53
VS
27962013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2797
2798 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
2799 SSDT.
2800
1e908b34
RS
28012013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
2802
2803 * grub-core/partmap/dfly.c: New partition map.
2804
1359e474
VS
28052013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
2806
2807 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
2808 checking.
2809 Reported by: Francesco Lavra.
2810
17806392
AB
28112013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
2812
2813 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
2814 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
2815 false conditions.
2816 * conf/Makefile.common: define dist_grubconf_DATA
2817
cdce14fa
VS
28182013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2819
2820 Progressively skip menu elements on small terminals rather
2821 than crashing.
2822
c8d6cc3c
VS
28232013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2824
2825 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
2826 to avoid losing last column.
2827
a73b31ce
VS
28282013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2829
2830 * po/exclude.pot: Add missing string "%C".
2831
1202c764
VS
28322013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2833
2834 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
2835 after the test.
2836
50268344
VS
28372013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
2838
2839 * util/grub-install.in: Gettextize "Not found" message.
2840
62b15edf
VS
28412013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
2842
2843 Fix distfiles list.
2844 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
2845
28462013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
a9c0b699
PFS
2847
2848 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
2849 present.
2850 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
2851
709ad61b
VS
28522013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
2853
2854 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
2855
d128901a
VS
28562013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
2857
2858 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
2859 attribute since structure is not necessarily aligned.
2860
34b22f5c
AB
28612013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
2862
2863 * docs/grub.texi (Device syntax): Clarify description of network
2864 drives.
2865
0f7e980b
VS
28662013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2867
2868 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
2869 for vasprintf presence.
2870
30b03dc2
VS
28712013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2872
2873 * util/grub-install.in: Handle efibootmgr presence check.
2874 Reported by: Leif Lindholm.
2875
0dc11c08
VS
28762013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2877
2878 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
2879 new strings to translate.
2880
f8024c3f
VS
28812013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2882
2883 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
2884 yet another string (pun intended) to translate.
2885
b4c1da62
VS
28862013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2887
2888 * po/POTFILES-shell.in: Autogenerate it.
2889
0ef7478b
VS
28902013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2891
2892 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
2893
8200fa15
VS
28942013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2895
2896 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
2897 misnomer.
2898
091945b2
AB
28992013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
2900
2901 * docs/grub.texi (Network): Add description of net_default_interface,
2902 net_default_ip and net_default_mac. Rewrite variables description
2903 to emphasize that they are per-interface.
2904
0e7b2e32
VS
29052013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2906
2907 New test: cmdline and cat.
2908
16f7c8f6
VS
29092013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2910
2911 * grub-core/commands/cat.c: Show UTF-8 characters.
2912
3e912fda
VS
29132013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2914
2915 * conf/Makefile.common: Poison float and double on non-emu.
2916
ee0220bc
VS
29172013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2918
2919 * configure.ac: Don't disable extended registers on emu.
2920
89e0240c
VS
29212013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2922
2923 * configure.ac: Don't use extended registers on x86_64.
2924 Reported by: Peter Jones.
2925
e56d9637
VS
29262013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2927
2928 * grub-core/term/efi/console.c: Fix compile error.
2929
8098f655
VS
29302013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2931
2932 Compressed HFS+ support.
2933
16940e07
VS
29342013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2935
2936 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
2937 pixel".
2938
c5dbc13d
VS
29392013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2940
2941 Menu color test.
2942
011f8ae8
VS
29432013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2944
2945 * grub-core/tests/setjmp_test.c: New test.
2946
2aa072d7
VS
29472013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2948
2949 New variables 'net_default_*' to determine MAC/IP of default interface.
2950
43fe02cb
VS
29512013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2952
2953 * tests/gettext_strings_test.in: A test to check for strings not
2954 marked for translation.
2955
bed06142
VS
29562013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2957
2958 * autogen.sh: Exclude unused libgcrypt files from translation.
2959
fb2666b5
VS
29602013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2961
2962 Simplify few strings.
2963
d22840ec
VS
29642013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2965
2966 Mark few forgotten strings for translation.
2967
e34092fd
VS
29682013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2969
2970 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
2971 rather than printf.
2972
47cf82b4
VS
29732013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2974
2975 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
2976 rather than printf.
2977 * grub-core/video/readers/tga.c: Likewise.
2978
1eed0e6e
VS
29792013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2980
2981 * tests/priority_queue_unit_test.cc: New test.
2982
c5b7697b
VS
29832013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2984
2985 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
2986 than printf.
2987
5945c2f8
AB
29882013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
2989
2990 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
2991 variable for one time boot menu entry.
2992
fa292343
B
29932013-05-05 Bean <bean123ch@gmail.com>
2994
2995 * grub-core/commands/testspeed.c: New command testspeed.
2996
310d4214
VS
29972013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2998
2999 Factor-out human-size printing.
3000
85002bf3
VS
30012013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3002
3003 Agglomerate more mallocs to speed-up gfxterm.
3004
22b06e96
VS
30052013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3006
3007 Speed-up gfxterm by slightly agglomerating mallocs.
3008
b7c036bc
VS
30092013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3010
3011 More video checks.
3012
92323d1f
VS
30132013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3014
3015 Speed-up gfxterm by saving intermediate results in index+alpha
3016 format.
3017
0fb356a3
VS
30182013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3019
3020 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
3021 test.
3022
44dea3f9
VS
30232013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3024
3025 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
3026 line of timeout as it may contain the rest of long line.
3027
14af86e4
VS
30282013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3029
3030 * grub-core/normal/main.c: Fix freed memory dereference.
3031
03f7c8c3
VS
30322013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3033
3034 Fix several memory leaks.
3035
c686014c
VS
30362013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3037
3038 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
3039
0788a695
VS
30402013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3041
3042 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
3043
daf01d61
VS
30442013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3045
3046 Fix test -a and -o precedence.
3047 Reported by: adrian15.
3048
82ae74d7
VS
30492013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3050
3051 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
3052
8cec7bd4
AB
30532013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
3054
3055 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
3056 and add it as source to functional_test module.
3057
aa73d688
VS
30582013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3059
3060 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
3061
c104b6f9
VS
30622013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3063
3064 New series of tests for gfxterm and gfxmenu.
3065
7391c4d5
VS
30662013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3067
3068 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
3069 the theme path relative to $prefix/themes.
3070
cff50118
VS
30712013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3072
3073 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
3074 Fix order bug.
3075 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
3076
7c332bdc
VS
30772013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3078
3079 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
3080 descriptor.
3081
a4f9a5ff
VS
30822013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3083
3084 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
3085 grub_gfxmenu_timeout_notifications.
3086 (grub_gfxmenu_view_destroy): Likewise.
3087
b5a2114d
VS
30882013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3089
3090 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
3091
a8905e8a
VS
30922013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
3093
3094 Several fixes to ieee1275 and big-endian video.
3095
813c1622
VS
30962013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
3097
3098 Add missing exports on mips.
3099
3f3e7326
VS
31002013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
3101
3102 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
3103 if no unifont is found.
3104 Restore original keyboard.
3105
095accd1
VS
31062013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
3107
3108 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
3109 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
3110
50361660
VS
31112013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
3112
3113 First automated video test (running videotest and comparing results)
3114
cd0f6eec
VS
31152013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
3116
3117 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
3118 instead of 2 to have full RGB/CMY test pattern.
3119
3f9634e5
VS
31202013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
3121
3122 Add few more tests.
3123
583e5b64
VS
31242013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
3125
3126 * include/grub/arc/arc.h: Account for missing "other" peripheral on
3127 ARCS. All users updated.
3128
aa7bcb99
VS
31292013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
3130
3131 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
3132
95ef1a54
VS
31332013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
3134
3135 * grub-core/partmap/amiga.c: Fix size of checksummed block.
3136
46546fc5
VS
31372013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
3138
3139 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
3140 Reported by: qwertial.
3141
3476e0ef
VT
31422013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
3143
3144 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
3145 with syntax "XXX deg"/"XXX °".
3146
96f33fed
VS
31472013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
3148
3149 Make PCI init in i386-qemu port more robust.
3150
31512013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
dc5a311a
VT
3152
3153 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
3154 cached view is reused.
3155 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
3156 open boot menus.
3157
c53b4e67
VS
31582013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
3159
3160 Unify more code in grub-install_header.
3161
f7457fb2
VS
31622013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
3163
3164 Add few new tests.
3165
e2f27a8c
VS
31662013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
3167
3168 Enforce disabling of firmware disk drivers when native drivers kick in.
3169
ef9d8cd5
VS
31702013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
3171
3172 * grub-core/commands/nativedisk.c: Customize the list of modules on
3173 platform. Don't try to search for disks already using native drivers.
3174
f7bf6c31
VS
31752013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
3176
3177 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
3178 platforms.
3179
bdc4add8
VS
31802013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
3181
3182 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
3183 handling of variables containing backslash.
3184
e9e46c9a
VS
31852013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
3186
3187 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
3188 dereference.
3189 Reported by: qwertial.
3190
0e90dee8
VS
31912013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
3192
3193 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
3194
e0aacf24
VS
31952013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
3196
3197 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
3198 dereference.
3199 Reported by: qwertial.
3200
3c0003c3
VS
32012013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3202
3203 * docs/grub.texi: Add a comment about usefullness of nativedisk.
3204
adb7d667
VS
32052013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3206
3207 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
3208
7cd0df84
VS
32092013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3210
3211 New command `nativedisk'.
3212
02adbb93
VS
32132013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3214
3215 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
3216 * grub-core/loader/i386/bsd.c: Likewise.
3217
9fb0fd4f
VS
32182013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3219
3220 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
3221
bd69257a
VS
32222013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3223
3224 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
3225 grub_get_unaligned16 rather than shifts.
3226
178c2764
VS
32272013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3228
3229 * grub-core/kern/file.c: Use const char * rather than casting to
3230 non-const.
3231
eadfad24
VS
32322013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3233
3234 * grub-core/commands/probe.c: Add missing grub_device_close.
3235
9f73ebd4
VS
32362013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3237
3238 * INSTALL: Document linguas.sh.
3239
965fa829
VS
32402013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3241
3242 Remove POTFILES.in and regenerate it in autogen.sh.
3243
d417ddc4
VS
32442013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3245
3246 Move --directory/--override-directorry to grub-install_header and unify.
3247
f97ec546
VS
32482013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
3249
3250 * grub-core/term/morse.c: Macroify dih and dah.
3251
b2d7470c
PFS
32522013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3253
3254 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
3255
141e2a78
VS
32562013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
3257
3258 * grub-core/term/ns8250.c: Systematically probe ports by writing
3259 to SR before using them.
3260
1dd70ebd
PFS
32612013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3262
3263 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
3264 disks.
3265 (check_sas): Get sas_adress info.
3266
c796a107
VS
32672013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
3268
3269 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
3270 ports.
3271
43168646
LD
32722013-04-27 Leon Drugi <eyak>
3273
3274 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
3275 BSS clearing.
3276
e7b8fd08
VS
32772013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
3278
3279 Core compression test.
3280
17f9fd29
VS
32812013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
3282
3283 Implement grub_machine_get_bootlocation for ARC.
3284
dc2a6c8b
VS
32852013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
3286
3287 Improve AHCI detection and command issuing.
3288
f25a2ba6
VS
32892013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3290
3291 Fix pseries test.
3292
a6393224
VS
32932013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3294
3295 Make 'make check' work on emu.
3296
db99fbe8
VS
32972013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3298
3299 Replace libcurses with our own vt100 handling for the ease of testing
3300 and decreasing prerequisites.
3301
b24ca7cd
VS
33022013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3303
3304 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
3305
63314aa4
VS
33062013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3307
3308 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
3309 compile when not needed.
3310
c1b00fff
VS
33112013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3312
3313 * tests/pseries_test.in: New test.
3314
f93e89ef
VS
33152013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3316
3317 Add test to check that different boot mediums work.
3318
c4b456d3
VS
33192013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3320
3321 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
3322 ofw limited ISO support.
3323
5fe67f39
VS
33242013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3325
3326 * configure.ac: Fix loongson conditional.
3327
7f63a64f
VS
33282013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3329
3330 Enable mipsel-arc.
3331
b04b5990
VS
33322013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3333
3334 Add serial on ARC platform.
3335
88d2f302
VS
33362013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3337
3338 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
3339 commit.
3340
86eb23bc
VS
33412013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3342
3343 * tests/partmap_test.in: Add missing double semicolon.
3344
eec3bb75
VS
33452013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3346
3347 * util/grub-mkrescue.in: Fix loongson filename.
3348
e0810df3
VS
33492013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3350
3351 * util/grub-mkrescue.in: Move all files that don't have a location
3352 set in stone under /boot/grub. Use ISO hard links rather than copies
3353 to save some space.
3354
65a6b30b
VS
33552013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3356
3357 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
3358 bogus SLOF values.
3359
6aff0107
VS
33602013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3361
3362 Make check work on mips-arc.
3363
5e013e56
VS
33642013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3365
3366 * util/grub-mkrescue.in: Alias sashARCS as sash.
3367
d1989e2e
VS
33682013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3369
3370 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
3371 it's serial.
3372
1a25e72c
VS
33732013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3374
3375 * util/grub-install.in: Fix target fo qemu_mips.
3376 Fix extension on EFI.
3377
a59a9826
VS
33782013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3379
3380 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
3381 in front of chosen entry to mark it even if highlighting is lost.
3382
1a40f80c
VS
33832013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3384
3385 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
3386 gfxpayload=keep if cbfb is active.
3387
e343549c
VS
33882013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3389
3390 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
3391
45fbd9a2
VS
33922013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3393
3394 Add missing video ids to coreboot and ieee1275 video.
3395
ab1440bd
VS
33962013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3397
3398 * util/grub-mkrescue.in: Add mips-arc support.
3399
cdeb8324
VS
34002013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3401
3402 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
3403
8528c879
VS
34042013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
3405
3406 Move mips-arc link address. Previous link address was chosen
3407 in belief that RAM on SGI platforms grows down while in fact it
3408 grows up from an unusual base.
3409
17fca573
VS
34102013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
3411
3412 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
3413 Fix a type which prevented CD-ROM and floppy boot.
3414
d178788e
VS
34152013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
3416
3417 Support coreboot framebuffer.
3418
3419 * grub-core/video/i386/coreboot/cbfb.c: New file.
3420
fe4c3e7e
VS
34212013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
3422
3423 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
3424 detecting too small regions.
3425
ec2dd179
VS
34262013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
3427
3428 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
3429
872dac83
VS
34302013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
3431
3432 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
3433 Remove dprintf.
3434 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
3435
90ec4b7f
VS
34362013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
3437
3438 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
3439 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
3440 * grub-core/loader/powerpc/ieee1275/linux.c
3441 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
3442
f32555dd
VS
34432013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
3444
3445 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
3446 Look for /boot-rom as well as /rom/boot-rom.
3447
38649799
VS
34482013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
3449
3450 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
3451 handling when creating text_layer failed.
3452 * grub-core/video/video.c (grub_video_create_render_target):
3453 Set result to 0 on error.
3454 (grub_video_delete_render_target): Do not dereference NULL.
3455
aeace7f7
VS
34562013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
3457
3458 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
3459 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
3460 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
3461 (grub_linux_load64): Mask out 2 high bits.
3462
4eafa175
AB
34632013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
3464
3465 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
3466 more place.
3467
daaa64bd
VS
34682013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
3469
3470 Add support for pseries and other bootinfo machines to grub-mkrescue.
3471
3472 Tested by: Paulo Flabiano Smorigo.
3473
d0d2daa6
VS
34742013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
3475
3476 * util/grub-mkrescue.in: Add GPT for EFI boot.
3477
b193e100
VS
34782013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
3479
3480 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
3481 It improves performance in qemu.
3482
a0f8f3ac
VS
34832013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
3484
3485 * build-aux/snippet: Add missing gnulib files.
3486
284df0e2
AB
34872013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
3488
3489 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
3490
740201f3
AB
34912013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
3492
3493 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
3494
a7e03923
PJ
34952013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
34962013-04-15 Peter Jones <pjones@redhat.com>
3497
3498 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
3499 sectors.
3500 Based on patch by Peter Jones.
3501
25fc51a8
VS
35022013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
3503
3504 Fix DMRAID partition handling.
3505
88017d47
VS
35062013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
3507
3508 * tests/grub_cmd_date.in: Skip on sparc64.
3509
fa7d914e
VS
35102013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
3511
3512 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
3513 firmware error messages.
3514
cbe57a48
VS
35152013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
3516
3517 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
3518 source and destination differ.
3519
21aecce0
VS
35202013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
3521
3522 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
3523 detection.
3524
25092d29
VS
35252013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3526
3527 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
3528 match config-util.h to avoid warnings and increase compatibility.
3529
79451522 35302013-04-14 Szymon Janc <szymon@janc.net.pl>
25092d29 35312013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
79451522
VS
3532
3533 Add option to compress files on install/image creation.
3534
78b7d77b
VS
35352013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3536
3537 * docs/grub-dev.texi: Rearrange menu to match the section order.
3538 Reported by: Bryan Hundven.
3539
cc2fa5ec
VS
35402013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3541
3542 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
3543
b49fe879
VS
35442013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3545
3546 Move GRUB out of system area when using xorriso 1.2.9 or later.
3547
5351da81
VS
35482013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3549
3550 * tests/grub_cmd_date.in: Add missing exit 1.
3551
c9d586ea
VS
35522013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3553
3554 * tests/partmap_test.in: Skip on sparc64.
3555
3f729741
VS
35562013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3557
3558 Support grub-shell on sparc64.
3559
8ca86b3a
VS
35602013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3561
3562 Support mkrescue on sparc64.
3563
aa1af9bb
VS
35642013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3565
3566 Allow IEEE1275 ports on path even if it wasn't detected automatically.
3567 Needed on OpenBIOS due to incomplete device tree.
3568
ac4fea79
VS
35692013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3570
3571 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
3572 would be otherwise excluded.
3573
35742013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
87206f2c
VS
3575
3576 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
3577 Inline name defines used only once.
3578
fe22b071
VS
35792013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
3580
3581 Fix memory leaks in ofnet.
3582 Reported by: Francesco Lavra.
3583
9d21381b
VS
35842013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3585
3586 * docs/man/grub-glue-efi.h2m: Add missing file.
3587
07aec23c
VS
35882013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3589
3590 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
3591
67ab8353
VS
35922013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3593
3594 Better support Apple Intel Macs on CD.
3595
ba44ca6d
VS
35962013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3597
3598 Replace stpcpy with grub_stpcpy in tools.
3599
bbdd6305
VS
36002013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3601
3602 Handle Japanese special keys.
3603 Reported by: Hiroyuki YAMAMORI.
3604 Codes supplied by: Hiroyuki YAMAMORI.
3605
8573d302
VS
36062013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3607
3608 * util/grub-mkimage.c: Document memdisk implying --prefix.
3609
d70dbab7
VS
36102013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3611
3612 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
3613 much we can do about it anyway.
3614
51a4c3e3
AN
36152013-04-12 Aleš Nesrsta <starous@volny.cz>
3616
3617 Fix handling of split transfers.
3618
92c8f58d
VS
36192013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3620
3621 * grub-core/net/http.c: Fix bad free.
3622
b7d17a49
VS
36232013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3624
3625 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
3626 than buffer size.
3627
a3d566d4
VS
36282013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3629
3630 Disable partmap check on i386-ieee1275 due to openfirmware issues.
3631
a936af56
VS
36322013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3633
3634 * tests/util/grub-shell.in: Fix it on powerpc.
3635
51212234
VS
36362013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3637
3638 Turn off QEMU ACPI-way since new releases don't have shutdown port
3639 anymore.
3640
a21eec9e
VS
36412013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3642
3643 * docs/grub.texi: Update coreboot status info.
3644
e3734b84
VS
36452013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3646
3647 * tests/grub_cmd_date.in: New test for datetime.
3648
f9d40055
VS
36492013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3650
3651 * tests/partmap_test.in: Fix missing qemudisk setting.
3652
dbc56d8f
VS
36532013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3654
3655 Support i386-ieee1275 grub-mkrescue and make check on it.
3656
a79b8a15
VS
36572013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3658
3659 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
3660 feature for it.
3661
48f39bb4
VS
36622013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3663
3664 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
3665 GRUB_CMDLINE_XEN_DEFAULT.
3666 Reported by: Marc Warne (GigaTux) <gigatux>
3667
053cfcdd
VS
36682013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3669
3670 Import new gnulib.
3671
93cd84df
VS
36722013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3673
3674 Use ACPI shutdown intests as traditional port was removed.
3675
f4b1fa4f
AB
36762013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
3677
3678 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
3679 distinction.
3680
49818a59
VS
36812013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3682
3683 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
3684 Fix few warining messages and leaks while on it.
3685
9277a306
AB
36862013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
3687
3688 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
3689 links under grub-core/lib/libgcrypt-grub/mpi.
3690
d5e2a158
VS
36912013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3692
3693 Fix ia64-efi image generation on big-endian machines. Deduplicate
3694 some code while on it.
3695 Reported by: Leif Lindholm.
3696
18866643
AB
36972013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
3698
3699 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
3700 as extra_dist.
3701
ca53deb8
AB
37022013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
3703
3704 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
3705
d4c4b8e1
BH
37062013-04-08 Bryan Hundven <bryanhundven@gmail.com>
3707
3708 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
3709 texinfo-5.1.
3710
47043f95
VS
37112013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3712
3713 * grub-core/normal/term.c: Few more fixes for menu entry editor
3714 rendering.
3715 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
3716
a3216068
VS
37172013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
3718
3719 * grub-core/normal/term.c: Few more fixes for menu entry editor
3720 rendering.
3721 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
3722
21026747
AB
37232013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
3724
3725 * conf/Makefile.extra-dist (EXTRA_DIST): Add
3726 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
3727
59624ca8
AB
37282013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
3729
3730 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
3731 instead of hardcoding grub.mo.
3732
1f44478c
FN
37332013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
3734
3735 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
3736
eeada7b1
VS
37372013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3738
3739 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
3740 grub-core/disk/geli.c.
3741
132867de
VS
37422013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3743
3744 * util/grub-mkfont.c: Prefer enum to #define.
3745
de73de17
VS
37462013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3747
3748 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
3749
1865baa7
VS
37502013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3751
3752 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
3753
ce7d92a9
VS
37542013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3755
3756 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
3757
52eab656
VS
37582013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3759
3760 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
3761
98b23b95
VS
37622013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3763
3764 * include/grub/bsdlabel.h: Use enums.
3765
0467a5dd
VS
37662013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3767
3768 Move GRUB_CHAR_BIT to types.h.
3769
16cc9f03
AB
37702013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
3771
3772 * docs/grub.texi: Document more user commands.
3773
3152aecb
AB
37742013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
3775
3776 * docs/grub.texi: Document menuentry --id option.
3777
c506fc30
FL
37782013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
3779
3780 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
3781
aa428238
VS
37822013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3783
3784 Unify file copying setup across different install scripts. Add
3785 options for performing partial install.
3786
efe0cdda
PJ
37872013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
37882013-04-04 Peter Jones <pjones@redhat.com>
3789
3790 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
3791
f75835bd
VS
37922013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3793
3794 Use TSC as a possible time source on i386-ieee1275.
3795
2cd5ce6c
VS
37962013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3797
3798 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
3799 Init err.
3800
c9625630
VS
38012013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3802
3803 * util/grub-setup.c (setup): Handle some corner cases.
3804
be008941
VS
38052013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3806
3807 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
3808
1a78d573
VS
38092013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
3810
3811 * grub-core/commands/verify.c: Save verified file to avoid it being
3812 tampered with after verification was done.
3813
db8ff59f
VS
38142013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
3815
3816 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
3817 reported width by one to compensate for curesor algorithm problem.
3818
91bf46b1
VS
38192013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
3820
3821 Fix screen corruption in menu entry editor and simplify the code
3822 flow while on it.
3823
a7b1d693
AB
38242013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
3825
3826 * util/grub-mount.c (fuse_init): Return error if fuse_main
3827 failed.
3828
31df9ad8
FL
38292013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
3830
3831 * include/grub/elf.h: Add missing ARM relocation codes and fix
3832 existing ones.
3833
07f392eb
VT
38342013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
3835
3836 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
3837
9efd73ec 38382013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
c3578acf
VT
38392013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
3840
3841 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
3842 into account when calculating radius.
3843
38442013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
9efd73ec
VT
3845
3846 * grub-core/gfxmenu/view.c: Fix off-by-one error.
3847
4985ddaa
VT
38482013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
3849
3850 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
3851
8c3635ff
RS
38522013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
3853
3854 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
3855 missing closing bracket.
3856
74a35e69
RS
38572013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
3858
3859 * INSTALL: Mention xorriso requirement.
3860
40f1c000
AB
38612013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
3862
3863 * grub-core/commands/verify.c: Fix hash algorithms values for
3864 the first three hashes - they start with 1, not with 0.
3865
e75fdee4
VS
38662013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3867
3868 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
3869 Try terminating EFI services several times due to quirks in some
3870 implementations.
3871
33028f4c
CW
38722013-03-26 Colin Watson <cjwatson@ubuntu.com>
3873
3874 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
3875 skipping Event, Device, Processor, PowerRes, ThermalZone, and
3876 BankField extended opcodes.
3877 (get_sleep_type): Add minimal scope handling (just enough to
3878 handle setting the scope to the root path).
3879 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
3880 * include/grub/acpi.h: Add enumeration values for Event, Device,
3881 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
3882
33871a10
VT
38832013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
3884
3885 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
3886 memory leak.
3887
8990963a
VS
38882013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
3889
3890 * grub-core/disk/ahci.c: Give more time for AHCI request.
3891
daae8f9e
VS
38922013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
3893
3894 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
3895 command.
3896
6a7fb94b
VS
38972013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
3898
3899 Replace the region at 0 from coreboot tables to available in BSD
3900 memory map.
3901
ff99babd
VS
39022013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3903
3904 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
3905 non-BIOS platforms.
3906
30d6b1b2
VS
39072013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3908
3909 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
3910 platforms.
3911
6ccd0b31
VS
39122013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3913
3914 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
3915 handling of multi-device filesystems.
3916
23c9cc04
VS
39172013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3918
3919 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
3920 platforms.
3921
ce50dbd7
VS
39222013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3923
3924 Add new 'proc' filesystem framework and put luks_script into it.
3925
d975e8d5
VS
39262013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3927
3928 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
3929 and qemu.
3930
e73ba5e8
VS
39312013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
3932
3933 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
3934
92750e4c
VS
39352013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
3936
3937 Add ability to generate newc additions on runtime.
3938
0ec45a68
VS
39392013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
3940
3941 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
3942 description.
3943
320abd43
VS
39442013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
3945
3946 * po/POTFILES.in: Regenerate.
3947
d7a6506e
VS
39482013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3949
3950 * grub-core/commands/verify.c (hashes): Add several hashes
3951 from the spec.
3952
8fe05def
VS
39532013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3954
3955 Slight improve in USB-related boot-time checkpoints.
3956
524e2766
VS
39572013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3958
3959 * grub-core/commands/boottime.c: Fix copyright header.
3960
cc19857a
VS
39612013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3962
3963 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
3964 coreboot tables content. Support for cbmemc.
3965
ef8810e9
VS
39662013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3967
3968 Fix a conflict between ports structures with 2 controllers of
3969 same kind.
3970
e9dabdfa
VS
39712013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3972
3973 * include/grub/boottime.h: Add missing file.
3974
f6df57d2
VS
39752013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3976
3977 Initialize USB ports in parallel to speed-up boot.
3978
d745dda7
VS
39792013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3980
3981 Fix USB devices not being detected when requested
3982 due to delayed attach.
3983
e5a2dd7b
VS
39842013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3985
e744219b
VS
3986 Implement boot time analysis framework.
3987
39882013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3989
3990 Remove get_endpoint_descriptor and change all functions needing
e5a2dd7b
VS
3991 descriptor to just receive it as argument rather than endpoint
3992 address.
3993
5dd6f587
VS
39942013-03-19 Aleš Nesrsta <starous@volny.cz>
3995
3996 Better estimate the maximum USB transfer size.
3997
2f1071d5
VS
39982013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
3999
4000 Resend a packet if we got the wrong buffer in status.
4001
46ecfc49
VS
40022013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4003
4004 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
4005 multiplication rather than division.
4006
ea811130
VS
40072013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4008
4009 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
4010 than divisions.
4011
d2789cf0
VS
40122013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4013
4014 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
4015 operations to have intended shifts and not divisions.
4016
a9c94590
VS
40172013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4018
4019 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
4020 intended shifts rather than division.
4021
84cfe81b
VS
40222013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4023
4024 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
4025 computation for some years before epoch. Avode confusing division
4026 while on it.
4027
21344ef6
VS
40282013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4029
4030 * grub-core/video/i386/pc/vbe.c
4031 (grub_video_vbe_print_adapter_specific_info): Replace division by
4032 shifts.
4033
3f2b4d1a
VS
40342013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4035
4036 Adjust types in gdb module to have intended unsigned shifts rather than
4037 signed divisions.
4038
3dac5878
VS
40392013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4040
4041 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
4042 maximum size is 4G - 1 on hfs
4043
5341c0fb
VS
40442013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4045
4046 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
4047
fc3ff2a2
VS
40482013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4049
4050 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
4051 function.
4052
81455e8e
AB
40532013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
4054
4055 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
4056 causing gcc error with gcc 4.7.1.
4057
efd4f117
NZ
40582013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
4059
4060 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
4061 dereference null pointer. While the code is technically correct, gcc
4062 may eliminate a null check if pointer is already dereferenced.
4063
e11645f4
NZ
40642013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
4065
4066 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
4067 OOM check.
4068 * grub-core/normal/term.c (read_terminal_list): Likewise.
4069
77468368
VS
40702013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
4071
4072 Lift up core size limits on some platforms. Fix potential memory
4073 corruption with big core on small memory systems. Document remaining
4074 limits.
4075
f6b58fe5
VS
40762013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
4077
4078 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
4079 gotoxy to 0,0.
4080
19ce697d
VS
40812013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
4082
4083 Remove all trampoline support. Add -Wtrampolines when
4084 present. Remove symbols used for trampolines to make
4085 link fail if trampolines are present.
4086
73b5d90f
VS
40872013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
4088
4089 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
4090 append out of its parent.
4091
cb758e96
VS
40922013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
4093
4094 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
4095 parent.
4096
3188131f
VS
40972013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
4098
4099 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
4100 all vars to a macro. All users updated.
4101
e42b2514
VS
41022013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
4103
4104 * grub-core/disk/ieee1275/nand.c: Fix compilation on
4105 i386-ieee1275.
4106
83e1a1a1
VS
41072013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4108
4109 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
4110
1d5a880f
VS
41112013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4112
4113 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
4114
6e4146c4
VS
41152013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4116
4117 Move to more hookless approach in IEEE1275 devices handling.
4118
99fcda8a
VS
41192013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4120
4121 * grub-core/kern/term.c (grub_term_normal_color),
4122 (grub_term_highlight_color): Add back lost defaults.
4123
73bf57e2
VS
41242013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4125
4126 Make elfload not use hooks. Opt for flags and iterators instead.
4127
7f8c105f
VS
41282013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4129
4130 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
4131 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
4132
396d4091
VS
41332013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4134
4135 * grub-core/script/execute.c (gettext_append): Remove nested functions.
4136
41372013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4138
4139 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
4140 hook pass-through parameter. All users updated and unnested.
4141
74a27421
VS
41422013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4143
4144 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
4145 out of its parent.
4146
b46d4213
VS
41472013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4148
4149 * grub-core/fs/hfs.c: Remove nested functions.
4150
e114c3cc
VS
41512013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4152
4153 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
4154 the context through.
4155 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
4156
f9b7d780
VS
41572013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4158
4159 * util/grub-editenv.c (list_variables): Move print_var out of its
4160 parent.
4161
ca9c2608
VS
41622013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4163
4164 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
4165 function.
4166
5d983f5f
VS
41672013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4168
4169 * grub-core/gentrigtables.c: Make tables const.
4170
3056d3e7
VS
41712013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4172
4173 Remove nested functions from videoinfo iterators.
4174
e2303774
VS
41752013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4176
4177 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
4178 for 64-bit platforms.
4179
f42e3a2f
VS
41802013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4181
4182 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
4183 a FOR_CHILDREN macro.
4184
be174e5e
VS
41852013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4186
4187 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
4188 platform from firmware path.
4189
0789b672
VS
41902013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4191
4192 Enable linux16 on non-BIOS systems for i.a. memtest.
4193
4194 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
4195 correctly.
4196 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
4197
005a9c32
VS
41982013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4199
4200 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
4201 Fix end of table condition.
4202
ff2b3cd9
VS
42032013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4204
4205 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
4206 out of its parent.
4207
4fc40ff8
VS
42082013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4209
4210 * grub-core/fs/jfs.c: Remove nested functions.
4211
be42d97a
VS
42122013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4213
4214 * grub-core/fs/minix.c: Remove nested functions.
4215
99373ce4
VS
42162013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4217
4218 * grub-core/fs/iso9660.c: Remove nested functions.
4219
5aec2afe
VS
42202013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4221
4222 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
4223 of parent function.
4224
6c69e691
VS
42252013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4226
4227 * util/grub-fstest.c: Remove nested functions.
4228
43c91882
VS
42292013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4230
4231 * grub-core/loader/machoXX.c: Remove nested functions.
4232
4eb8b756
CW
42332013-02-27 Colin Watson <cjwatson@ubuntu.com>
4234
4235 Remove nested functions from disk and file read hooks.
4236
4237 * include/grub/disk.h (grub_disk_read_hook_t): New type.
4238 (struct grub_disk): Add read_hook_data member.
4239 * include/grub/file.h (struct grub_file): Likewise.
4240 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
4241 argument.
4242
4243 Update all callers.
4244
df6da5a5
AB
42452012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
4246
4247 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
4248 Fix off by one error in enumerating extended partitions.
4249
21aecde5
AB
42502013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
4251
4252 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
4253 memory leak if device name is not found.
4254
f1a19118
AB
42552013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
4256
4257 * grub-core/normal/menu_entry.c (update_screen): remove
4258 unused variable `off' which caused scroll down arrow to be always shown.
4259
958bfd20
AB
42602013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
4261
4262 * grub-core/normal/menu_entry.c (insert_string): fix off by one
4263 access to unallocated memory.
4264
b7b78edb
AB
42652013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
4266
4267 * Makefile.util.def: Add partmap/msdos.c to common library.
4268 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
4269 * grub-core/disk/ldm.c: Check for existence of
4270 GRUB_PC_PARTITION_TYPE_LDM.
4271
28d468d6
VS
42722013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
4273
4274 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
4275 sizes and display sector size.
4276
d55ffb02
VS
42772013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4278
4279 Implement new command cmosdump.
4280
b5ea6ce0
VS
42812013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4282
4283 Support Openfirmware disks with non-512B sectors.
4284
4285 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
4286 size of the disk.
4287 * (grub_ofdisk_get_block_size): New function.
4288 * (grub_ofdisk_prepare): Use the correct block size.
4289 * (grub_ofdisk_read): Likewise.
4290 * (grub_ofdisk_write): Likewise.
4291 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
4292 New proto.
4293
cc0e476f
VS
42942013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4295
4296 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
4297
c5dbdc33
VS
42982013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
4299
4300 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
4301 on first error.
4302
3f078c0f
VS
43032013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
4304
4305 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
4306 freeing it.
4307
66a93674
VS
43082013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
4309
4310 Implement USBDebug (full USB stack variant).
4311
c9f0c134
VS
43122013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
4313
4314 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
4315 unless they have unexpected values.
4316
cfe1288b
VS
43172013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
4318
4319 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
4320 grub_print_error.
4321
e42b9969
VS
43222013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
4323
4324 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
4325 zero-out of port structure.
4326
cf94fd62
VS
43272013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
4328
4329 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
4330 of extended attributes.
4331
f81ef4b5
AB
43322013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
4333
4334 * util/grub-install.in: change misleading comment about
4335 device.map creation
4336
af18fdb4
VS
43372013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
4338
4339 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
4340 when menu highlight color isn't set.
4341
08bcec50
M
43422013-01-27 C. Masloch <pushbx@38.de>
4343
4344 Improve FreeDOS direct loading support compatibility.
4345
4346 * include/grub/i386/relocator.h (grub_relocator16_state):
4347 New member ebp.
4348 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
4349 variable.
4350 (grub_relocator16_boot): Handle %ebp.
4351 * grub-core/lib/i386/relocator16.S: Likewise.
4352 * grub-core/loader/i386/pc/freedos.c:
4353 Load BPB to pass kernel which partition to load from.
4354 Check that kernel file is not too large.
4355 Set register dl to BIOS unit number as well.
4356
7782b8a6
CW
43572013-01-22 Colin Watson <cjwatson@ubuntu.com>
4358
4359 * util/grub-reboot.in (usage): Document the need for
4360 GRUB_DEFAULT=saved.
4361 * util/grub-set-default.in (usage): Likewise.
4362 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
4363
e661c180
VS
43642013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4365
4366 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
4367 than defining WORDS_BIGENDIAN manually.
4368
1c22ca9a
VS
43692013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4370
4371 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
4372 invariants.
4373
d44892fe
CW
43742013-01-21 Colin Watson <cjwatson@ubuntu.com>
4375
4376 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
4377 nested.
4378 (blit_comb: add_device_width): Likewise.
4379
5fdbaed1
CW
43802013-01-21 Colin Watson <cjwatson@ubuntu.com>
4381
4382 Remove nested functions from USB iterators.
4383
4384 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
4385 (grub_usb_controller_iterate_hook_t): Likewise.
4386 (grub_usb_iterate): Add hook_data argument.
4387 (grub_usb_controller_iterate): Likewise.
4388 (struct grub_usb_controller_dev.iterate): Likewise.
4389
4390 Update all implementations and callers.
4391
4250985a
VS
43922013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4393
4394 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
4395 margin when not needed.
4396
7d8848f3
VS
43972013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4398
bc136973 4399 Make color variables global instead of it being per-terminal.
7d8848f3
VS
4400
44012013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4402
bc136973
VS
4403 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
4404 asterisk.
7d8848f3 4405
ed12a003
CW
44062013-01-21 Colin Watson <cjwatson@ubuntu.com>
4407
4408 Fix powerpc and sparc64 build failures caused by un-nesting memory
4409 map iterators.
4410
6a0db449
CW
44112013-01-21 Colin Watson <cjwatson@ubuntu.com>
4412
4413 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
4414 parameter declarations.
4415
ccd86b21
VS
44162013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4417
4418 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
4419
822b726b
VS
44202013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4421
4422 Improve spkmomdem reliability by adding a separator between bytes.
4423
115c2cc1
CW
44242013-01-21 Colin Watson <cjwatson@ubuntu.com>
4425
4426 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
4427 an Acer registration utility with several sightings in the wild.
4428 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
4429
fc524edf
CW
44302013-01-21 Colin Watson <cjwatson@ubuntu.com>
4431
4432 Remove nested functions from filesystem directory iterators.
4433
4434 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
4435 (struct grub_fs.dir): Add hook_data argument.
4436
4437 Update all implementations and callers.
4438
53d3e4e3
CW
44392013-01-21 Colin Watson <cjwatson@ubuntu.com>
4440
4441 * docs/grub.texi (Multi-boot manual config): Fix typo for
4442 "recommended".
4443
c821711f
LL
44442013-01-20 Leif Lindholm <leif.lindholm@arm.com>
4445
4446 * util/grub-mkimage.c (main): Postpone freeing arguments.output
4447 until after its use in generate_image.
4448
6a0debbd
CW
44492013-01-20 Colin Watson <cjwatson@ubuntu.com>
4450
4451 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
4452 initrd size to addr_min, since the initrd will be allocated after
4453 this address.
4454
f41e08db
AB
44552013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
4456
4457 * conf/Makefile.common: Fix autogen rules to pass definition
4458 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
4459
77529e0f
LL
44602013-01-20 Leif Lindholm <leif.lindholm@arm.com>
4461
4462 * include/grub/elf.h: Update ARM definitions based on binutils.
4463
b879aa7b
VS
44642013-01-20 Aleš Nesrsta <starous@volny.cz>
4465
4466 Split long USB transfers into short ones.
4467
8eb8284d
AB
44682013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
4469
4470 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
4471 is interrupted by ESC.
4472
08dad2dc
VS
44732013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4474
4475 * util/grub-script-check.c (main): Uniform the error message.
4476
6c724b85
CW
44772013-01-20 Colin Watson <cjwatson@ubuntu.com>
4478
4479 Remove nested functions from ELF iterators.
4480
25239370
CW
44812013-01-20 Colin Watson <cjwatson@ubuntu.com>
4482
4483 Remove nested functions from device iterators.
4484
4485 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
4486 (grub_arc_iterate_devs): Add hook_data argument.
4487 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
4488 (struct grub_ata_dev.iterate): Add hook_data argument.
4489 * include/grub/device.h (grub_device_iterate_hook_t): New type.
4490 (grub_device_iterate): Add hook_data argument.
4491 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
4492 (struct grub_disk_dev.iterate): Add hook_data argument.
4493 (grub_disk_dev_iterate): Likewise.
4494 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
4495 Likewise.
4496 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
4497 Likewise.
4498 * include/grub/partition.h (grub_partition_iterate_hook_t): New
4499 type.
4500 (struct grub_partition_map.iterate): Add hook_data argument.
4501 (grub_partition_iterate): Likewise.
4502 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
4503 (struct grub_scsi_dev.iterate): Add hook_data argument.
4504
4505 Update all callers.
4506
6c0314d6
CW
45072013-01-20 Colin Watson <cjwatson@ubuntu.com>
4508
4509 Fix typos for "developer" and "development".
4510
600dc5f1
VS
45112013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
4512
4513 Add license header to spkmodem-recv.c.
4514
17334a6b
VS
45152013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
4516
4517 Rewrite spkmodem to use PIT for timing. Double the speed.
4518
7d462559
VS
45192013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
4520
4521 Add new command pcidump.
4522
b78d6c32
VS
45232013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
4524
4525 New terminal outputs using serial: morse and spkmodem.
4526
34f71cb8
VS
45272013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
4528
4529 Improve bidi handling in entry editor.
4530
4542e71b
VS
45312013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
4532
4533 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
4534 argument to prevent name collision.
4535
09fd6d82
CW
45362013-01-15 Colin Watson <cjwatson@ubuntu.com>
4537
4538 Remove nested functions from script reading and parsing.
4539
4540 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
4541 getline_data argument, passed to getline.
4542 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
4543 getline_data argument, passed to grub_parser_split_cmdline.
4544 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
4545 lexerstate->getline_data to lexerstate->getline.
4546 (grub_script_lexer_init): Add getline_data argument, saved in
4547 lexerstate->getline_data.
4548 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
4549 argument, passed to grub_script_parse.
4550 * grub-core/script/script.c (grub_script_parse): Add getline_data
4551 argument, passed to grub_script_lexer_init.
4552 * include/grub/parser.h (grub_parser_split_cmdline): Update
4553 prototype. Update all callers to pass appropriate getline data.
4554 (struct grub_parser.parse_line): Likewise.
4555 (grub_rescue_parse_line): Likewise.
4556 * include/grub/reader.h (grub_reader_getline_t): Add void *
4557 argument.
4558 * include/grub/script_sh.h (struct grub_lexer_param): Add
4559 getline_data member.
4560 (grub_script_parse): Update prototype. Update all callers to pass
4561 appropriate getline data.
4562 (grub_script_lexer_init): Likewise.
4563 (grub_normal_parse_line): Likewise.
4564
4565 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
4566 data argument.
4567 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
4568 static instead of nested. Rename to ...
4569 (grub_parser_execute_getline): ... this.
4570 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
4571 data argument.
4572 * grub-core/normal/main.c (read_config_file: getline): Make static
4573 instead of nested. Rename to ...
4574 (read_config_file_getline): ... this.
4575 (grub_normal_read_line): Add unused data argument.
4576 * grub-core/script/execute.c (grub_script_execute_sourcecode:
4577 getline): Make static instead of nested. Rename to ...
4578 (grub_script_execute_sourcecode_getline): ... this.
4579 * util/grub-script-check.c (main: get_config_line): Make static
4580 instead of nested.
4581
d0d4b8a0
CW
45822013-01-15 Colin Watson <cjwatson@ubuntu.com>
4583
4584 Remove nested functions from memory map iterators.
4585
4586 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
4587 argument, passed to hook.
4588 * grub-core/kern/i386/coreboot/mmap.c
4589 (grub_linuxbios_table_iterate): Likewise.
4590 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
4591 instead of nested.
4592 (grub_machine_mmap_iterate): Add hook_data argument.
4593 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
4594 Add hook_data argument, passed to hook.
4595 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
4596 Likewise.
4597 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
4598 Likewise.
4599 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
4600 Likewise.
4601 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
4602 Likewise.
4603 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
4604 Likewise.
4605 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
4606 Likewise.
4607 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
4608 (grub_machine_mmap_iterate): Likewise.
4609 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
4610 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
4611 prototype.
4612 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
4613 Remove NESTED_FUNC_ATTR from here and from all users.
4614 (grub_mmap_iterate): Update prototype.
4615 (grub_efi_mmap_iterate): Update prototype. Update all callers to
4616 pass appropriate hook data.
4617 (grub_machine_mmap_iterate): Likewise.
4618
4619 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
4620 static instead of nested.
4621 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
4622 Rename to ...
4623 (lsmmap_hook): ... this.
4624 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
4625 Likewise.
4626 (grub_efiemu_mmap_fill: fill_hook): Likewise.
4627 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
4628 heap_init): Likewise.
4629 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
4630 Rename to ...
4631 (mmap_iterate_hook): ... this.
4632 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
4633 Likewise.
4634 * grub-core/lib/ieee1275/relocator.c
4635 (grub_relocator_firmware_get_max_events: count): Likewise.
4636 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
4637 to ...
4638 (grub_relocator_firmware_fill_events_iter): ... this.
4639 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
4640 hook): Likewise. Rename to ...
4641 (grub_relocator_alloc_chunk_align_iter): ... this.
4642 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
4643 Rename to ...
4644 (generate_e820_mmap_iter): ... this.
4645 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
4646 Rename to ...
4647 (count_hook): ... this.
4648 (grub_linux_boot: hook): Likewise. Rename to ...
4649 (grub_linux_boot_mmap_find): ... this.
4650 (grub_linux_boot: hook_fill): Likewise. Rename to ...
4651 (grub_linux_boot_mmap_fill): ... this.
4652 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
4653 hook): Likewise. Rename to ...
4654 (grub_fill_multiboot_mmap_iter): ... this.
4655 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
4656 hook): Likewise. Rename to ...
4657 (count_hook): ... this.
4658 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
4659 hook): Likewise. Rename to ...
4660 (grub_fill_multiboot_mmap_iter): ... this.
4661 * grub-core/loader/powerpc/ieee1275/linux.c
4662 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
4663 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
4664 Likewise. Rename to ...
4665 (alloc_phys_choose): ... this.
4666 (determine_phys_base: get_physbase): Likewise.
4667 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
4668 find_hook): Likewise.
4669 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
4670 (malloc_hook: count_hook): Likewise.
4671 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
4672 Likewise. Rename to ...
4673 (lower_hook): ... this.
4674 (grub_mmap_get_upper: hook): Likewise. Rename to ...
4675 (upper_hook): ... this.
4676 (grub_mmap_get_post64: hook): Likewise. Rename to ...
4677 (post64_hook): ... this.
4678 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
4679 Likewise. Rename to ...
4680 (lower_hook): ... this.
4681 (grub_mmap_get_upper: hook): Likewise. Rename to ...
4682 (upper_hook): ... this.
4683 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
4684 (grub_mmap_iterate: fill_hook): Likewise.
4685 (fill_mask): Pass addr and mask within a single struct.
4686 (grub_cmd_badram: hook): Make static instead of nested. Rename
4687 to ...
4688 (badram_iter): ... this.
4689 (grub_cmd_cutmem: hook): Likewise. Rename to ...
4690 (cutmem_iter): ... this.
4691
22099030
VS
46922013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4693
4694 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
4695 delimit path in strings using quotes.
4696 * util/getroot.c (grub_guess_root_devices): Likewise.
4697 (grub_make_system_path_relative_to_its_root): Likewise.
4698 * util/grub-probe.c (probe): Likewise.
4699 * util/ieee1275/ofpath.c (find_obppath): Likewise.
4700 (xrealpath): Likewise.
4701
4a9950ec
VS
47022013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4703
4704 Fix compilation with older compilers.
4705
4706 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
4707 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
4708 declarations.
4709 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
4710 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
4711 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
4712 identifier with b.
4713 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
4714 * include/grub/crypto.h: Add type defines.
4715 * util/import_gcrypth.sed: Remove duplicate type defines.
4716
adcc6020
VS
47172013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4718
4719 New command list_trusted.
4720
4721 * grub-core/commands/verify.c (grub_cmd_list): New function.
4722
a4528937
CW
47232013-01-13 Colin Watson <cjwatson@ubuntu.com>
4724
4725 * util/grub-mkimage.c (generate_image): Fix "size of public key"
4726 info message.
4727
ca3a7446
CW
47282013-01-13 Colin Watson <cjwatson@ubuntu.com>
4729
4730 Remove nested functions from PCI iterators.
4731
4732 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
4733 passed to hook. Update all callers to pass appropriate hook data.
4734 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
4735 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
4736 Remove NESTED_FUNC_ATTR from here and from all users.
4737 (grub_pci_iterate): Update prototype.
4738 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
4739 instead of nested. Rename to ...
4740 (grub_cs5536_find_iter): ... this.
4741 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
4742 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
4743 Likewise.
4744 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
4745 Likewise.
4746 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
4747 Likewise.
4748 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
4749 Likewise.
4750 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
4751 * grub-core/video/radeon_fuloong2e.c
4752 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
4753 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
4754 find_card): Likewise.
4755 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
4756 Likewise.
4757
f8e98fee
VS
47582013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4759
4760 * grub-core/commands/verify.c: Mark messages for translating.
4761
055b36b6
VS
47622013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4763
4764 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
4765 fatal.
4766
f7ff879b
VS
47672013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4768
4769 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
4770 fatal.
4771
47722013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4d7219f9
VS
4773
4774 * autogen.sh: Do not try to delete nonexistant files.
4775 * util/import_gcrypth.sed: Add some missing header removals.
4776
01323d49
CW
47772013-01-12 Colin Watson <cjwatson@ubuntu.com>
4778
4779 Clean up dangling references to grub-setup.
4780 Fixes Ubuntu bug #1082045.
4781
4782 * docs/grub.texi (Images): Refer generally to grub-install rather
4783 than directly to grub-setup.
4784 (Installing GRUB using grub-install): Remove direct reference to
4785 grub-setup.
4786 (Device map) Likewise.
4787 (Invoking grub-install): Likewise.
4788 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
4789 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
4790 * util/grub-install.in (usage): Likewise.
4791
4792 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
4793 Apply to grub-bios-setup and grub-sparc64-setup rather than to
4794 grub-setup.
4795 * configure.ac: Remove grub_setup output variable.
4796
4797 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
4798 to grub-bios-setup.
4799 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
4800 grub-setup to grub-sparc64-setup.
4801
5e3b8dcb
VS
48022013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
4803
4804 Import gcrypt public-key cryptography and implement signature checking.
4805
535714bd
VS
48062013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4807
4808 * grub-core/fs/ntfs.c: Ue more appropriate types.
4809 * grub-core/fs/ntfscomp.c: Likewise.
4810 * include/grub/ntfs.h: Likewise.
4811
3e4f3566
VS
48122013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4813
4814 Support Apple FAT binaries on non-Apple platforms.
4815
4816 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
4817 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
4818 Likewise.
4819 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
4820 Apple FAT binaries.
4821
4dedb13f
VS
48222013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4823
4824 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
4825 sector devices.
4826
f8861eaf
CW
48272013-01-07 Colin Watson <cjwatson@ubuntu.com>
4828
4829 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
4830 explicitly zeroing elements.
4831 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
4832 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
4833 of elements in a structure already allocated using grub_zalloc.
4834 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
4835
86065b0a
CW
48362013-01-07 Colin Watson <cjwatson@ubuntu.com>
4837
4838 * docs/grub.texi (grub_cpu): New subsection.
4839 (grub_platform): Likewise.
4840
c6f1e92f
VS
48412013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
4842
4843 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
4844
f797ec85
VS
48452013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4846
4847 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
4848 divisions.
4849
033d0b4b
VS
48502013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4851
4852 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
4853 * grub-core/fs/ntfscomp.c: Likewise.
4854 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
4855 (grub_ntfs_comp): Likewise.
4856
21d1b9a0
VS
48572013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4858
4859 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
4860 Rename to ...
4861 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
4862 of groups_per_block. All users updated.
4863
10ca8645
VS
48642013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4865
4866 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
4867 grub_error properly.
4868 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
4869 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
4870
a4c3ed4c
VS
48712013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
4872
4873 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
4874 always in /boot/zfs.
4875 Reported by: Yuta Satoh.
4876
0b716507
YS
48772013-01-03 Yuta Satoh <nigoro>
4878
4879 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
4880 ${grub_probe}
4881
00c05e22
VS
48822013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
4883
4884 * configure.ac: Extend -Wno-trampolines to host.
4885
dadddb76
VS
48862013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
4887
4888 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
4889 entry->len = 0.
4890
54ce53ca
CW
48912013-01-03 Colin Watson <cjwatson@ubuntu.com>
4892
4893 * docs/grub.texi (Invoking grub-mkrelpath): New section.
4894 (Invoking grub-script-check): Likewise.
4895
8912efca
CW
48962013-01-03 Colin Watson <cjwatson@ubuntu.com>
4897
4898 * docs/grub.texi (Invoking grub-mount): New section.
4899 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
4900
c3fc8394
CW
49012013-01-02 Colin Watson <cjwatson@ubuntu.com>
4902
4903 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
4904 test failures, so that a failing unit test correctly causes 'make
4905 check' to fail.
4906
45d26abb
CW
49072013-01-02 Colin Watson <cjwatson@ubuntu.com>
4908
4909 Fix failing printf test.
4910
4911 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
4912 '$' in the correct order when collecting type information.
4913
971dd2c6
CW
49142013-01-02 Colin Watson <cjwatson@ubuntu.com>
4915
4916 * docs/grub.texi (configfile): Explain environment variable
4917 handling.
4918 (source): New section.
4919 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
4920
5c67ea6c
CW
49212012-12-31 Colin Watson <cjwatson@ubuntu.com>
4922
4923 Remove several trivially-unnecessary uses of nested functions.
4924
4925 * grub-core/commands/i386/pc/sendkey.c
4926 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
4927 instead of nested.
4928 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
4929 Rename to ...
4930 (legacy_file_getline): ... this.
4931 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
4932 Likewise.
4933 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
4934 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
4935 to ...
4936 (probe_dummy_iter): ... this.
4937 * grub-core/kern/i386/coreboot/mmap.c
4938 (grub_linuxbios_table_iterate: check_signature): Likewise.
4939 * grub-core/kern/parser.c (grub_parser_split_cmdline:
4940 check_varstate): Likewise. Mark inline.
4941 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
4942 an additional parameter.
4943 (find_long: fnd_long): Likewise. Pass two additional parameters.
4944 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
4945 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
4946 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
4947 Likewise. Rename to ...
4948 (grub_cmos_find_port_iter): ... this.
4949 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
4950 Rename to ...
4951 (find_rtc_iter): ... this.
4952
4953 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
4954 function directly into the function body, since it is only called
4955 once.
4956
33a68ac6
CW
49572012-12-30 Colin Watson <cjwatson@ubuntu.com>
4958
4959 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
4960 __attribute__ ((unused)).
4961 * grub-core/video/bochs.c (find_card): Likewise.
4962 * grub-core/video/cirrus.c (find_card): Likewise.
4963 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
4964 * grub-core/video/sis315pro.c (find_card): Likewise.
4965 * grub-core/video/sm712.c (find_card): Likewise.
4966
608b647a
CW
49672012-12-28 Colin Watson <cjwatson@ubuntu.com>
4968
4969 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
4970 Fixes Savannah bug #37821.
4971
fd49ceb3
CW
49722012-12-28 Colin Watson <cjwatson@ubuntu.com>
4973
4974 Apply program name transformations at build-time rather than at
4975 run-time. Fixes Debian bug #696465.
4976
4977 * acinclude.m4 (grub_TRANSFORM): New macro.
4978 * configure.ac: Create output variables with transformed names for
4979 most programs.
4980 * util/bash-completion.d/grub-completion.bash.in: Use
4981 pre-transformed variables for program names.
4982 * util/grub-install.in: Likewise.
4983 * util/grub-kbdcomp.in: Likewise.
4984 * util/grub-mkconfig.in: Likewise.
4985 * util/grub-mkconfig_lib.in: Likewise.
4986 * util/grub-mknetdir.in: Likewise.
4987 * util/grub-mkrescue.in: Likewise.
4988 * util/grub-mkstandalone.in: Likewise.
4989 * util/grub-reboot.in: Likewise.
4990 * util/grub-set-default.in: Likewise.
4991 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4992 * tests/util/grub-shell-tester.in: Remove unused assignment.
4993 * tests/util/grub-shell.in: Likewise.
4994 * util/grub.d/00_header.in: Likewise.
4995
7024b3c0
CW
49962012-12-28 Colin Watson <cjwatson@ubuntu.com>
4997
4998 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
4999
5000 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
5001 HAVE_RAW_DECL_GETS.
5002 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
5003
e3501b13
VS
50042012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
5005
5006 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
5007 Reported by: Eriks Latosheks <foresterlv>.
5008
b40c88a9
VS
50092012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
5010
5011 * docs/grub.texi (Network): Update instructions on generating netboot
5012 image.
5013
ce96d01c
VS
50142012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
5015
5016 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
5017 around device name if necessarry.
5018
0f596201
PFS
50192012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5020
5021 * util/grub-install.in: Follow the symbolic link parameter added
5022 to the file command.
5023
600d5bdb
AB
50242012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
5025
5026 * util/grub-install.in: Remove stale TODO.
5027
64ebd2f4
PFS
50282012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5029
5030 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
5031 dynamic allocation for the bootpath buffer.
5032
74b2fe3e
DTB
50332012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
5034
5035 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
5036 window too small.
5037
969b804f
VS
50382012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
5039
5040 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
5041 argument rather than font name. All users updated.
5042 (grub_gfxterm_set_window): Likewise.
5043
b9f5ebd6
VT
50442012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
5045
5046 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
5047 from working.
5048
258f43b7
VS
50492012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
5050
5051 * util/getroot.c (convert_system_partition_to_system_disk): Support
5052 nbd disks.
5053
cc1ce5f9
VS
50542012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
5055
5056 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
5057 infinite loop on corrupted FS.
5058
e77a16ca
VS
50592012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
5060
5061 Fix big-endian mtime.
5062
5063 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
5064 together sec and usec.
5065 (grub_ufs_dir): Use correct byteswapping for UFS time.
5066
d9c48c7b
VS
50672012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
5068
5069 Support big-endian UFS1.
5070
5071 * Makefile.util.def (libgrubmods): Add ufs_be.c
5072 * grub-core/Makefile.core.def (ufs1_be): New module.
5073 * grub-core/fs/ufs_be.c: New file.
5074 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
5075 the file.
5076
2f9f40ba
LL
50772012-11-28 Leif Lindholm <leif.lindholm@arm.com>
5078
5079 * include/grub/types.h: Fix functionality unaffecting typo in
5080 GRUB_TARGET_WORDSIZE conditional macro.
5081
48ff0889
PFS
50822012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5083
5084 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
5085
03711240
GS
50862012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
5087
5088 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
5089 that /netbsd appears first (when it exists).
5090
a31b11bd
CJ
50912012-10-12 Christoph Junghans <ottxor@gentoo.org>
5092
5093 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
5094 Fixes Savannah bug #37558.
5095
e8a5d5d4
CW
50962012-10-12 Colin Watson <cjwatson@ubuntu.com>
5097
5098 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
5099 description of extract_entries_configfile.
5100
51012012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
5102
5103 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
5104 preferred_address.
5105 (grub_cmd_linux): Likewise.
5106 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
5107 preferred_lifetime. Update all users.
5108
288c757d
CW
51092012-09-26 Colin Watson <cjwatson@ubuntu.com>
5110
5111 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
5112 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
5113
0d35da3f
CW
51142012-09-26 Colin Watson <cjwatson@ubuntu.com>
5115
5116 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
5117 errors from grub-probe to /dev/null, not stdout.
5118
b78c3127
VS
51192012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
5120
5121 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
5122 sector 1.
5123
473959f0
CW
51242012-09-24 Colin Watson <cjwatson@ubuntu.com>
5125
5126 * util/grub-install.in: Make the error message if $source_dir
5127 doesn't exist more useful.
5128
794c8c33
CW
51292012-09-22 Colin Watson <cjwatson@ubuntu.com>
5130
5131 Fix grub-emu build on FreeBSD.
5132
5133 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
5134 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
5135 headers on Linux.
5136 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
5137 implementation is currently Linux-specific.
5138 * util/getroot.c (exec_pipe): Define only on Linux or when either
5139 libzfs or libnvpair is unavailable.
5140 (find_root_devices_from_poolname): Remove unused path variable.
5141
86d08fdb
CW
51422012-09-19 Colin Watson <cjwatson@ubuntu.com>
5143
5144 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
5145 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
5146 should fit before end == 63.
5147
735abf54
CW
51482012-09-19 Colin Watson <cjwatson@ubuntu.com>
5149
5150 * util/grub-setup.c (write_rootdev): Remove unused core_img
5151 parameter. Update all callers.
5152 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
5153 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
5154 GRUB_SETUP_BIOS.
5155
140acd3c
VS
51562012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5157
5158 * util/grub-mkconfig_lib.in (grub_tab): New variable.
5159 (grub_add_tab): New function.
5160 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
5161 * util/grub.d/10_illumos.in: Likewise.
5162 * util/grub.d/10_kfreebsd.in: Likewise.
5163 * util/grub.d/10_linux.in: Likewise.
5164 * util/grub.d/10_netbsd.in: Likewise.
5165 * util/grub.d/10_windows.in: Likewise.
5166 * util/grub.d/10_xnu.in: Likewise.
5167 * util/grub.d/20_linux_xen.in: Likewise.
5168 * util/grub.d/30_os-prober.in: Likewise.
5169
7ddffdad
VS
51702012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5171
5172 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
5173 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
5174 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
5175 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
5176 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
5177 ieee1275-nocursor.
5178 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
5179 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
5180
4e092454
VS
51812012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5182
5183 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
5184 le-conversion.
5185 Reported by: BURETTE, Bernard.
5186
735abf54 51872012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
5188
5189 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
5190 from comment.
5191
dfd39dbd
CW
51922012-09-14 Colin Watson <cjwatson@ubuntu.com>
5193
5194 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
5195 IEEE1275 machines. Fixes powerpc-emu compilation.
5196 * include/grub/terminfo.h: Likewise.
5197
3bfa763c
VS
51982012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
5199
5200 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
5201 a const pointer.
5202 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
5203 const pointer.
5204 (efiemu_set_variable): Make vendor_guid a const pointer.
5205
250e475b
VS
52062012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
5207
5208 Don't require grub-mkconfig_lib to generate manpages for programs.
5209
5210 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
5211 dependencies, don't add grub-mkconfig_lib.
5212 (program): Pass empty adddeps.
5213 (script): Pass grub-mkconfig_lib as adddeps.
5214
592fd0e4
VS
52152012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
5216
5217 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
5218 * util/getroot.c (grub_find_device): Likewise.
5219 (get_mdadm_uuid): Likewise.
5220 (grub_util_is_imsm): Likewise.
5221 (grub_util_pull_device): Likewise.
5222 * util/grub-probe.c (probe): Likewise.
5223
801a3027
BG
52242012-09-10 Benoit Gschwind <gschwind>
5225
5226 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
5227 (devs): Add devpath_8.
5228
c5052c81
PJ
52292012-09-08 Peter Jones <pjones@redhat.com>
5230
5231 * grub-core/Makefile.core.def (efifwsetup): New module.
5232 * grub-core/commands/efi/efifwsetup.c: New file.
5233 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
5234 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
5235 New define.
5236 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
5237
8e832f71
JS
52382012-09-05 Jiri Slaby <jslaby@suse.cz>
5239
5240 * configure.ac: Add SuSe path.
5241
f0f55752
CW
52422012-09-05 Colin Watson <cjwatson@ubuntu.com>
5243
5244 * NEWS: Fix typo.
5245
ecadc4c2
CW
52462012-09-05 Colin Watson <cjwatson@ubuntu.com>
5247
5248 * util/import_gcry.py: Sort cipher_files, to make build system
5249 generation more deterministic.
5250
64498f25
VS
52512012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
5252
5253 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
5254 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
5255 (grub_set_datetime): Likewise.
5256
9cc836a2
VS
52572012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
5258
5259 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
5260 warnings.
5261
bcfcea01
VS
52622012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
5263
5264 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
5265
a4099485
VS
52662012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
5267
5268 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
5269
265c162a
CW
52702012-09-04 Colin Watson <cjwatson@ubuntu.com>
5271
5272 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
5273 required for checkouts from bzr, but it may be useful for users or
5274 distributors wishing to update translations against a tarball
5275 distribution, and it can be helpful for the tarball to be a superset
5276 of what's in bzr.
5277
3d171e95
CW
52782012-09-04 Colin Watson <cjwatson@ubuntu.com>
5279
5280 * Makefile.am (EXTRA_DIST): Add
5281 grub-core/tests/boot/linux.init-mips.S,
5282 grub-core/tests/boot/linux.init-ppc.S, and
5283 grub-core/tests/boot/linux-ppc.cfg.
5284
f2c2503e
CW
52852012-09-04 Colin Watson <cjwatson@ubuntu.com>
5286
5287 * grub-core/mmap/mips/loongson: Remove empty directory.
5288
52892012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
5290
5291 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
5292 gone.
5293
ab2163d5
CW
52942012-09-04 Colin Watson <cjwatson@ubuntu.com>
5295
5296 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
5297 grub-sparc64-setup.
5298
ce938140
GS
52992012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
5300
5301 * configure.ac: Strengthen the test for working -nostdinc -isystem.
5302
529f58a5
GS
53032012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
5304
5305 * po/POTFILES.in: Regenerated.
5306
16cf79e9
GS
53072012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
5308
5309 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
5310 (NetBSD): New subsection.
5311
39b27f1e 53122012-07-22 Ales Nesrsta <starous@volny.cz>
5313
5314 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
5315 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
5316
a885261b
VS
53172012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
5318
5319 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
5320 * util/grub.d/10_hurd.in: Add missing quoting.
5321 * util/grub.d/10_illumos.in: Likewise.
5322 * util/grub.d/10_kfreebsd.in: Likewise.
5323 * util/grub.d/10_linux.in: Likewise.
5324 * util/grub.d/20_linux_xen.in: Likewise.
5325
7bd29c01
VS
53262012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
5327
5328 New command `lsefi'.
5329
5330 * grub-core/Makefile.core.def (lsefi): New module.
5331 * grub-core/commands/efi/lsefi.c: New file.
5332 * include/grub/efi/api.h: Add more GUIDs.
5333
ac625d8f
VS
53342012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
5335
5336 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
5337 (grub_bsd_elf32_hook): Likewise.
5338 (grub_bsd_elf64_size_hook): Likewise.
5339 (grub_bsd_elf64_hook): Likewise.
5340 (grub_bsd_load_elf): Likewise.
5341
e73bb801
VS
53422012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
5343
5344 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
5345 if hash function is unavailable.
5346 (dec_stream_header): Likewise.
5347
e81db8b5
VS
53482012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
5349
5350 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
5351 filter state.
5352
d187a1c3
VS
53532012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
5354
5355 Fix coreboot compilation.
5356
5357 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
5358 (grub_vga_text_init_real): ... this.
5359 (grub_vga_text_fini): Rename to ...
5360 (grub_vga_text_fini_real): ... this.
5361
91a05f64
VS
53622012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
5363
5364 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
5365
6af96df7
VS
53662012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5367
5368 * grub-core/lib/legacy_parse.c: Support clear and testload.
5369
4d569e12
VS
53702012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5371
5372 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
5373
073b57bb
VS
53742012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5375
5376 * grub-core/fs/ext2.c: Experimental support for 64-bit.
5377
a706f4cc
VS
53782012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5379
5380 * grub-core/net/tftp.c (ack): Fix endianness problem.
5381 (tftp_receive): Likewise.
5382 Reported by: Michael Davidsaver.
5383
e7850aa9
VS
53842012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5385
5386 * gentpl.py: Make mans depend on grub-mkconfig_lib.
5387
53882012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5389
5390 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
5391 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
5392 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
5393
35692881
VS
53942012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5395
5396 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
5397 efi_mmap_size.
5398 Reported by: Stuart Hayes.
5399
c35fc5bd
VS
54002012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
5401
5402 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
5403
5404 * grub-core/Makefile.core.def (mda_text): New module.
5405 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
5406 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
5407 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
5408 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
5409 here.
5410 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
5411 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
5412 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
5413 here.
5414 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
5415 to ..
5416 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
5417 ... here
5418 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
5419 here.
5420 * grub-core/term/i386/vga_common.c: Removed.
5421 * include/grub/i386/vga_common.h: Likewise.
5422 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
5423 (grub_vga_cr_bw_read): Likewise.
5424 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
5425 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
5426 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
5427 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
5428 grub_vga_cr_read/grub_vga_cr_write.
5429 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
5430
5f91f701
VS
54312012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5432
5433 * configure.ac: Bump version to 2.00.
5434 * grub-core/normal/main.c (features): Add feature_200_final.
5435
0c4f85f6
VS
54362012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
54372012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
5438
5439 * NEWS: Fix unclarity and language mistakes.
5440
f923ad22
VS
54412012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5442
5443 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
5444 additional size to 3 pages.
5445 Reported by: Stuart Hayes.
5446
d22029ba
VS
54472012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5448
5449 * NEWS: Add 2.00 entry.
5450
58eee08f
VS
54512012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5452
5453 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
5454 put explicit "/" for empty path.
5455 (wildcard_expand): Improve dprintf.
5456
c59bdff7
VS
54572012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5458
5459 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
5460 it's equal to currnode. This can happen with "" symlink.
5461
5e6a440a
YB
54622012-06-27 Yves Blusseau <blusseau@zetam.org>
5463
5464 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
5465 echo shell command by printf command.
5466
73a68bcb
VS
54672012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
5468
5469 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
5470 the value returned by firmware is the maximal position, not diumension.
5471 (grub_terminfo_output_state): Use a more sane fallback.
5472
392a603b
VS
54732012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
5474
5475 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
5476
42d0867f
VS
54772012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
5478
5479 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
5480 frequency to 150 MHz.
5481
489509f4
VS
54822012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
5483
5484 Apple fixes.
5485
5486 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
5487 __APPLE_
5488 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
5489 definition.
5490 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
5491
9f3fc883
VS
54922012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
5493
5494 Handle slash in HFS label.
5495
5496 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
5497 (grub_hfs_dir): Tanslate slash.
5498 (grub_hfs_label): Don't translate slash.
5499
54853fd7
VS
55002012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
5501
5502 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
5503 network protocol listing since it introduces problematic dependency on
5504 net module.
5505
4dc02ddf
VS
55062012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
5507
5508 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
5509
c50c867d
VS
55102012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
5511
5512 Init video early on yeeloong to avoid being rebooted by watchdog.
5513
5514 * grub-core/Makefile.am (gensm712): New target.
5515 (sm712_start.S): Likewise.
5516 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
5517 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
5518 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
5519 description.
5520 * include/grub/vga.h: Move registry definitions to...
5521 * include/grub/vgaregs.h: ... here.
5522
5f92c8a1
VS
55232012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
5524
5525 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
5526 signedness.
5527
e9e6f111
VS
55282012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
5529
5530 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
5531 platforms with firmware disk drivers in the core.
5532
754ad9eb
VS
55332012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
5534
5535 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
5536 informative verbose message.
5537 (read_lv): Handle 64-bit segment size.
5538
315654c2
VS
55392012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
5540
5541 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
5542
fb022c79
VS
55432012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
5544
5545 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
5546 character but still remove trainling spaces.
5547 (grub_fat_label): Ignore archive flag.
5548
8645f72c
VS
55492012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
5550
5551 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
5552 cast between linux_kernel_header and linux_kernel_params.
5553
36498496
VS
55542012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
5555
5556 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
5557 type for size.
5558 (grub_raid6_recover_func_t): Likewise.
5559 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
5560 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
5561
0b5ea6b8
VS
55622012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
5563
5564 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
5565
650cfcfe
GS
55662012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
5567
5568 Fix overflow.
5569
5570 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
5571 [__NetBSD__]: Add explicit cast before bitshift.
5572
8a4d6a44
VS
55732012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5574
5575 * configure.ac: Bump to 2.00~rc1.
5576
2fb97ed3
VS
55772012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5578
5579 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
5580 half of $a0.
5581
1fa097dc
VS
55822012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
55832012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
5584
5585 * docs/grub.texi: Fix search syntax.
5586 (Multi-boot manual config): Put msdos rather than GPT example.
5587 Grammar corrections.
5588
c890ba78
VS
55892012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5590
5591 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
5592
0f92dca7
VS
55932012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5594
5595 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
5596
3988c4a0
VS
55972012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5598
5599 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
5600 message on double free. Put the value of magic in case of mismatch.
5601
9e86d4c5
VS
56022012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5603
5604 Speed-up video on yeeloong.
5605
5606 * grub-core/video/sm712.c (framebuffer): Remove render_target and
5607 add cached_ptr.
5608 (grub_video_sm712_video_fini): Unmap cached_ptr.
5609 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
5610 (grub_video_sm712_set_active_render_target): Removed.
5611 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
5612 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
5613 sync caches.
5614
ed24c312
VS
56152012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5616
5617 Avoid flushing the same line multiple times on loongson.
5618
5619 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
5620 Step in 32 bytes and not 1 byte.
5621 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
5622 Likewise.
5623
d1718e7d
VS
56242012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5625
5626 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
5627 subvolumes.
5628
982f1909
VS
56292012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5630
5631 Implement flow control for http.
5632
5633 * grub-core/net/http.c (parse_line): Handle response 206.
5634 (http_receive): Stall if too many packets are in the queue.
5635 (http_establish): Fix range header.
5636 (http_seek): Fix double free.
5637 (http_close): Likewise.
5638 (http_packets_pulled): New function.
5639 (grub_http_protocol): Set http_seek
5640 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
5641 (ack_real): Set window depending on i_stall.
5642 (grub_net_send_tcp_packet): Likewise.
5643 (grub_net_tcp_stall): New function.
5644 (grub_net_tcp_unstall): Likewise.
5645 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
5646 (grub_net_tcp_unstall): Likewise.
5647
bd407d6e
VS
56482012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5649
5650 * grub-core/net/tftp.c: Decrease stall to 50 packets.
5651
c7564b8e
VS
56522012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5653
5654 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
5655
a3706162
VS
56562012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5657
5658 * tests/util/grub-shell.in: Fix a typo.
5659
b27069e0
VS
56602012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5661
5662 Implement flow control for tftp.
5663
5664 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
5665 packets but stop only if stop condition is satisfied.
5666 (grub_net_fs_read_real): Call packets_pulled after real read. Use
5667 `stall' instead of `eof' as stop condition.
5668 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
5669 (http_err): Likewise.
5670 * grub-core/net/tftp.c (ack): Replace the first argument with data
5671 instead of socket.
5672 (tftp_receive): Stall if too many packets are in wait queue.
5673 (tftp_packets_pulled): New function.
5674 (grub_tftp_protocol): Set packets_pulled.
5675 * include/grub/net.h (grub_net_packets): New field count.
5676 (grub_net_put_packet): Increment count.
5677 (grub_net_remove_packet): Likewise.
5678 (grub_net_app_protocol): New field `packets_pulled'.
5679 (grub_net): New field `stall'.
5680
6b9cfac6
VS
56812012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5682
5683 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
5684 sync part to handle them.
5685
f35abd81
VS
56862012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5687
5688 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
5689 * grub-core/net/drivers/ieee1275/ofnet.c
5690 (grub_ieee1275_net_config_real): Likewise.
5691
0e7ec820
VS
56922012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5693
5694 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
5695 the direct route for server/gateway.
5696
9d611a31
VS
56972012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5698
5699 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
5700 IP address to server name since we may not hame the DNS.
5701
418f45ab
VS
57022012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5703
5704 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
5705 freeing random buffer on failure.
5706 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
5707
44a0efc1
VS
57082012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5709
5710 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
5711
531e2241
VS
57122012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5713
5714 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
5715 reserved bytes.
5716 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
5717 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
5718 Handle malloc error correctly.
5719
cde393c9
VS
57202012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5721
5722 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
5723 blocks.
5724
538478d0
VS
57252012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5726
5727 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
5728 increment.
5729
9b55efe0
VS
57302012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5731
5732 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
5733 none is explicitly specified.
5734
9eb832c3
VS
57352012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5736
5737 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
5738 while reallocating.
5739
d6b7c7c9
VS
57402012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5741
5742 Respect netmask from bootp/dhcp.
5743
5744 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
5745 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
5746 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
5747 into ...
5748 (grub_net_add_ipv4_local): ... this.
5749 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
5750 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
5751 (grub_net_add_ipv4_local): New proto.
5752
67caf9eb
VS
57532012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5754
5755 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
5756 determining EFI memory map size.
5757
43657558
VS
57582012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5759
5760 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
5761
eb6d0dd3
VS
57622012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5763
5764 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
5765 when looking for partition separator.
5766
31230544
VS
57672012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5768
5769 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
5770 Escape commas.
5771
918a2517
VS
57722012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5773
5774 Restructure FAT driver to avoid hook in label reading as it hits a
5775 GCC bug.
5776
5777 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
5778 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
5779 (grub_fat_iterate_dir): Split into ...
5780 (grub_fat_iterate_init): ... this, ...
5781 (grub_fat_iterate_fini): ... this, ...
5782 (grub_fat_iterate_dir_next): ... and this. All users updated.
5783
9f1d654e
VS
57842012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5785
5786 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
5787 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
5788 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
5789 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
5790 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
5791 New fields last_key and last_key_time.
5792 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
5793 extended key-esc into extended key-extended key.
5794
52f0f643
VS
57952012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5796
5797 Avoid unnecessary memcpy of whole video buffer.
5798
5799 * grub-core/video/fb/video_fb.c (dirty): New struct.
5800 (framebuffer): Add members current_dirty and previous_dirty.
5801 (dirty): New function.
5802 (grub_video_fb_fill_rect): Update dirty.
5803 (common_blitter): Likewise.
5804 (grub_video_fb_scroll): Likewise.
5805 (doublebuf_blit_update_screen): Copy only dirty part.
5806 (doublebuf_pageflipping_update_screen): Likewise.
5807 (grub_video_fb_doublebuf_blit_init): Init dirty.
5808 (doublebuf_pageflipping_init): Likewise.
5809 (grub_video_fb_setup): Likewise.
5810
e169a180
VS
58112012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5812
5813 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
5814 poll rate.
5815
48556879
VS
58162012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5817
5818 Fix wildcard regexp dot and other special characters handling.
5819 Reported by: Robert Mabee.
5820
5821 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
5822 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
5823 (split_path): Trigger expansion on '?'.
5824 (unescape): New function.
5825 (wildcard_expand): Unescape parts copied without globbing.
5826 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
5827 (grub_script_arglist_to_argv): Don't unescape expansions.
5828
0494408e
VS
58292012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5830
5831 * include/grub/net.h (grub_net_card): New member txbufsize.
5832 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
5833 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
5834 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
5835 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
5836 txbufsize.
5837 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
5838 compatible property to check for macs. Set
5839 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
5840 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
5841 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
5842 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
5843 (send_card_buffer): Use txbuf.
5844 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
5845 nested function out of the parent while on it.
5846
cc35fe8f
VS
58472012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5848
5849 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
5850 presence check.
5851 (grub_ieee1275_net_config_real): Fix config pointer.
5852
970a0a09
VS
58532012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5854
5855 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
5856 filename parsing to non-block devices.
5857
3e19bf87
VS
58582012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5859
5860 * grub-core/kern/device.c (grub_device_open): Remove dead code.
5861
c62d1a0c
VS
58622012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
5863
5864 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
5865 All users updated.
5866
ef76bec3
VS
58672012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
5868
5869 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
5870 UUID search command even if hints probing failed.
5871
58722012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
5873
5874 * po/POTFILES.in: Regenerated.
5875
70aaf305
VS
58762012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
5877
5878 Speed-up video on fuloong.
5879
5880 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
5881 New function.
5882 (grub_pci_device_unmap_range): Handle non-cached address.
5883 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
5884 add direct_ptr.
5885 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
5886 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
5887 (grub_video_sis315pro_set_active_render_target): Removed.
5888 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
5889 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
5890 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
5891 sync caches.
5892 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
5893 New proto.
5894
10400f0b
VS
58952012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5896
5897 * docs/grub.texi (Multi-boot manual config): New section.
5898
ba67e2c6
VS
58992012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5900
5901 Avoid slow read-back from VRAM.
5902
5903 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
5904 Move from here ...
5905 * grub-core/video/fb/video_fb.c
5906 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
5907 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
5908 (front_target): Remove front_target. Add pages.
5909 (grub_video_fb_init): Skip setting front_pages.
5910 (grub_video_fb_fini): Likewise.
5911 (doublebuf_blit_update_screen): Use pages.
5912 (grub_video_fb_doublebuf_blit_init): Likewise.
5913 (doublebuf_pageflipping_init): Allocate offscreen buffer.
5914 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
5915 (grub_video_fb_setup): Prefer doublebuffing.
5916
377c98cb
VS
59172012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5918
5919 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
5920 gzio.
5921
eac49cff
VS
59222012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5923
5924 Add loongson tests.
5925
5926 * tests/util/grub-shell.in: Handle loongson.
5927 * tests/partmap_test.in: Add loongson to the list of platform using ATA
5928 drivers.
5929 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
5930 Reboot instead of shutdown if REBOOT is defined.
5931
0321415e
VS
59322012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5933
5934 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
5935 sized ports since unlike on real hardware qemu supports only 32-bit
5936 regs.
5937
3f2bdd8f
VS
59382012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5939
5940 * Makefile.util.def (grub-mkrescue): Enable on loongson.
5941 * util/grub-mkrescue.in: Handle loongson.
5942
29a049c9
VS
59432012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
5944
5945 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
5946 Set is_part appropriately.
5947 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
5948 names. Canonicalize partition without full disk.
5949
4abde346
VS
59502012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5951
5952 Revert usb-quiesce since it's wrong.
5953
5954 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
5955 (grub_ofdisk_init): Don't do quiesce.
5956
61f1d93b
VS
59572012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5958
5959 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
5960 PowerMac workaround to Xserves as well.
5961 Information supplied by: Benjamin Herrenschmidt.
5962
a09eb541
VS
59632012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5964
5965 Don't assume that beginning address is also the entry point on ppc.
5966
5967 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
5968 (grub_linux_boot): Use linux_entry.
5969 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
5970 (grub_linux_load64): Likewise.
5971
505b3c9b
VS
59722012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5973
5974 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
5975
cbe0b4ef
VS
59762012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5977
5978 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
5979 needlessly lose the console.
5980
3006e981
VS
59812012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5982
5983 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
5984 space.
5985
4e5a96b0
VS
59862012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
5987
7da036bb
VS
5988 Remove non-functional EFI grub_get_rtc. Put a better fatal message
5989 than current grub_get_rtc() not implemented when booted with
5990 coreboot without TSC.
5991
5992 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
5993 Add machine/time.h to kernel headers on loongson.
5994 * grub-core/Makefile.core.def (kernel): Remove
5995 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
5996 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
5997 (grub_get_rtc): Likewise.
5998 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
5999 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
6000 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
6001 * grub-core/kern/i386/tsc.c (grub_tsc_init)
6002 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
6003 rather than installing known non-working time source.
6004 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
6005 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
6006 * include/grub/time.h: Don't include machine/time.h.
6007 * include/grub/efi/time.h: Removed.
6008 * include/grub/i386/efi/time.h: Likewise.
6009 * include/grub/i386/ieee1275/time.h: Likewise.
6010 * include/grub/powerpc/ieee1275/time.h: Likewise.
6011 * include/grub/sparc64/ieee1275/time.h: Likewise.
6012 * include/grub/x86_64/efi/time.h: Likewise.
6013
60142012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
6015
6016 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
6017
6018 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
6019 value.
6020 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
6021 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
6022 with dotless variants when any combining above is present.
6023
5561c22d
VS
60242012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
6025
6026 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
6027 text and not binary.
6028
96f7e60e
VS
60292012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
6030
6031 Stop polling as soon as we have the packet we were waiting for.
6032
6033 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
6034 All users updated.
6035 * grub-core/net/arp.c (have_pending): New var.
6036 (pending_req): Likewise.
6037 (grub_net_arp_send_request): Fill pending_req and use have_pending as
6038 stop indicator.
6039 (grub_net_arp_receive): Set have_pending.
6040 * grub-core/net/dns.c (recv_data): New field stop.
6041 (recv_hook): Set stop.
6042 (grub_net_dns_lookup): Init stop and use as stop condition.
6043 * grub-core/net/http.c (http_establish): Use headers_recv as stop
6044 condition.
6045 * grub-core/net/net.c (grub_net_poll_cards): New argument
6046 stop_condition. Stop when it goes true.
6047 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
6048 indicator.
6049 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
6050
3e747239
VS
60512012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
6052
6053 Keep TX and RX buffers on EFI rather than always allocate new ones.
6054
6055 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
6056 card. All users updated.
6057 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
6058 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
6059 (get_card_packet): Likewise.
6060 (grub_efinet_findcards): Init new fields.
6061
f695e99a
VS
60622012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
6063
6064 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
6065 compilation error on sparc64.
6066
9e5e66d1
VS
60672012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
6068
6069 Use ITC on IA64 rather than broken routine based on daytime.
6070
6071 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
6072 ia64.
6073 (grub_get_rtc) [__ia64__]: Likewise.
6074 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
6075 (get_itc): New function.
6076 (grub_rtc_get_time_ms): Likewise.
6077 (grub_machine_init): Calibrate ITC.
6078 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
6079 Keep only on non-ia64. Don't export since it's broken and used only
6080 if TSC is unavailable.
6081
a1767404
VS
60822012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
6083
6084 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
6085 even if it's used.
6086 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
6087 Skip if parent is unused.
6088
34b2bced
VS
60892012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
6090
6091 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
6092
5e619f40
VS
60932012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
6094
6095 Fix wildcard escaping.
6096
6097 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
6098 * grub-core/script/execute.c (wildcard_escape): .. to here.
6099 Don't escape dot.
6100 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
6101 * grub-core/script/execute.c (wildcard_unescape): .. to here.
6102 Don't escape dot.
6103 * grub-core/script/execute.c (gettext_append): Always escape.
6104 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
6105 * grub-core/script/yylex.l: Don't cut away the escaping.
6106 * tests/grub_script_echo1.in: Add tests with wildcard.
6107
c8ca5855
VS
61082012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
6109
6110 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
6111 (ftdi_hw_configure): Likewise.
6112 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
6113 define.
6114 (real_config): Handle 1.5 stop bits.
6115 (pl2303_hw_configure): Likewise.
6116
7183452c
VS
61172012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
6118
6119 * Makefile.am: Add ppc linux bootcheck.
6120 * grub-core/tests/boot/linux-ppc.cfg: New file.
6121 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
6122
f57c84cd
VS
61232012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
6124
6125 * tests/grub_script_expansion.in: Skip network protocols.
6126
ecfc6207
VS
61272012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
6128
6129 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
6130
8d03d284
VS
61312012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
6132
6133 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
6134 --rom-directory.
6135 Add -graft-points.
6136
61c42af0
VS
61372012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
6138
6139 ESCC serial driver for conducting sautomated tests in qemu.
6140 Not tested on real hardware.
6141
6142 * include/grub/serial.h (grub_serial_port): New field escc_desc.
6143 * grub-core/term/ieee1275/escc.c: New file.
6144 * grub-core/Makefile.core.def (escc): New module.
6145
08fd1291
VS
61462012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
6147
6148 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
6149 invalid on error.
6150 (serial_hw_fetch): Don't read invalid handle.
6151 (serial_hw_put): Don't write into invalid handle.
6152
08dafeea
VS
61532012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
6154
6155 Add a 1.5 stop bits value.
6156
6157 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
6158 * include/grub/serial.h (grub_serial_stop_bits_t): Add
6159 GRUB_SERIAL_STOP_BITS_1_5.
6160
9068fdcf
VS
61612012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
6162
6163 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
6164 value rather than let it uninited.
6165
f4d5820f
VS
61662012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6167
6168 * grub-core/commands/wildcard.c (+check_file): New function.
6169 (wildcard_expand): Don't expand to non-existing files, expand with
6170 suffix and not attempt to expand if not needed.
6171
3d2de9a7
VS
61722012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6173
6174 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
6175 out of partitions containing other partitions.
6176
c5c81ff9
VS
61772012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6178
6179 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
6180 on some qemu versions with GRUB.
6181
6182 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
6183 define.
6184 (grub_openbsd_bootarg_pcibios): New struct.
6185 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
6186 Add PCIINFO.
6187
08a14e0b
VS
61882012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6189
6190 * tests/util/grub-shell.in: Trim firmware output on EFI.
6191
cede3ca3
VS
61922012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6193
6194 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
6195 and coreboot since it's already in kernel.
6196
558d3a60
VS
61972012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6198
6199 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
6200 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
6201 to here. New return value start. All users updated.
6202 Recursively scan linear mappings.
6203 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
6204 proto.
6205 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
6206 Use grub_util_get_dm_node_linear_info.
6207 * util/getroot.c (convert_system_partition_to_system_disk): Use
6208 grub_util_info rather than grub_dprintf.
6209 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
6210
60fde14d
VS
62112012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6212
6213 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
6214
6215 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
6216 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
6217
24bd8838
VS
62182012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6219
6220 * include/grub/types.h (grub_set_unaligned64): New function.
6221 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
6222 (setup): Likewise.
6223
7bc06a49
VS
62242012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6225
6226 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
6227 (grub_ofdisk_fini): Quiesce USB devices.
6228
49cea015
VS
62292012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6230
6231 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
6232 caches.
6233
8dcbe03b
VS
62342012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6235
6236 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
6237
5b258735
VS
62382012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6239
6240 * grub-core/disk/pata.c (grub_pata_pio_read)
6241 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
6242 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
6243
37ba07eb
VS
62442012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6245
6246 Extend automated tests to qemu-mips.
6247
6248 * Makefile.am: reorganise tests and enable qemu-mips.
6249 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
6250 * grub-core/tests/boot/linux.init-mips.S: New file.
6251 * tests/partmap_test.in: Handle ata0 disks.
6252 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
6253 non-pc i386.
6254
070038f8
VS
62552012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6256
6257 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
6258 ia64.
6259 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
6260 quotes while on it.
6261
004be2cd
VS
62622012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6263
6264 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
6265 (grub_halt): Likewise.
6266 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
6267
b1622487
VS
62682012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6269
6270 * grub-core/term/serial.c (grub_serial_register)
6271 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
6272 the behaviour in line with x86 platforms.
6273
b7b4ab33
VS
62742012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6275
6276 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
6277 (grub_ata_strncpy): Likewise.
6278 (grub_ata_identify): Add missing byteswaps.
6279
5e3535ae
VS
62802012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6281
6282 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
6283 byte-swap.
6284 (screen_read_char): Likewise.
6285 (grub_vga_text_cls): Likewise.
6286
c21b17e6
VS
62872012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6288
6289 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
6290 filenames.
6291 (make_file_path): Likewise.
6292
bf293dec
VS
62932012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
6294
6295 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
6296 machines.
6297 Tested by: Paulo Flabiano Smorigo.
6298 Crucial information about API supplied by: Coleen <Last name unknown>.
6299 Reviewed by: Coleen <Last name unknown>.
6300
81f6ef0e
VS
63012012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
6302
6303 * util/grub-mkimage.c: Disable -Wcast-align.
6304
7284143a
VS
63052012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
6306
6307 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
6308 as they are fatal.
6309
b99f3e00
VS
63102012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
6311
6312 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
6313
944f752d
VS
63142012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
6315
6316 * util/grub-probe.c (escape_of_path): Fix double free.
6317
6cce6f38
VS
63182012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
6319
6320 * grub-core/commands/videoinfo.c (hook): Show pitch.
6321
1e1eb50e
VS
63222012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
6323
6324 * util/grub.d/20_linux_xen.in: Skip xen-syms.
6325
1c715b5a
VS
63262012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
6327
6328 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
6329 (probe): Add ieee1275 to OFW devices.
6330
007ae52d
VS
63312012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6332
6333 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
6334
4557a36d
VS
63352012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6336
6337 Handle IBM OFW path.
6338
6339 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
6340 available.
6341 (of_path_of_scsi): Handle vdevice.
6342
efbeefe9
VS
63432012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
6344
6345 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
6346 Allocate in multiples of 16 to avoid adding a few bytes free region the
6347 windows bugs upon.
6348
15a940bb
VS
63492012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
6350
6351 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
6352 Allocate in multiples of 16 to avoid adding a few bytes free region the
6353 windows bugs upon.
6354 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
6355
6e5efd60
VS
63562012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
6357
6358 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
6359 resolutions.
6360 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
6361 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
6362
0d3d137e
IS
63632012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
6364
6365 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
6366
45dbe300
VS
63672012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
6368
6369 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
6370 resulted in \\ at the end of the line.
6371
6d8db947
VS
63722012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
6373
6374 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
6375 (grub_parser_cmdline_state): Likewise.
6376 (grub_parser_split_cmdline): Likewise.
6377
de89d338
VS
63782012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
6379
6380 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
6381 /dev/root and /dev/dm-*.
6382
00d41dee
VS
63832012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
6384
6385 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
6386 fix partially stale display.
6387
f95d1f11
VS
63882012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
6389
6390 * grub-core/normal/menu_entry.c (backward_char): Use right line for
6391 substraction.
6392
6297e197
VS
63932012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
6394
6395 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
6396 Fix MBR remapping workaround.
6397 (grub_util_biosdisk_read) [__linux__]: Likewise.
6398
8a7ecad3
VS
63992012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
6400
6401 * util/grub-install.in: Check for ieee1275 and not ieee1276.
6402
2b34f944
VS
64032012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
6404
6405 * configure.ac: Bump to beta6.
6406
684aef11
CW
64072012-05-31 Christer Weinigel <christer@weinigel.se>
6408
6409 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
6410
05b0bb91
VS
64112012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
6412
6413 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
6414 (grub_cmd_linux): Likewise.
6415
bda36bfa
CW
64162012-05-31 Christer Weinigel <christer@weinigel.se>
6417
6418 Fix EHCI low-speed.
6419
6420 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
6421 (GRUB_EHCI_MULT_TWO): Likewise.
6422 (GRUB_EHCI_MULT_THREE): Likewise.
6423 (GRUB_EHCI_CMASK_MASK): New enum value.
6424 (GRUB_EHCI_SMASK_MASK): Likewise.
6425 (GRUB_EHCI_CMASK_OFF): Likewise.
6426 (GRUB_EHCI_SMASK_OFF): Likewise.
6427 (grub_ehci_pci_iter): Enable periodic schedule.
6428 (grub_ehci_parse_notrun): Likewise.
6429 (grub_ehci_restore_hw): Likewise.
6430 (grub_ehci_setup_qh): Set flags for low speed transfers.
6431 (grub_ehci_find_qh): Use periodic list for low speed.
6432 (grub_ehci_setup_transfer): Check periodic queue as well.
6433 (grub_ehci_check_transfer): Likewise.
6434 (grub_ehci_cancel_transfer): Cancel periodic transfer.
6435
e12bcb1c
PFS
64362012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6437
6438 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
6439 parameter is used.
6440
bcc75fb3
PJ
64412012-05-31 Peter Jones <pjones@redhat.com>
6442
6443 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
6444 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
6445 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
6446
f19cb95e
VS
64472012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
6448
6449 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
6450 uninited variable. Allocate at least setup_sects.
6451
a4e5ca80
VS
64522012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6453
6454 Fix handling of EFI with big memory maps.
6455
6456 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
6457 (real_mode_mem): Likewise.
6458 (real_mode_target): Likewise.
6459 (real_mode_pages): Likewise.
6460 (prot_mode_pages): Likewise.
6461 (linux_params): New var.
6462 (linux_cmdline): Likewise.
6463 (free_pages): Don't set real mode variables.
6464 (allocate_pages): Don't allocate real mode memory.
6465 (grub_e820_add_region): Remove the limit.
6466 (grub_linux_boot): Allocate and copy real mode memory.
6467 (grub_linux_unload): Free linux_cmdline.
6468 (grub_cmd_linux): Use temporary storage for parameters.
6469 (grub_cmd_initrd): Likewise.
6470 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
6471 (linux_kernel_params): Make it 1K big.
6472
ddb73558
VS
64732012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6474
6475 * Makefile.util.def: Remove -Wno-format.
6476 * grub-core/Makefile.core.def: Likewise.
6477
1c4afb60
VS
64782012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6479
6480 * tests/cmp_unit_test.c: Add missing failure message.
6481 * tests/example_unit_test.c: Likewise.
6482 * tests/printf_unit_test.c: Likewise.
6483
941e3a6d
VS
64842012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6485
6486 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
6487 relaxation of protective MBR requirements.
6488
b105df76
VS
64892012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
6490
6491 * configure.ac: Add condition for COND_HOST_XNU.
6492 * Makefile.util.def (10_xnu): New script.
6493 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
6494
84e1569e
VS
64952012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
6496
6497 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
6498 objconv bug.
6499
130c0f77
VS
65002012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
6501
6502 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
6503 Binary on other platforms stays identical.
6504
6fd0b143
VS
65052012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
6506
6507 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
6508 Apple.
6509
0af1751d
VS
65102012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
6511
6512 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
6513
176d5f7d
VS
65142012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
6515
6516 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
6517 rather than defining size_t ourselves to avoid conflict.
6518
7de5e20a
VS
65192012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
6520
6521 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
6522 initialisation to avoid __bzero reference.
6523
f7143efe
VS
65242012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
6525
6526 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
6527 version.
6528 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
6529 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
6530 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
6531 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
6532 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
6533
e6ad0555
VS
65342012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
6535
6536 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
6537 * grub-core/kern/misc.c: Likewise.
6538 * grub-core/loader/i386/xnu.c: Likewise.
6539 * include/grub/i386/tsc.h: Likewise.
6540 * include/grub/symbol.h: Likewise.
6541
4a5a3c4a
VS
65422012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
6543
6544 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
6545 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
6546 on older compiler.
6547
037f6d90
VS
65482012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
6549
6550 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
6551 Implement Apple flavour.
6552 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
6553
f7194551
VS
65542012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
6555
6556 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
6557 (memmove) [__APPLE__]: Likewise.
6558 (memcpy) [__APPLE__]: Likewise.
6559 (memset) [__APPLE__]: Likewise.
6560 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
6561 (memmove) [__APPLE__]: Likewise.
6562 (memcpy) [__APPLE__]: Likewise.
6563 (memset) [__APPLE__]: Likewise.
6564
85a730ca
VS
65652012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
6566
6567 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
6568 dependency discard.
6569
40e80b94
VS
65702012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6571
6572 * grub-core/normal/main.c (read_config_file): Provide config_file and
6573 config_directory.
6574 * util/grub.d/41_custom.in: Use config_directoy when available.
6575
9da59c32
VS
65762012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6577
6578 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
6579 (grub_bfs_dir): Likewise.
6580
2787ae53
PJ
65812012-05-27 Peter Jones <pjones@redhat.com>
6582
6583 The old code gives arguments to a printf function which can't work
6584 correctly, and the compiler complains.
6585
6586 * grub-core/tests/example_functional_test.c (example_test): Add
6587 missing text.
6588 * grub-core/tests/lib/test.c (add_failure): Rewrite.
6589 * include/grub/test.h (grub_test_assert_helper): New declaration.
6590 (grub_test_assert): Use grub_test_assert_helper.
6591
526ef13d
VS
65922012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6593
6594 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
6595 (exfctest): ... this to avoid overlong filenames.
6596 All users updated.
6597
20dd511c
VS
65982012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6599
6600 Handle "." and ".." on squashfs.
6601
6602 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
6603 Make inode numbers into stack.
6604 (grub_squash_read_symlink): Use stack.
6605 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
6606 (make_root_node): Fill stack.
6607 (grub_squash_open): Use stack.
6608
1d80c62a
VS
66092012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6610
6611 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
6612 freeing.
6613
d336f652
VS
66142012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6615
6616 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
6617 stderr on test calls.
6618
8b43f587
VS
66192012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6620
6621 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
6622
80a3dc3f
VS
66232012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6624
6625 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
6626
47e297d4
VS
66272012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6628
6629 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
6630 "..".
6631
df042ccb
VS
66322012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6633
6634 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
6635 (grub_hfsplus_iterate_dir): Add "." and "..".
6636
fc977f48
VS
66372012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6638
6639 * grub-core/fs/cpio.c (canonicalize): Handle "..".
6640 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
6641
f3250e5f
VS
66422012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6643
6644 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
6645 (find_path): Handle "." and "..".
6646
fd8ed4c5
VS
66472012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6648
6649 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
6650 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
6651 (grub_affs_iterate_dir): Handle hardlinks.
6652
4ce776d2
MG
66532012-05-26 Matthew Garrett <mjg@redhat.com>
6654
6655 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
6656 (grub_efi_console_fini): Likewise.
6657 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
6658 (grub_video_gop_fill_mode_info): Rename to ...
6659 (grub_video_gop_fill_real_mode_info): ... this.
6660 (grub_video_gop_fill_mode_info): New function.
6661 (grub_video_gop_setup): Setup double framebuffer.
6662 (grub_video_gop_get_info_and_fini): Use original framebuffer.
6663 Free offscreen.
6664 (grub_video_gop_swap_buffers): Copy framebuffer.
6665 (grub_video_gop_fini): Free offscreen buffer.
6666 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
6667 New enum.
6668 (grub_efi_gop_blt_pixel): New struct.
6669
683031ba
VS
66702012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
6671
6672 * gentpl.py: Remove error disabling for objconv.
6673
c2deb798
VS
66742012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
6675
6676 * configure.ac: Remove -Wunitialized as it's not available on older
6677 compilers.
6678
66792012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
6680
6681 Fix extent overflow comparator.
6682
6683 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
6684 (grub_hfsplus_read_block): Set type.
6685 (grub_hfsplus_cmp_extkey): Compare type.
6686
d6b1fd36
VS
66872012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
6688
6689 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
6690
0a9aa0f6
VS
66912012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
6692
6693 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
6694 than 0.
6695
8360e159
VS
66962012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
6697
6698 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
6699 (dejavu_bold_14.pf2): New target.
6700
501b9e4b
VS
67012012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
6702
6703 * configure.ac: Fix djvu font detection.
6704
7026b0e2
VS
67052012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
6706
6707 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
6708 ext* instead of ext2.
6709
c2a51ade
VS
67102012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
6711
6712 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
6713 name with \0.
6714
8f803a5d
JU
67152012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
6716
6717 * docs/grub-dev.texi: Remove dot from .png.
6718
13c6353f
VS
67192012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
6720
6721 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
6722 protective entry in any slot.
6723 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
6724 if protective entry is found in any slot.
6725
6726 Protective entry in non-first slot make no sense but is a widespread
6727 brain damage.
6728
4cf6be1b
VS
67292012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
6730
6731 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
6732
937d1c44
VS
67332012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
6734
6735 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
6736 with old reiserfs.
6737 (grub_reiserfs_open): Don't free root.
6738
021d90ec
VS
67392012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
6740
6741 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
6742 after freeing for safety.
6743
967b2b64
VS
67442012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6745
6746 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
6747 Reported by: Jordan Uggla.
6748
34274d02
JU
67492012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
6750
967b2b64
VS
6751 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
6752 actual implementation. Specifically, clarify that the grub menu will
6753 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
6754 passed.
34274d02 6755
dcaaae9d
BH
67562012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
6757
6758 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
6759 of r0.
6760
7086ad52
VS
67612012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6762
6763 Remove unjustified hard dependency of normal.mod on gfxterm.
6764
6765 * include/grub/term.h (grub_term_output): New member fullscreen.
6766 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
6767 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
6768 (grub_gfxterm): Set .fullscreen.
6769 * grub-core/normal/menu.c (menu_init): Use fullscreen.
6770 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
6771
37ed2c9b
VS
67722012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6773
6774 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
6775 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 6776 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 6777
a4469c88
VS
67782012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6779
6780 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
6781
4e461486
VS
67822012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6783
6784 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
6785 a bad FS.
6786
aa78f5c4
VS
67872012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6788
6789 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
6790 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
6791
197626b5
VS
67922012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6793
6794 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
6795 (grub_jfs_mount): Fill caseins.
6796 (grub_jfs_find_file): Respect caseins.
6797
8ad3f28c
VS
67982012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6799
6800 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
6801 through UTF-16.
6802
0c6c324e
VS
68032012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6804
6805 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
6806 New argument origpath. All users updated.
6807
c6666ba6
VS
68082012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6809
6810 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
6811 (read_attr): Ensure that we read start of possibly compressed block.
6812
e28e5fe5
VS
68132012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6814
6815 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
6816 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
6817 All users updated.
6818
5fc23ab2
VS
68192012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6820
6821 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
6822 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
6823 (dejavu.pf2): Replace with ...
6824 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
6825 this.
6826
79dbc21c
VS
68272012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6828
6829 * util/grub.d/20_linux_xen.in: Add missing line.
6830
d2fcfb0c
VS
68312012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6832
6833 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
6834 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
6835 (grub_utf16_to_utf8): Likewise.
6836
5560e9d6
VS
68372012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6838
6839 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
6840 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
6841 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6842 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
6843 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
6844 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
6845
68462012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
6847
6848 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
6849 a bad FS.
6850
5560e9d6 68512012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
6852
6853 * grub-core/fs/udf.c (read_string): Bail out on size=0.
6854 (grub_udf_read_symlink): Handle read_string failure.
6855
5eae3175
VS
68562012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
6857
6858 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
6859 comment.
6860
c1ad82db
VS
68612012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
6862
6863 Fix handling of UDF symlinks.
6864
6865 * grub-core/fs/udf.c (read_string): New argument outbuf.
6866 All users updated.
6867 (grub_ufs_read_symlink): Rename to ...
6868 (grub_udf_read_symlink): ... this. All users updated.
6869 Handle symlinks with more than one component.
6870
33eca6e0
VS
68712012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
6872
6873 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
6874 symlinks. Replace leading colon with a slash.
6875
57f4a70b
VS
68762012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
6877
6878 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
6879 filename.
6880
38c8ee20
VS
68812012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
6882
6883 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
6884 match in inner node.
6885
2e57f28f
VS
68862012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
6887
6888 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
6889 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
6890 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
6891 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
6892 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
6893 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
6894 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
6895 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
6896 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
6897
fe8c2f11
VS
68982012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
6899
6900 Use grub-probe and not cmp to check that disk is empty.
6901
6902 * util/grub-install.in: Use grub-probe for zero-check.
6903 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
6904 (probe): Handle PRINT_ZERO_CHECK.
6905 (argp_parser): Handle -t zero_check.
6906
69072012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
6908
6909 Flush block cache on adding disk to device map.
6910
6911 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
6912 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
6913 adding.
6914 (read_device_map): Likewise.
6915 (open_device): Flush on opening.
6916
690434e8
VS
69172012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6918
6919 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
6920 (handle_symlink): Fix off-by-one error.
6921 Canonicalize the target.
6922 (grub_cpio_dir): Canonicalize the name.
6923 Fix memory leak.
6924 Set directory.
6925 (grub_cpio_open): Canonicalize the name.
6926
742d2be6
VS
69272012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6928
6929 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
6930 handling.
6931
3244fe96
VS
69322012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6933
6934 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
6935 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
6936
8aeb1837
VS
69372012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6938
6939 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
6940 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 6941 All users updated.
8aeb1837 6942
9133fd05
VS
69432012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6944
6945 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
6946 counterpart.
6947
6d521c5b
VS
69482012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6949
6950 Fix UFS1 big file support.
6951
6952 * grub-core/fs/ufs.c (INODE): Removed.
6953 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
6954 64-bit.
6955 (INODE_MODE): Simplify.
6956 (grub_ufs_inode): Use uint64_t for size and not int64_t.
6957 (grub_ufs_lookup_symlink): Don't use INODE.
6958
21b82e17
VS
69592012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6960
6961 Fix minixfs with non-power-of-two blocks since it's supported by minix.
6962
6963 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
6964 (grub_minix_data): Replace log_block_size with block_size.
6965 (grub_minix_read_file): Use block_size but avoid 64-bit division.
6966 (grub_minix_mount): Fill block_size.
6967
69682012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
6969
6970 * configure.ac: Bump to beta5.
6971
f417ed04
VS
69722012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6973
6974 Fix wrapped HFS+ handling.
6975
6976 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
6977 blocks_start. All users updated.
6978 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
6979 wrapping offset.
6980 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
6981
607d282b
VS
69822012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6983
6984 Fix long symlinks on reiserfs.
6985
6986 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
6987 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
6988 (grub_reiserfs_iterate_dir): Save size for non-directories.
6989 (grub_reiserfs_open): Don't reread stat block as we already know the
6990 size.
6991 (grub_reiserfs_read): Split into...
6992 (grub_reiserfs_read_real): ... and ...
6993 (grub_reiserfs_read): ...this.
6994
ae16024d
VS
69952012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6996
6997 Fix non-indexed JFS.
6998
6999 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
7000 (grub_jfs_data): New field namecomponentlen.
7001 (grub_jfs_mount): Fill namecomponentlen.
7002 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
7003
eea1e26e
VS
70042012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
7005
7006 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
7007 * tests/grub_script_echo1.in: Add tests.
7008
df760f77
VS
70092012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
7010
7011 * util/grub-install.in: Ignore empty devicetree directory.
7012
5efb817d
B
70132012-05-08 Bean <bean123ch@gmail.com>
7014
7015 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
7016 All users updated.
7017 (free_rsm): Free header as well.
7018 (free_old_fragments): Fix memory leak.
7019 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
7020 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
7021 (destroy_pq): Likewise.
7022 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
7023
668ea6d2
VS
70242012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
7025
7026 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
7027 resulting hash as a precaution.
7028
1739b1fe
VS
70292012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
7030
7031 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
7032 '_' in variable names.
7033 * grub-core/net/net.c (grub_net_network_level_interface_register):
7034 Likewise.
7035
6ae485aa
VS
70362012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
7037
7038 Fix AFFS with non-512B blocks.
7039
7040 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
7041 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
7042 (grub_affs_data): Replace blocksize with log_blocksize.
7043 (grub_affs_read_block): Fix non-512B blocks.
7044 (grub_affs_read_symlink): Likewise.
7045 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
7046 (grub_affs_read): Fix non-512B blocks.
7047 (grub_affs_label): Likewise.
7048 (grub_affs_mtime): Likewise.
7049 (grub_affs_mount): Fix block detection routine.
7050
d20fab84
VS
70512012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
7052
7053 Add filesystem mtime to AFFS.
7054
7055 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
7056 (aftime2ctime): New function.
7057 (grub_affs_dir): Use aftime2ctime.
7058 (grub_affs_label): Fix return value.
7059 (grub_affs_mtime): New function.
7060 (grub_affs_fs): Add mtime.
7061
e87b10f5
VS
70622012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
7063
7064 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
7065 UTF-8.
7066
7dceec9b
VS
70672012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
7068
7069 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
7070 UTF-8.
7071
2f48221f
VS
70722012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
7073
7074 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
7075
dacd85cf
VS
70762012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
7077
7078 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
7079 flags.
7080 (FLAGS_CASE_SENSITIVE): New enum value.
7081 (cache_entry): New struct.
7082 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
7083 cache_size and cache.
7084 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
7085 Add log_blocksize and fshelp_flags.
7086 (grub_sfs_read_extent): Handle non-512 blocks.
7087 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
7088 (grub_sfs_read_file): Handle non-512 blocks.
7089 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
7090 fshelp_flags.
7091 (grub_sfs_read_symlink): Handle non-512 blocks.
7092 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
7093 (grub_sfs_dir): Free cache.
7094 (grub_sfs_close): Likewise.
7095
24e9a854
VS
70962012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
7097
7098 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
7099 filesystems.
7100
62ace64d
VS
71012012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
7102
7103 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
7104
83b2e89c
VS
71052012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
7106
7107 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
7108
75ccaea3
VS
71092012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
7110
7111 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
7112 (grub_sfs_read_extent): Likewise.
7113 (grub_sfs_read_block): Likewise.
7114 (grub_sfs_mount): Likewise.
7115 (grub_sfs_iterate_dir): Likewise.
7116 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
7117 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
7118
1b8463f2
VS
71192012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7120
7121 Fix errors on compressed NTFS with 512B clusters.
7122
7123 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
7124 types.
7125 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
7126 not 0.
7127 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
7128 Relax check for inline extents.
7129 (ntfscomp): Return correct -1 on error and not 0.
7130
4f8e368f
VS
71312012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7132
7133 * util/grub-install.in: Fix handling of prefix containing spaces.
7134
6f5d5ee8
VS
71352012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7136
7137 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
7138 (grub_squash_read_data): Fix offset byte-swapping.
7139
ce41ab7a
VS
71402012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7141
7142 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
7143 per common usage and preffered in several parts of code.
7144 (grub_memcmp): Likewise.
7145 (grub_strncmp): Likewise.
7146 * include/grub/misc.h (grub_strcasecmp): Likewise.
7147 (grub_strncasecmp): Likewise.
7148 * Makefile.util.def (cmp_test): New test.
7149 (grub_script_strcmp): Likewise.
7150 * tests/cmp_unit_test.c: New file.
7151 * tests/grub_script_strcmp.in: Likewise.
7152 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
7153
49717bf4
VS
71542012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7155
7156 * include/grub/pci.h: Move enums into no-asm part.
7157
0a308f64
VS
71582012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7159
7160 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
7161
1796965f
ST
71622012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
7163
7164 * util/getroot.c (find_hurd_root_device): Try to make error message
7165 and comments to translators clearer.
7166
4e9b2819
VS
71672012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7168
7169 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
7170
076aeb50
VS
71712012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7172
7173 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
7174 btrfs.
7175
19424d94
VS
71762012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7177
7178 * docs/grub.cfg: Update.
7179
ebb73076
VS
71802012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7181
7182 * docs/grub.texi (PXE): Remove not present variables.
7183
9a1b669c
VS
71842012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7185
7186 * grub-core/net/net.c (defserver_set_env): New function.
7187 (defserver_get_env): Likewise.
7188 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
7189
d38bf7d3
VS
71902012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7191
7192 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
7193 entries.
7194
71952012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
7196
7197 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
7198 * grub-core/kern/emu/hostdisk.c: Likewise.
7199
e5e4ca48
ST
72002012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
7201
7202 Handle hurd userspace partitions.
7203
7204 * util/getroot.c (find_hurd_root_device): New function.
7205 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
7206
56bb5dd5
VS
72072012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7208
7209 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
7210 names.
7211 Reported by: Bastian Blank.
7212
9e8bc27a
VS
72132012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7214
7215 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
7216 crossing page boundary.
7217
aa01499d
VS
72182012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7219
7220 Fix B-tree search in BFS, especially in presence of non-ASCII
7221 characters.
7222
7223 * grub-core/fs/bfs.c (bfs_strcmp): New function.
7224 (find_in_b_tree): Use standard bsearch + btree algorithm.
7225
57006035
VS
72262012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7227
7228 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
7229 and so on.
7230
9d34bb85
MG
72312012-05-03 Matthew Garrett <mjg@redhat.com>
72322012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7233
7234 Suspend broadcom cards in order to stop their DMA.
7235
7236 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
7237 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
7238 (pci): Don't build on x86 EFI.
7239 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
7240 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
7241 New function.
7242 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
7243 stop_broadcom if running on EFI.
7244 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
7245 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
7246 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
7247 (grub_pci_find_capability): New proto.
7248
01aab997
VS
72492012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7250
7251 * docs/grub.texi: Remove dot from the extension as it apparently
7252 doesn't work with some makeinfo versions.
7253
fbd8dca6
VS
72542012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7255
7256 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
7257 with GRUB expectance.
7258
dab797f4
VS
72592012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7260
7261 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
7262
1516bfb4
VS
72632012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7264
7265 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
7266 zero after directory block since last entry may be not 0-terminated if
7267 it ends on block boundary. Use continue instead of if spanning whole
7268 loop.
7269
a3a0eace
VS
72702012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7271
7272 Support 4K sectors UDF inline files.
7273
7274 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
7275 (grub_udf_extended_file_entry): Likewise.
7276 (grub_fshelp_node): Name the anonymous union. Put block at the end.
7277 All users updated.
7278 (get_fshelp_size): New function.
7279 (grub_udf_read_icb): Read whole block.
7280 (grub_udf_iterate_dir): Likewise.
7281 (grub_udf_dir): Likewise.
7282 (grub_udf_open): Likewise.
7283
c82f16c1
VS
72842012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7285
7286 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
7287
59fd2aac
VS
72882012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7289
7290 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
7291 inline symlinks in addition to workaround.
7292
3b4afb4d
VS
72932012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7294
7295 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
7296
f45c794a
VS
72972012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7298
7299 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
7300
f25cecbd
VS
73012012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7302
7303 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
7304
bb9a34e8
VS
73052012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
7306
7307 Fix reiserfs big seek times.
7308
7309 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
7310 exact. All users updated.
7311 (grub_reiserfs_read): Use nearest btree search for seeking.
7312 Fix return value on error.
7313
dc478aea
VS
73142012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
7315
7316 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
7317 entries.
7318 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
7319 * docs/grub.texi: Update menuentry description.
7320
8db10f47
VS
73212012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
7322
7323 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
7324 crash when embedding onto filesystem.
7325
bcb288ed
VS
73262012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
7327
7328 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
7329 name.
7330
a626fdd7
VS
73312012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7332
7333 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
7334
b2f68477
VS
73352012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7336
7337 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
7338 commit.
7339
ba15b2af
B
73402012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
73412012-05-01 Bean <bean123ch@gmail.com>
7342
7343 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
7344
a188012e
VS
73452012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7346
7347 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
7348 Special behaviour for len = 0 to read whole file isn't used anywhere and
7349 can cause buffer ovewrflows in several places.
7350
f0a53ed2
VS
73512012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7352
7353 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
7354
5ed554f0
VS
73552012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7356
7357 Handle RAIDZ on non-512B sectors.
7358
7359 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
7360 max_children_ashift.
7361 (fill_vdev_info_real): Fill max_children_ashift.
7362 (read_device): Use max_children_ashift.
7363
ddc58357
VS
73642012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7365
7366 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
7367
e3282399
VS
73682012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7369
7370 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
7371 disk names.
7372 * docs/grub.texi: Update device.map parts.
7373
ee618bd4
VS
73742012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7375
7376 Don't scan into non-diskfilter devices having diskfilter names.
7377
7378 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
7379 (scan_disk): New argument accept_diskfilter. Fix recursion depth
7380 handling.
7381 (scan_disk_hook): New function.
7382
bdf88864
B
73832012-04-29 Bean <bean123ch@gmail.com>
7384
7385 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
7386 allocation.
7387
32745f51
MK
73882012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
7389
7390 * configure.ac: Detect starfield theme font path
7391 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
7392
bc95c8c0
VS
73932012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
7394
7395 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
7396 geometry on serial consoles.
7397
147fbcab
VS
73982012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
7399
7400 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
7401 because of network consoles.
7402
0f42c889
VS
74032012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
7404
7405 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
7406 handling.
7407
4a3594c9
VS
74082012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
7409
7410 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
7411 falls on Q syndrom.
7412
5cb53879
VS
74132012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
7414
7415 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
7416 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
7417
b282dfe5
VS
74182012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7419
7420 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
7421 Allocate at lest 8192 for temporary buffer as required for lzo.
7422
daa59f47
VS
74232012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7424
7425 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
7426 to cluster_bits, since it's already added in.
7427 (grub_fat_read_data): Likewise.
7428
986748ce
VS
74292012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7430
7431 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
7432 as long as cluster size is multiple of 512 bytes.
7433
a20f6ad0
VS
74342012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
7435
7436 * util/grub-mkrescue.in: Fix locale directory.
7437
385f9abb
VS
74382012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
7439
7440 * grub-core/kern/emu/hostdisk.c (map): Make static.
7441
1c557d30
B
74422012-04-23 Bean <bean123ch@gmail.com>
7443
7444 * util/grub-fstest.c (fstest): Add missing break.
7445
524b5d3a
ST
74462012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
7447
7448 Fix hurd build.
7449
7450 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
7451 not define nr variable.
fe4824e9 7452 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
7453 find_root_devices_from_poolname, find_root_devices_from_libzfs,
7454 grub_find_device): Do not define.
524b5d3a 7455
9a06490c
VS
74562012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
7457
7458 Fix kfreebsd compile and behaviour.
7459
7460 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
7461 format-security.
7462 * util/getroot.c: Fix wait.h include.
7463 (grub_guess_root_devices): Error if grub_find_device fails.
7464 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
7465 (grub_util_get_dev_abstraction): Likewise.
7466 (grub_util_pull_device): Likewise.
7467 (grub_util_get_grub_dev): Likewise.
7468 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
7469
48143d96
VS
74702012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
7471
7472 Fix and unify wholedisk detection.
7473
7474 * util/getroot.c (convert_system_partition_to_system_disk): New argument
7475 is_part. All users updated.
7476 (device_is_wholedisk): Removed.
7477 (grub_util_biosdisk_get_grub_dev): Use is_part.
7478
ebbd24f3
VS
74792012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7480
7481 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
7482 mode.
7483
56f7aa1e
VS
74842012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7485
7486 * configure.ac: Bump to beta4.
7487
9c815e01
VS
74882012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7489
7490 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
7491 --fs-uuid --set UUID syntax.
7492
59e2651a
VS
74932012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7494
7495 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
7496 disunification.
7497
54e03cfc
VS
74982012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7499
7500 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
7501
81092a75
MK
75022012-04-18 Mads Kiilerich <mads@kiilerich.com>
7503
7504 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
7505
f8315e14
MG
75062012-04-18 Mike Gilbert <floppym@gentoo.org>
7507
7508 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
7509
1501ac21
B
75102012-04-18 Bean <bean123ch@gmail.com>
7511
7512 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
7513 place.
7514
cb7f944e
VS
75152012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7516
7517 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
7518 users updated.
7519 (grub_util_biosdisk_read): Handle Linux partitions not exactly
7520 corresponding to GRUB partitions.
7521 (grub_util_biosdisk_write): Likewise.
7522
b72d44a1
VS
75232012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7524
7525 Scan mdraid before LVM.
7526
7527 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
7528 (grub_diskfilter_register_front): ... this.
7529 (grub_diskfilter_register_back): New function.
7530 All users of grub_diskfilter_register updated.
7531
33d918b8
VS
75322012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7533
7534 * util/grub-install.in: Fix an automatic target detection bug.
7535
c6ca973d
VS
75362012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7537
7538 * util/grub-install.in: New option --efi-directory.
7539
b41be562
VS
75402012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
7541
7542 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
7543 boot services if we have no other choice.
7544
75452012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
7546
7547 * util/grub-mknetdir.in: Rename --override-directory to --directory and
7548 document it.
7549 * tests/util/grub-shell.in: Update to --directory.
7550
e0595a73
VS
75512012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
7552
7553 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
7554
4ed80652
VS
75552012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
7556
7557 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
7558 (grub_minix_read_file): Likewise.
7559 (grub_minix_read_inode): Likewise.
7560 (grub_minix_find_file): Likewise.
7561 (grub_minix_dir): Likewise.
7562
56008077
VS
75632012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
7564
7565 * util/grub-setup.c (setup): Fix partition handling and blocklist
7566 check.
7567
ee520775
VS
75682012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
7569
7570 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
7571 redundant buggy overlap check.
7572
16fc9293
VS
75732012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7574
7575 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
7576 and grub-mknetdir.
7577
9bab65c4
VS
75782012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7579
7580 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
7581 kh.loadflags on pre-2.00 kernels.
7582
3c491b47
VS
75832012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7584
7585 Terminate UNDI and PXE before launching the payload to avoid problems
7586 with DMA.
7587
7588 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
7589 (grub_loader_flags): ... this. All users updated.
7590 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
7591 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
7592 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
7593 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
7594 function.
7595 (grub_pxe_restore): Likewise.
7596 (fini_hnd): New var.
7597 (GRUB_MOD_INIT): Register shutdown hook.
7598 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
7599 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
7600 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
7601 (grub_loader_set): Rename second argument to flags.
7602
851ffada
VS
76032012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
7604
7605 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
7606 written bytes.
7607 (grub_get_num_of_utf8_bytes): New function.
7608 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
7609 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
7610 executing it.
7611 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
7612 (grub_ucs4_to_utf8): Change return type.
7613
491c57a8
VS
76142012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
7615
7616 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
7617 warning.
851ffada
VS
7618 * grub-core/fs/bfs.c (hop_level): Likewise.
7619 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 7620
756773df
VS
76212012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
7622
7623 * grub-core/lib/adler32.c: Recode due to license unclearness.
7624
fd556a96
VS
76252012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
7626
7627 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
7628 (test_header): Likewise.
7629
9f9d3f69
VS
76302012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
7631
7632 Fix --help formatting.
7633
7634 * util/grub-mkconfig_lib.in (print_option_help): New function.
7635 (grub_fmt): Likewise.
7636 * util/grub-install.in: Use print_option_help and grub_fmt.
7637 * util/grub-kbdcomp.in: Likewise.
7638 * util/grub-mkconfig.in: Likewise.
7639 * util/grub-mknetdir.in: Likewise.
7640 * util/grub-mkrescue.in: Likewise.
7641 * util/grub-mkstandalone.in: Likewise.
7642 * util/grub-reboot.in: Likewise.
7643 * util/grub-set-default.in: Likewise.
7644 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7645
561ec77e
VS
76462012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
7647
7648 * linguas.sh: Remove autogenerated *.po.
7649
7ec2b021
VS
76502012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7651
7652 * po/README: Move language fetcing to ...
7653 * linguas.sh: ... here.
7654 * po/README: Point to linguas.sh.
7655
a88f3270
VS
76562012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7657
7658 * po/README: Exclude ko.po due to disclaimer problems.
7659
d61357ce
VS
76602012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7661
7662 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
7663 len = 0.
7664 (grub_gettext_translate_real): Handle 0th string.
7665 (grub_gettext_translate): Ensure that "" isn't translated.
7666
505e41dc
VS
76672012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7668
7669 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
7670 TRANSLATORS comment.
7671 (grub_diskfilter_print_partmap): Propagate changing of error into
7672 warning.
7673
e44092db
VS
76742012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7675
7676 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
7677 to uint64_t to prevent overflow.
7678 (grub_diskfilter_lv): Increase start_extent and extent_count
7679 to uint64_t to prevent overflow.
7680
9b83956a
VS
76812012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
7682
7683 * configure.ac: Increase version.
7684
da0d5b3f
VS
76852012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
7686
7687 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
7688
7689 * po/Rules-translit: New file.
7690 * po/arabic.sed: Likewise.
7691 * po/cyrillic.sed: Likewise.
7692 * po/greek.sed: Likewise.
7693 * po/hebrew.sed: Likewise.
7694 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
7695 * po/Makefile.in.in: Add extra_dist4.
7696
ac66b453
VS
76972012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
7698
7699 Handle big-endian minixfs (fixes minixfs tests on bigendian).
7700
7701 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
7702 modify names. Introduce MODE_BIGENDIAN.
7703 * grub-core/fs/minix_be.c: New file.
7704 * grub-core/fs/minix2_be.c: Likewise
7705 * grub-core/fs/minix3_be.c: Likewise.
7706 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
7707 minix3_be.
7708 * grub-core/Makefile.core.def (minix_be): New module.
7709 (minix2_be): Likewise.
7710 (minix3_be): Likewise.
7711
77122012-04-01 Felix <email@hamburg.de>
7713
7714 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
7715 (devs): Add MBP 2011.
7716
0a2d5a82
VS
77172012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
7718
7719 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
7720
d1625889
VS
77212012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
7722
7723 * grub-core/normal/cmdline.c (print_completion): New field
7724 prompt_len.
7725 (grub_cmdline_get): Handle width properly.
7726
6d36a236
VS
77272012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
7728
7729 * grub-core/commands/lsacpi.c (options): Add missing terminator.
7730
9576977e
VS
77312012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
7732
7733 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 7734 after 29th of February.
9576977e 7735
d73ff15d
VS
77362012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
7737
7738 Fix exfat endianness handling.
7739
7740 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
7741 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
7742 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
7743 Byte-swap utf16 when necessary.
7744 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
7745
bbb39a45
AB
77462012-03-31 Anton Blanchard <anton@samba.org>
77472012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
7748
7749 Fix btrfs endianness handling.
7750
7751 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
7752 (lower_bound): Make root uint64_t. Use root in le.
7753 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
7754 (find_path): Fix template key init.
7755 (grub_btrfs_dir): Fix mtime byteswap.
7756 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
7757
354e0af7
VS
77582012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
7759
7760 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
7761 recursion_depth. Break infinite resursions. All users updated.
7762
4e75f21c
VS
77632012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
7764
7765 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
7766 after free.
7767 Reported by: Peter Jones.
7768
25581802
AB
77692012-03-31 Anton Blanchard <anton@samba.org>
7770
7771 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
7772 8 bit values.
7773
08fbf92e
VS
77742012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
7775
7776 * util/grub-install.in: Fix nvram call for PreP.
7777
5d1182a6
VS
77782012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
7779
7780 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
7781 the error when some elements are missing into a warning.
7782
3f8cdd90
VS
77832012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
7784
7785 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
7786
51006716
CW
77872012-03-28 Colin Watson <cjwatson@ubuntu.com>
7788
7789 * docs/grub.texi (Invoking grub-probe): New section.
7790 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
7791
e1bd676b
VS
77922012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
7793
7794 Fix tab and wide character handling in editor and menu.
7795
7796 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
7797 agglomerate control characters with combining marks.
7798 (bidi_line_wrap): Allow break on tab.
7799 (grub_unicode_get_comb_start): New function.
7800 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
7801 and tab correctly.
7802 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
7803 with a space.
7804 * grub-core/normal/term.c (print_ucs4_terminal): New argument
7805 fixed_tab_size. All users updated.
7806 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
7807 (grub_term_getcharwidth): Handle \t.
7808 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
7809 and copy.
7810
22e6a774
VS
78112012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7812
7813 Handle big-endian mdraid.
7814
7815 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
7816 * grub-core/Makefile.core.def (mdraid09_be): New module.
7817 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
7818 rather than grub_le_to_cpu* and grub_cpu_to_le*.
7819 * grub-core/disk/mdraid_linux_be.c: New file.
7820
3c0eae66
VS
78212012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7822
7823 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
7824
b6cf74c9
VS
78252012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7826
7827 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
7828 missing quotes which caused confusion among translators.
7829
83c93b9c
VS
78302012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7831
7832 * util/grub-mkconfig_lib.in: Fix typo.
7833
ac6fd218
VS
78342012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7835
7836 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
7837 spaces.
7838 * tests/grub_script_leading_whitespace.in: New file.
7839 * Makefile.util.def (grub_script_leading_whitespace): New test.
7840
ba287dd8
VS
78412012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7842
7843 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
7844 to work.
7845
d2d58d0a
VS
78462012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7847
7848 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
7849 starts with control character.
7850
0382d9bb
VS
78512012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7852
7853 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
7854 overflow.
7855 (grub_gdb_outbuf): Likewise.
7856
d83ff9f9
VS
78572012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7858
7859 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
7860 zero terminator. Fixes a crash.
7861
2282da4a
VS
78622012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
7863
7864 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
7865 beyond 4 GiB.
7866 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
7867 images independently of preffered adderss field.
7868
0ae4f0bd
VS
78692012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
7870
7871 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
7872 * grub-core/commands/regexp.c: Likewise.
7873 * grub-core/loader/i386/linux.c: Likewise.
7874 * grub-core/partmap/msdos.c: Likewise.
7875 * grub-core/script/execute.c: Likewise.
7876 * grub-core/term/gfxterm.c: Likewise.
7877
546fbe9b
VS
78782012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
7879
7880 Add variable parsing in $"..." and fix several mismatches with bash.
7881
7882 * Makefile.util.def (grub_script_gettext): New test.
7883 * grub-core/script/execute.c (parse_string): New function.
7884 (gettext_append): Likewise.
7885 (grub_script_arglist_to_argv): Use gettext_append.
7886 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
7887 * tests/grub_script_gettext.in: New file.
7888
9fdb2d7b
VS
78892012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
7890
7891 Fix handling of leading spaces in scripts.
7892
7893 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
7894 spaces.
7895 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
7896 other than skipping \r. All users updated.
7897 * tests/grub_script_echo1.in: Add space-related tests.
7898 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
7899
1a1ac4f6
VS
79002012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
7901
7902 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
7903
b63d89b6
VS
79042012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7905
7906 * configure.ac: Bump up the version to beta2.
7907
17f38c0f
VS
79082012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7909
7910 Fix gettext reload bugs (e.g. inability to disable gettext
7911 once enabled).
7912
7913 * grub-core/gettext/gettext.c: Encapsulate all static variables in
7914 main_context and secondary_context. All functions updated.
7915 (grub_gettext_translate): Rename to ...
7916 (grub_gettext_translate_real): ... this. Return NULL on failed
7917 translate.
7918 (grub_gettext_translate): Handle secondary context.
7919 (grub_gettext_delete_list): Close file and zero-out the context.
7920 (grub_mofile_open): Don't call grub_gettext_delete_list.
7921 Don't close file.
7922 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
7923 if locale="" to avoid pointless error message.
7924 (grub_gettext_env_write_lang): Update lang even if load fails.
7925 Handle secondary context.
7926 (grub_gettext_reread_prefix): New function.
7927 (read_main): Likewise.
7928 (read_secondary): Likewise.
7929 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
7930 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
7931 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
7932 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
7933
8e56f870
VS
79342012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7935
7936 * configure.ac: Decrease warning level to avoid spurious warnings and
7937 to be able to compile with GCC 4.2.
7938 * Makefile.util.def: Remove -Wno-error=logical-op.
7939
82f6d455
WB
79402012-03-10 William Bittner <william.bittner@gmail.com>
7941
7942 * util/import_unicode.py: Add missing brackets around string for
7943 python 3 support.
7944
1ecd61a4
VS
79452012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7946
7947 Fix efi chainloader on network root.
7948
7949 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
7950 network devices.
7951 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
7952 New function.
7953
14361ee8
VS
79542012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7955
7956 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
7957 unused show_text member.
7958 * docs/grub.texi: Document "text" property.
7959
922aabf3
VS
79602012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7961
7962 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
7963 in dprintf.
7964
ec316771
VS
79652012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7966
7967 Fix IMSM handling on Fedora.
7968
7969 * util/getroot.c (grub_util_is_imsm): New function.
7970 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
7971
0f021838
VS
79722012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7973
7974 * Makefile.am: Strip gold section.
7975 * conf/Makefile.common: Likewise.
7976 * gentpl.py: Likewise.
7977 * grub-core/Makefile.core.def: Likewise.
7978 * grub-core/genmod.sh.in: Likewise.
7979
1039c8eb
VS
79802012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7981
7982 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
7983 * util/grub.d/20_linux_xen.in: Likewise.
7984 Based on Debian patch.
7985
6dd412cd
VS
79862012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7987
7988 * util/grub.d/10_linux.in: Fix syntax error resulting in
7989 Richard Laager's patch.
7990 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
7991
3fd8bae5
VS
79922012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7993
7994 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
7995 dependencies.
7996
7eea1671
RL
79972012-03-10 Richard Laager <rlaager@wiktel.com>
7998
7999 * util/grub.d/10_linux.in: Fix ZFS root passing.
8000
e8e0566b
VS
80012012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8002
8003 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
8004 * grub-core/commands/xnu_uuid.c: Likewise.
8005 * grub-core/loader/efi/appleloader.c: Likewise.
8006 * grub-core/script/execute.c: Likewise.
8007 * grub-core/script/main.c: Likewise.
8008 * util/grub-mkfont.c: Likewise.
8009
1acc5b1f
VS
80102012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8011
8012 * util/grub-mkfont.c (options): Use more appropriate "select" that
8013 "set" for face index.
8014
35d70620
VS
80152012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8016
8017 * util/grub-editenv.c (options): Gettextize command summaries.
8018
c9eb96b5
VS
80192012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8020
8021 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
8022 "out of memory" error messagge.
8023
1f493136
VS
80242012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8025
8026 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
8027 of diskfilter for diskfilter on diskfilter support.
8028
6d790129
VS
80292012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8030
8031 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
8032
005f46c9
VS
80332012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8034
8035 * util/grub-install.in: Check for themes/starfield/theme.txt and not
8036 themes/starfield.
8037
c8f778a0
VS
80382012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8039
8040 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
8041
de1e64eb
VS
80422012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8043
8044 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
8045
c6d54211
VS
80462012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8047
8048 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
8049 of error message.
8050
dd390777
VS
80512012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
8052
8053 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
8054
5fd1c522
VS
80552012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
8056
8057 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
8058 message.
c6d54211 8059 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 8060
fae01f6c
VS
80612012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
8062
8063 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
8064 Gettextize.
8065 * util/grub-mount.c (options): Likewise.
8066
292fdaff
VS
80672012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
8068
8069 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
8070 gettextize.
8071 * grub-core/commands/search_wrap.c (options): Likewise.
8072
ecdbae77
VS
80732012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
8074
8075 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
8076
52bfedfa
VS
80772012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
8078
8079 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
8080 size calculation.
8081 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
8082 none is known.
8083
55b20e58
VS
80842012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
8085
8086 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
8087 "temporary" since it's used in identifier and is limited in space.
8088
fda9d101
VS
80892012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
8090
8091 * po/POTFILES.in: Regenerate. Include *.h since they contain
8092 translatable strings as well.
8093
6a0295e2
VS
80942012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
8095
8096 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
8097 byte-swap on big-endian.
8098 Reported by: Lennart Sorensen
8099
807fb77c
VS
81002012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
8101
8102 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
8103 (allocate_pages): Improve dprintf.
8104 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
8105 code32_start. Fill code32_start and kernel_alignment in params.
8106 (grub_cmd_initrd): Use prot_init_space.
8107
61ac50ba
VS
81082012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8109
8110 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
8111
abdd26dd
VS
81122012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8113
8114 * util/grub-install.in: Add missing dot at the end of sentence.
8115
6e69da9c
VS
81162012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8117
8118 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
8119 * grub-core/commands/videotest.c: Likewise.
8120 * grub-core/loader/i386/linux.c: Likewise.
8121
4a929343
VS
81222012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8123
8124 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
8125 sentence.
8126 Reported by: Milo Casagrande.
8127
bb51c6c6
VS
81282012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8129
8130 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
8131 * grub-core/commands/gptsync.c: Likewise.
8132 * grub-core/commands/hashsum.c: Likewise.
8133 * grub-core/commands/i386/pc/sendkey.c: Likewise.
8134 * grub-core/commands/legacycfg.c: Likewise.
8135 * grub-core/io/gzio.c: Likewise.
8136 * grub-core/net/net.c: Likewise.
8137 * grub-core/term/gfxterm.c: Likewise.
8138 * grub-core/term/terminfo.c: Likewise.
8139 * grub-core/tests/test_blockarg.c: Likewise.
8140 * grub-core/video/video.c: Likewise.
8141 * util/grub-install.in: Likewise.
8142 * util/grub-mkfont.c: Likewise.
8143
b2b149cb
VS
81442012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8145
8146 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
8147
c7c080ad
VS
81482012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8149
8150 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 8151 Reported by: David Prévot.
c7c080ad 8152
f2e243c0
VS
81532012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8154
8155 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
8156 description.
8157
09963c76
VS
81582012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8159
8160 * util/grub-script-check.c (main): Fix a syntax error message which was
8161 unclear.
8162
a50514a8
VS
81632012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8164
8165 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
8166
4650daec
VS
81672012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8168
8169 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
8170 messages.
8171
81722012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
8173
8174 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
8175 without argument.
8176 * util/grub-mount.c (options): Likewise.
8177
bbc5a342
VS
81782012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
8179
8180 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
8181
ef292a87
VS
81822012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
8183
8184 * grub-core/net/http.c: Add TRANSLATORS comments.
8185 * grub-core/normal/cmdline.c: Likewise.
8186 * grub-core/normal/misc.c: Likewise.
8187 * grub-core/partmap/msdos.c: Likewise.
8188 * grub-core/parttool/msdospart.c: Likewise.
8189 * grub-core/script/execute.c: Likewise.
8190 * grub-core/script/main.c: Likewise.
8191 * grub-core/term/terminfo.c: Likewise.
8192 * grub-core/video/bitmap.c: Likewise.
8193 * util/grub-install.in: Likewise.
8194 * util/grub-mkimage.c: Likewise.
8195 * util/grub-mklayout.c: Likewise.
8196 * util/grub-setup.c: Likewise.
8197
0fc19bd0
VS
81982012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
8199
8200 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
8201 with similar messages in grub-fstest.
8202
d95862ef
VS
82032012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
8204
8205 * util/grub-install.in: Unify "option requires an argument" message
8206 with similar messages in other files.
8207 * util/grub-mkconfig.in: Likewise.
8208
b7308f90
VS
82092012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
8210
8211 * util/grub-set-default.in: Replace printf with gettext_printf (the
8212 string in in question is already translated from grub-reboot)
8213
559dc587
VS
82142012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
8215
8216 * configure.ac: Bump up the version to beta1.
8217
1a11761f
VS
82182012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8219
8220 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
8221 case when min_align = 0.
8222
24539abd
VS
82232012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8224
8225 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
8226 and fix a case when line_start overflows.
8227
32bd735b
VS
82282012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8229
8230 * util/grub-reboot.in (usage): Mention id posibility.
8231 * util/grub-set-default.in (usage): Likewise.
8232
1a2fd1e6
VS
82332012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8234
8235 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
8236 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
8237 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
8238 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
8239 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
8240 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
8241 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
8242
90eeab76
VS
82432012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8244
8245 * grub-core/commands/menuentry.c (options): Remove
8246 GRUB_ARG_OPTION_REPEATABLE.
8247 Reported by: Andreas Vogel
8248
5ad1be82
AV
82492012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
8250
8251 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
8252
cb055286
HE
82532012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
8254
8255 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
8256 error.
8257
93b1cd79
VS
82582012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8259
8260 Use sort -V by the idea of Georgi Georgiev.
8261
8262 * util/grub-mkconfig_lib.in (version_sort): New function.
8263 (version_test_numeric): Use version_sort.
8264
0cdc126c
VS
82652012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8266
8267 Use submenus in grub-mkconfig.
8268
8269 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
8270 * util/grub-mkconfig_lib.in (grub_quote): New function.
8271 (gettext_printf): Use gettext and not gettext_quoted to fix several
8272 messages.
8273 * util/grub.d/10_hurd.in: Use submenus.
8274 * util/grub.d/10_kfreebsd.in: Likewise.
8275 * util/grub.d/10_linux.in: Likewise.
8276 * util/grub.d/10_netbsd.in: Likewise.
8277 * util/grub.d/20_linux_xen.in: Likewise.
8278 * util/grub.d/30_os-prober.in: Likewise.
8279 * util/grub.d/10_illumos.in: Add missing quoting.
8280 * util/grub.d/10_windows.in: Likewise.
8281
d9bef9bc
VS
82822012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8283
8284 Fix menu title instability bug.
8285
8286 * grub-core/commands/menuentry.c (options): New option --id.
8287 (grub_normal_add_menu_entry): New argument id. All users updated.
8288 (grub_cmd_menuentry): Handle --id.
8289 (grub_menu_init): Accept unknown arguments.
8290 * grub-core/normal/main.c (features): Add feature_menuentry_id and
8291 feature_menuentry_options.
8292 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
8293 saved_entry.
8294 (get_entry_number): Match with id as well.
8295 * include/grub/menu.h (grub_menu_entry): New member id.
8296 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
8297 * util/grub.d/00_header.in: Define menuentry_id_option.
8298 * util/grub.d/10_hurd.in: Define id.
8299 * util/grub.d/10_illumos.in: Likewise.
8300 * util/grub.d/10_kfreebsd.in: Likewise.
8301 * util/grub.d/10_linux.in: Likewise.
8302 * util/grub.d/10_netbsd.in: Likewise.
8303 * util/grub.d/10_windows.in: Likewise.
8304 * util/grub.d/20_linux_xen.in: Likewise.
8305 * util/grub.d/30_os-prober.in: Likewise.
8306
83072012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
8308
8309 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
8310 "scope" with "body".
8311
7c8d0ce7
VS
83122012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
8313
8314 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
8315 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
8316 prot_size and prot_file_size.
8317
49de079b
VS
83182012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
8319
8320 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
8321 All users updated. If easily=1 require raid-5/-6 to be full.
8322 (is_node_readable): Likewise.
8323 (scan_devices): Scan incomplete but readable LVs at the end.
8324 (grub_diskfilter_memberlist): Pull missing devices.
8325 (insert_array): Skip scanning until device is complete or scan is
8326 done otherwise.
8327 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
8328 check.
8329 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
8330 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
8331
aff05d45
MG
83322012-03-03 Matthew Garrett <mjg@redhat.com>
83332012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
8334
8335 Avoid EFI boot services when loading Linux.
8336
8337 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
8338 avoid_efi_bootservices. All users updated.
8339 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
8340 argument avoid_efi_bootservices. All users updated.
8341 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
8342 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
8343 align, min_align, relocatable, prefered_address. All users updated.
8344 Allocate avoiding boot services if kernel is relocatable.
8345 (grub_cmd_linux): Check if kernel is relocatable.
8346 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
8347 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
8348 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
8349 avoid_efi_boot_services.
8350 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
8351 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
8352 (linux_kernel_params): Likewise.
8353
3935dde2
MG
83542012-03-03 Matthew Garrett <mjg@redhat.com>
83552012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
8356
8357 Use EDID on EFI.
8358
8359 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
8360 datasize_out.
8361 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
8362 modes. Set gop_handle.
8363 (grub_video_gop_get_edid): New function.
8364 (grub_gop_get_preferred_mode): Likewise.
8365 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
8366 (grub_video_efi_gop_adapter): Set .get_edid.
8367 * include/grub/efi/edid.h: New file.
8368 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
8369
32107ec0
VS
83702012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
8371
8372 * util/grub-install.in: Load efivars unconditionally.
8373
e70a2c50
VS
83742012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
8375
8376 * po/Rules-piglatin: Change suffix from .po-update-en to
8377 .po-update-en-piglatin.
8378
8f9cace1
VS
83792012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
8380
8381 Add a pig farm.
8382
8383 * po/piglatin.sed: New file.
8384 * po/en@piglatin.header: Likewise.
8385 * po/Rules-piglatin: Likewise.
8386 * po/README: Add en@piglatin to autogenerated languages.
8387
8f95d002
VS
83882012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
8389
8390 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
8391 "Command for ...".
8392 * grub-core/commands/hdparm.c (options): Use "Display" rather than
8393 "Check" since we don't check anything.
8394 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
8395 is 64-bit one.
8396 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
8397 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
8398 (grub_md_sha512_real): Likewise.
8399
805a8dcc
VS
84002012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
8401
8402 * grub-core/commands/gptsync.c: Fix typographic quoting.
8403 * grub-core/commands/ieee1275/suspend.c: Likewise.
8404 * grub-core/commands/parttool.c: Likewise.
8405 * grub-core/commands/search_wrap.c: Likewise.
8406 * grub-core/commands/videoinfo.c: Likewise.
8407 * grub-core/gfxmenu/gui_label.c: Likewise.
8408 * grub-core/hello/hello.c: Likewise.
8409 * grub-core/kern/emu/main.c: Likewise.
8410 * grub-core/net/net.c: Likewise.
8411 * grub-core/normal/menu.c: Likewise.
8412 * grub-core/normal/menu_text.c: Likewise.
8413 * grub-core/normal/misc.c: Likewise.
8414 * util/grub-editenv.c: Likewise.
8415 * util/grub-install.in: Likewise.
8416 * util/grub-kbdcomp.in: Likewise.
8417 * util/grub-mkconfig.in: Likewise.
8418 * util/grub-mknetdir.in: Likewise.
8419 * util/grub-mkrescue.in: Likewise.
8420 * util/grub-mkstandalone.in: Likewise.
8421 * util/grub-reboot.in: Likewise.
8422 * util/grub-set-default.in: Likewise.
8423 * util/grub-setup.c: Likewise.
8424 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8425
40211ab8
VS
84262012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8427
8428 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
8429 * grub-core/commands/keystatus.c: Likewise.
8430 * grub-core/commands/loadenv.c: Likewise.
8431 * grub-core/commands/probe.c: Likewise.
8432 * grub-core/commands/regexp.c: Likewise.
8433 * grub-core/commands/true.c: Likewise.
8434 * grub-core/commands/videoinfo.c: Likewise.
8435 * grub-core/disk/cryptodisk.c: Likewise.
8436 * grub-core/disk/ldm.c: Likewise.
8437 * grub-core/disk/loopback.c: Likewise.
8438 * grub-core/disk/luks.c: Likewise.
8439 * grub-core/fs/zfs/zfsinfo.c: Likewise.
8440 * grub-core/kern/disk.c: Likewise.
8441 * grub-core/kern/emu/hostdisk.c: Likewise.
8442
0c7d99c7
VS
84432012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8444
8445 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
8446 * util/grub-install.in: Add missing quote in the comment.
8447
e7d2559b
VS
84482012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8449
8450 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
8451 * grub-core/commands/lsmmap.c: Likewise.
8452 * grub-core/commands/minicmd.c: Likewise.
8453 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
8454 * grub-core/commands/regexp.c: Likewise.
8455 * grub-core/gdb/gdb.c: Likewise.
8456 * grub-core/term/gfxterm.c: Likewise.
8457 * util/grub-mkconfig.in: Likewise.
8458 * util/grub-mkfont.c: Likewise.
8459 * util/grub-mklayout.c: Likewise.
8460 * util/grub-mknetdir.in: Likewise.
8461 * util/grub-mkrescue.in: Likewise.
8462 * util/grub.d/30_os-prober.in: Likewise.
8463
49ce9e50
VS
84642012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8465
8466 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
8467 with "Direct color" and "Packed" with "Packed pixel".
8468 (grub_cmd_videoinfo): Simplify legend.
8469
e4b791fa
VS
84702012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8471
8472 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
8473 absolutely unclear error message.
8474
fd1265cb
VS
84752012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8476
8477 * util/grub-mkstandalone.in: Remove confusing leftover print.
8478
8822a8a0
VS
84792012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8480
8481 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
8482 comments.
8483 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
8484 (GRUB_MOD_INIT): Likewise.
8485 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
8486 VGA mode.
8487 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
8488 comments.
8489 * util/grub-install.in (usage): Likewise.
8490 Spell ID in whole letters.
8491 Add missing ending dot.
8492 Quote variables.
8493 * util/grub-reboot.in: Fix capitalisation.
8494 * util/grub-set-default.in: Likewise.
8495
937fd0cc
VS
84962012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8497
8498 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
8499 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
8500 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
8501 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
8502 Disable -Werror for -Wdeprecated-declarations.
8503 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
8504 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
8505 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
8506 (grub_util_get_grub_dev): Make luks handling dependent on
8507 HAVE_DEVICE_MAPPER and not __linux__.
8508 (get_win32_path): Fix format security.
8509 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
8510 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
8511 Don't try grub_find_zpool_from_dir.
8512 (grub_make_system_path_relative_to_its_root) [!__linux__]:
8513 #ifdef-out paresdir.
8514
1bab1ae3
VS
85152012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8516
8517 * util/grub-pe2elf.c (usage): Add missing noreturn.
8518 (write_section_data): Rename name to shname to avoid shadowing.
8519 (write_symbol_table): Rename name to symname to avoid shadowing.
8520 Fix write_reloc_section call.
8521
ef023e42
VS
85222012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8523
8524 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
8525 to ensure that it's after the last byte of .text.
8526
48afcb75
VS
85272012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8528
8529 * util/ieee1275/ofpath.c (my_isdigit): New function.
8530 (trailing_digits): Use my_isdigit.
8531 (strip_trailing_digits): Likewise.
8532
88d51eff
VS
85332012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8534
8535 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
8536 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
8537
17edc2ba
VS
85382012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8539
8540 * grub-core/kern/i386/pc/startup.S: Define __start.
8541
ad5518d7
VS
85422012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8543
8544 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
8545 strip already transforms he format.
8546
9e95e1bf
VS
85472012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8548
8549 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
8550
9cc3ee5c
VS
85512012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8552
8553 * util/grub-install.in: Add missing gettext init.
8554 * util/grub-kbdcomp.in: Likewise.
8555 * util/grub-mkconfig.in: Likewise.
8556 * util/grub-mknetdir.in: Likewise.
8557 * util/grub-mkrescue.in: Likewise.
8558 * util/grub-mkstandalone.in: Likewise.
8559 * util/grub-reboot.in: Likewise.
8560 * util/grub-set-default.in: Likewise.
8561 * util/grub.d/00_header.in: Likewise.
8562 * util/grub.d/10_hurd.in: Likewise.
8563 * util/grub.d/10_windows.in: Likewise.
8564 * util/grub.d/30_os-prober.in: Likewise.
8565 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8566
49e08a06
VS
85672012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8568
8569 * po/Rules-swiss: Fix header comment.
8570
3809cb41
AV
85712012-02-29 Andreas Vogel <anvoit>
8572
8573 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
8574 resulted in leak of arguments.
8575
fa6ec573
VS
85762012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8577
8578 * grub-core/boot/i386/pc/startup_raw.S: Use separate
8579 reed_solomon_size const definition instead of computing it since
8580 Apple assembler doesn't support the later.
8581
22899b9c
VS
85822012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8583
8584 * gentpl.py (kernel): Rewrite Apple part.
8585
a132afc3
VS
85862012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8587
8588 * include/grub/kernel.h (FOR_MODULES): Check module magic.
8589
9d742bd4
VS
85902012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8591
8592 * util/grub-mkimagexx.c (locate_sections): Support non-standard
8593 ELF section gap.
8594 (load_image): Likewise.
8595
f04a9a21
VS
85962012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8597
8598 * configure.ac: Fix a typo in previous commit.
8599
46cf439c
VS
86002012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8601
8602 Don't add -Wl,-N on Apple platform.
8603
8604 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
8605 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
8606
c4c48c54
VS
86072012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8608
8609 * grub-core/Makefile.core.def (lzma_decompress): Use
8610 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
8611
31a12124
VS
86122012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8613
8614 * grub-core/genmod.sh.in: Rewrite the Apple part.
8615
4f3aa1af
VS
86162012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8617
8618 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
8619 comparison.
8620
7bd8b0c7
VS
86212012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8622
8623 * acinclude.m4 (grub_CHECK_PIC): New test.
8624 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
8625
97304d7c
VS
86262012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8627
8628 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
8629 to avoid the warning.
8630
fb883812
VS
86312012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8632
8633 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
8634 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
8635 after. All users updated.
8636
a121c964
VS
86372012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8638
8639 Use the common size routine in hostfs so we can read disks as well.
8640
8641 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
8642 (grub_util_get_fd_size): ... this. Return size in bytes.
8643 All users updated.
8644 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
8645 grub_util_get_fd_size.
8646
c66d6410
VS
86472012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8648
8649 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
8650 Add blocksize retrieval.
8651
dfc8aeb0
VS
86522012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8653
8654 * configure.ac: Restore CFLAGS after efiemu check.
8655
403e25a5
VS
86562012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8657
8658 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
8659 Apple bug.
8660
382775d1
VS
86612012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8662
8663 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
8664
6fd4e6e4
VS
86652012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8666
8667 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
8668 (grub_cmd_halt): Likewise.
8669
bea359d6
VS
86702012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8671
8672 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
8673 for local arithmetics.
8674 Break %sp init into 2 instructions.
8675 Add 0 byte at the end.
8676
32eb6ee1
VS
86772012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8678
8679 * grub-core/disk/diskfilter.c (read_segment): Initialise err
8680 before loops.
8681
e8377389
VS
86822012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8683
8684 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
8685 for context.
8686
8cb17de7
VS
86872012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8688
8689 * grub-core/disk/ldm.c (make_vg): Init part.name.
8690 (grub_ldm_detect): Silence spurious warning.
8691 (grub_util_is_ldm): Likewise.
8692
595717e6
VS
86932012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8694
8695 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
8696 sane value to avoid a spurious warning.
8697
c4b7e588
VS
86982012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8699
8700 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
8701 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
8702
59824957
VS
87032012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8704
8705 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
8706 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
8707
70115b99
VS
87082012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8709
8710 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
8711 hardcoding the relevant info.
8712
56733740
VS
87132012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8714
8715 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
8716 missing const qualifiers.
8717 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
8718
43481481
VS
87192012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8720
8721 * util/getroot.c [__APPLE__]: Add missing includes.
8722 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
8723
3cb38f01
VS
87242012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8725
8726 * util/grub-mkimage.c (generate_image): Silence spurious warning.
8727
d9dbf11e
VS
87282012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8729
8730 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
8731 avoid conflicts.
8732
0c42a45d
VS
87332012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8734
8735 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
8736
46c34eb0
VS
87372012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8738
8739 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
8740 and grub_file_close call.
8741
99ce1597
VS
87422012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8743
8744 Add LZSS Mach-O support (needed for new xnu kernelcache).
8745
8746 * grub-core/Makefile.core.def (xnu): Add file lzss.c
8747 * grub-core/loader/lzss.c: New file.
8748 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
8749 on Mach-O open failure.
8750 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
8751 Don't free cmdsXX in uncompressedXX is set.
8752 (grub_macho_file): Init new fields.
8753 New argument is_64bit. All users updated.
8754 Handle compressed. Error out if no suitable architecture is found.
8755 Don't close file.
8756 (grub_macho_open): New argument is_64bit. All users updated.
8757 * grub-core/loader/macho32.c: Add defines for new fields.
8758 * grub-core/loader/macho64.c: Likewise.
8759 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
8760 (grub_macho_parse): Handle compressed.
8761 Defer actual processing if compressed.
8762 (grub_macho_cmds_iterate): Decompress if compressed. New argument
8763 "filename". All users updated.
8764 (grub_macho_size): New argument "filename". All users updated.
8765 (grub_macho_get_entry_point): Likewise.
8766 (grub_macho_load): Handle compressed.
8767 * include/grub/macho.h (grub_macho_lzss_header): New struct.
8768 (GRUB_MACHO_LZSS_OFFSET): New define.
8769 (grub_decompress_lzss): New proto.
8770 * include/grub/machoload.h (grub_macho_file): New fields to handle
8771 compressed.
8772 (grub_macho_contains_macho64): Remove proto.
8773 (grub_macho_contains_macho32): Likewise.
8774 * util/grub.d/30_os-prober.in: Use kernel cache if available.
8775
ebd17d6f
VS
87762012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8777
8778 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
8779
2702b4e4
VS
87802012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
8781
8782 Fix make dist.
8783
8784 * Makefile.am (starfield_theme_files): New var.
8785 (starfield_DATA): Use starfield_theme_files.
8786 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
8787 Add bootcheck-related files.
8788 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
8789 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
8790 and font_char_metrics.txt.
8791 * grub-core/Makefile.core.def (kernel): Update extra_dist.
8792 (setjmp): Add lib/ia64/longjmp.S.
8793 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
8794 * po/POTFILES.in: Regenerate.
8795 * po/Rules-swiss: use DISTFILES.common.extra2 and not
8796 DISTFILES.common.extra1.
8797 * util/devicemap.c: Removed.
8798 * grub-core/lib/i386/relocator_backward.S: Likewise.
8799 * util/import_gcry.py: Remove unused files. Add extra_dist for
8800 ChangeLog.
8801
cf1adfdf
VS
88022012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
8803
8804 * grub-core/gettext/gettext.c (grub_mofile_open): Call
8805 grub_gettext_delete_list before changing grub_gettext_max to avoid
8806 running out of array bounds.
8807
88082012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
8809
8810 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
8811 grub_vga_text_init/grub_vga_text_fini.
8812
cf1adfdf 88132012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
8814
8815 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
8816
541d92e9
VS
88172012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8818
8819 * configure.ac: Bump to 2.00~beta0.
8820
7931dddf
VS
88212012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8822
8823 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
8824 missing initialisation.
8825
f1b16fa3
VS
88262012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8827
8828 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
8829
83ddae23
VS
88302012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8831
8832 Support v2 xnu boot arguments.
8833
8834 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
8835 New argument fsbfreq_out.
8836 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
8837 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
8838 be used.
8839 * grub-core/loader/machoXX.c (grub_macho_load): New argument
8840 darwin_version.
8841 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
8842 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
8843 (grub_xnu_boot_params): Rename to ...
8844 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
8845 (grub_xnu_boot_params_v2): New struct.
8846
dc693fe6
VS
88472012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8848
8849 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
8850 zeroing of CRC field before computing CRC.
8851
5a6e39c2
VS
88522012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8853
8854 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
8855 Change order of allocations to decrease fragmentation.
8856
6c21f5d7
VS
88572012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8858
8859 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
8860
cfe456dc
CW
88612012-02-27 Colin Watson <cjwatson@ubuntu.com>
8862
8863 Use write-combining MTRR to speed up video with buggy BIOSes.
8864
8865 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
8866 (cpuid): New define.
8867 (rdmsr): Likewise.
8868 (wrmsr): Likewise.
8869 (mtrr_base): Likewise.
8870 (mtrr_mask): Likewise.
8871 (grub_vbe_enable_mtrr_entry): New function.
8872 (grub_vbe_enable_mtrr): Likewise.
8873 (grub_vbe_disable_mtrr): Likewise.
8874 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
8875 control off to BIOS.
8876 (grub_video_vbe_init): Fill mtrr.
8877 (grub_video_vbe_fini): Disable mtrr.
8878 (grub_video_vbe_get_info_and_fini): Likewise.
8879 (grub_video_vbe_setup): Enable mtrr.
8880
e3c78337
CW
88812012-02-27 Colin Watson <cjwatson@ubuntu.com>
8882
8883 * include/grub/partition.h (grub_partition_map): Change prototype of
8884 embed to take a maximum value for nsectors.
8885 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
8886 * include/grub/fs.h (grub_fs): Likewise.
8887 * grub-core/partmap/msdos.c (embed_signatures): New array.
8888 (pc_partition_map_embed): Check for and avoid sectors matching any
8889 of the signatures in embed_signatures, up to max_nsectors.
8890 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
8891 returned sector map to max_nsectors.
8892 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
8893 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
8894 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
8895 * util/grub-setup.c (setup): Allow for the embedding area being
8896 split into multiple blocklists. Tell dest_partmap->embed the
8897 maximum number of sectors we care about.
8898
88992012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8900
8901 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
8902 Specify blocklist_install and reserver_first_sector for all fs.
8903 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
8904 blocklists.
8905
984b973f
VS
89062012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8907
8908 * util/grub-install.in: Clarify strings.
8909 Fix source dir check.
8910
f122e0d6
RL
89112012-02-27 Richard Laager <rlaager@wiktel.com>
8912
8913 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
8914 "zfs" and "fuse.zfs" as synonyms.
8915
071114bb
VS
89162012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8917
8918 * configure.ac: Put platform and target_cpu substitutions back since
8919 they are used for directories.
8920
817e6abc
RL
89212012-02-27 Richard Laager <rlaager@wiktel.com>
89222012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8923
8924 * util/grub.d/10_linux.in: Add ZFS-related arguments.
8925 * util/grub.d/20_linux_xen.in: Likewise.
8926
897b7419
RL
89272012-02-27 Richard Laager <rlaager@wiktel.com>
8928
8929 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
8930 with full paths.
8931
a414bd15
RL
89322012-02-27 Richard Laager <rlaager@wiktel.com>
8933
8934 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
8935 unescape.
8936
30ac48c4
VS
89372012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8938
8939 Don't use insecure popen in getroot.
8940
8941 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
8942 (exec_pipe): ... here.
8943 (find_root_devices_from_poolname): Use exec_pipe.
8944
53f13848
VS
89452012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8946
8947 Remove platform and target_cpu replacement.
8948
8949 * configure.ac: Remove platform and target_cpu substitutions.
8950 * tests/util/grub-shell.in: Use modinfo.
8951 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
8952 explicitly.
8953
90cb2803
VS
89542012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8955
8956 Autodetect platform in grub-install but allow override.
8957
8958 * util/grub-install.in: Autodetect platform. Support --target and
8959 --directory. Read platform from modinfo.sh.
8960
b9136427
VS
89612012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8962
8963 Support btrfs multi-volume probe.
8964
8965 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
8966 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
8967 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
8968 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
8969 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
8970 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
8971 grub_find_root_devices_from_btrfs if on btrfs.
8972
c36e5cd1
VS
89732012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8974
8975 Remove any awareness of *.c util files about target.
8976
8977 * Makefile.util.def (grub-setup): Split to ...
8978 (grub-bios-setup): ... and this.
8979 (grub-sparc64-setup): ... and this.
8980 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
8981 * docs/man/grub-setup.h2m: Split into ...
8982 * docs/man/grub-sparc64-setup.h2m: ... this.
8983 * docs/man/grub-bios-setup.h2m: ... and this.
8984 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
8985 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
8986 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
8987 (grub_target_addr_t): Remove.
8988 (grub_target_size_t): Remove.
8989 (grub_target_ssize_t): Remove.
8990 * util/grub-install.in: Use new grub-*-setup.
8991 * util/grub-mkimagexx.c (Elf_Word): New define.
8992 (Elf_Half): Likewise.
8993 (Elf_Section): Likewise.
8994 (ELF_ST_TYPE): Likewise.
8995 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
8996 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
8997
584b2f8a
VS
89982012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8999
9000 Replace grub_target_addr with more appropriate types.
9001
9002 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
9003 grub_target_addr with grub_addr.
9004 * grub-core/commands/iorw.c (grub_cmd_read): Replace
9005 grub_target_addr with grub_port.
9006 (grub_cmd_write): Likewise.
9007 * grub-core/commands/memrw.c (grub_cmd_read): Replace
9008 grub_target_addr with grub_addr.
9009 (grub_cmd_write): Likewise.
9010 * grub-core/video/efi_uga.c (find_line_len): Likewise.
9011
5a0dc6fb
VS
90122012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9013
9014 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
9015 const qualifier for vendor_guid.
9016
786aff6e
VS
90172012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9018
9019 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
9020 const qualifier.
9021 (efiemu_memequal): Likewise.
9022 (find_variable): Likewise.
9023
49017b17
VS
90242012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9025
9026 Fix missing console prototype on qemu-mips.
9027
9028 * include/grub/mips/qemu_mips/console.h: New file.
9029
c5988629
MG
90302012-02-27 Matthew Garrett <mjg@redhat.com>
90312012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9032
9033 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
9034 * include/grub/efi/efi.h: Likewise.
9035 * include/grub/efi/api.h: Add guid for EFI-specified variables.
9036 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
9037 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
9038 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
9039 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
9040 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
9041
e33f8d69
MG
90422012-02-27 Matthew Garrett <mjg@redhat.com>
9043
9044 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
9045
fb312cd9
VS
90462012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9047
9048 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
9049 error.
9050
7134247c
VS
90512012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9052
9053 * configure.ac: Remove inappropriate use of program_transform_name
9054 on grubdir and bootdir but allow explicit specification of those
9055 variables.
9056
6a313124
VS
90572012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9058
9059 * util/grub-mknetdir.in (grub_prefix): Removed.
9060 (subdir): Use @bootdirname@ and @grubdirname@.
9061
2311c5ca
VS
90622012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9063
9064 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
9065
7d5d60f7
VS
90662012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9067
9068 * po/POTFILES.in: Regenerated.
9069
8151bc82
VS
90702012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9071
9072 Remove improper use of program_transform_name on pkglibrootdir.
9073
9074 * configure.ac (pkglibrootdir): Removed.
9075 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
9076 * util/grub-mkimage.c: Likewise.
9077
b4a6a533
VS
90782012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9079
9080 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
9081 warning.
9082
668f304f
VS
90832012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9084
9085 * util/grub-install.in: Use file identifier if no UUID is available
9086 or user explicitly prompted for it.
9087
665f2341
NP
90882012-02-27 Navdeep Parhar <nparhar@gmail.com>
9089
9090 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
9091 (freebsd_get_zfs): New function.
9092 (grub_freebsd_boot): Pass zfs UUID.
9093 (grub_cmd_freebsd): Set zfs UUID.
9094
8151bc82 90952012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
9096
9097 * conf/Makefile.common (platformdir): Base on pkglibdir and not
9098 pkglibrootdir.
9099
e4c498a1
MG
91002012-02-27 Mike Gilbert <floppym@gentoo.org>
9101
9102 Add configure flag to control libzfs integration.
9103
9104 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
9105
1e9a9a3f
VS
91062012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9107
9108 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
9109 device.
9110 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
9111 small devices.
9112
036985b8
VS
91132012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9114
9115 Remove grub_{modname}_init and grub_{modname}_fini. They should never
9116 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
9117 be used on non-modules.
9118
9119 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
9120 Rename to grub_boot_init.
9121 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
9122 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
9123 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
9124 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
9125 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
9126 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
9127 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
9128 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
9129 includes.
9130 (grub_machine_init): Remove empty inits.
9131 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
9132 includes.
9133 (grub_machine_init): Remove empty inits.
9134 * grub-core/term/arc/console.c: Remove explicit proto.
9135 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
9136 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
9137 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
9138 grub_at_keyboard_fini.
9139 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
9140 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
9141 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
9142 grub_gfxterm_fini.
9143 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
9144 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
9145 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
9146 grub_vgatext_fini.
9147 * grub-core/term/ieee1275/console.c: Remove explicit proto.
9148 * grub-core/term/serial.c (GRUB_MOD_INIT)
9149 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
9150 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
9151 grub_serial_fini.
9152 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
9153 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
9154 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
9155 grub_terminfo_fini.
9156 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
9157 (GRUB_MOD_FINI): Likewise.
9158 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
9159 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
9160 (GRUB_MOD_FINI) [LOONGSON]: Rename to
9161 grub_video_radeon_fuloong2e_fini.
9162 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
9163 [LOONGSON]: Rename to grub_video_sis315pro_init.
9164 (GRUB_MOD_FINI) [LOONGSON]: Rename to
9165 grub_video_sis315pro_fini.
9166 * grub-core/video/sm712.c (GRUB_MOD_INIT)
9167 [LOONGSON]: Rename to grub_video_sm712_init.
9168 (GRUB_MOD_FINI) [LOONGSON]: Rename to
9169 grub_video_sm712_fini.
9170 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
9171 (grub_at_keyboard_fini): Likewise.
9172 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
9173 Don't declare grub_{modname}_init.
9174 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
9175 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
9176 New proto.
9177 (grub_keylayouts_fini) [!EMU]: Likewise.
9178 * include/grub/serial.h (grub_serial_init) [!EMU]:
9179 New proto.
9180 (grub_serial_fini) [!EMU]: Likewise.
9181 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
9182 New proto.
9183 (grub_terminfo_fini) [!EMU]: Likewise.
9184 * include/grub/video.h (grub_font_init) [!EMU]:
9185 New proto.
9186 (grub_font_fini) [!EMU]: Likewise.
9187 (grub_gfxterm_init) [!EMU]: Likewise.
9188 (grub_gfxterm_fini) [!EMU]: Likewise.
9189 (grub_video_sm712_init) [!EMU]: Likewise.
9190 (grub_video_sm712_fini) [!EMU]: Likewise.
9191 (grub_video_sis315pro_init) [!EMU]: Likewise.
9192 (grub_video_sis315pro_fini) [!EMU]: Likewise.
9193 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
9194 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
9195
d5534665
VS
91962012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9197
9198 Make nand a prefix for nand devices.
9199
9200 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
9201
10133b5f
VS
92022012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9203
9204 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
9205 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
9206
8e307a62
VS
92072012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9208
9209 * include/grub/env.h (grub_env_find): Remove prototype.
9210 * grub-core/kern/env.c (grub_env_find): Make static.
9211 (grub_env_set): Remove useless set.
9212
a4c65f34
VS
92132012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9214
9215 * grub-core/kern/i386/realmode.S: Remove useless align.
9216
d87893d5
VS
92172012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9218
9219 * include/grub/dl.h (grub_dl_load_file): Don't export.
9220
50159add
VS
92212012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9222
9223 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
9224 grub_dprintf.
9225
b2582b84
VS
92262012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9227
9228 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
9229 grub_errors.
9230 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
9231 not reloading whole superblock but only the part which is really needed.
9232 Remove useless grub_errors.
9233 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
9234 grub_errors.
9235
e2a83395
VS
92362012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9237
9238 Don't export grub_get_rtc.
9239
9240 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
9241 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
9242
e7d2a906
VS
92432012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9244
9245 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
9246
6cf1363b
VS
92472012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9248
9249 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 9250 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 9251
eece3349
VS
92522012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9253
9254 Remove prio_list.
9255
9256 * include/grub/list.h (grub_prio_list): Removed.
9257 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
9258 GRUB_COMMAND_PRIO_MASK.
9259 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
9260 GRUB_COMMAND_FLAG_ACTIVE.
9261 (grub_prio_list_insert): Removed.
9262 (grub_prio_list_remove): Likewise.
9263 (GRUB_AS_PRIO_LIST): Likewise.
9264 (GRUB_AS_PRIO_LIST_P): Likewise.
9265 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
9266 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
9267 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
9268 * grub-core/kern/command.c (grub_register_command_prio): Inline
9269 the prio_list code.
9270 (grub_unregister_command): Likewise.
9271
94f064b4
VS
92722012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9273
9274 Fix interrupt mixup from previous commit.
9275
9276 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
9277 (grub_realidt): New var.
9278 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
9279 Load idt.
9280 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
9281 New declaration.
9282 (grub_relocator16_boot): Set grub_relocator16_idt.
9283 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
9284 (LOCAL(realidt)): ... this.
9285 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
9286 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
9287 (grub_realidt): New variable.
9288
27317084
VS
92892012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9290
9291 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
9292 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
9293 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
9294 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
9295 Gettextize.
9296 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
9297 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
9298 * po/POTFILES.in: Regenerate.
9299
47b40053
VS
93002012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9301
9302 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
9303 errors.
9304
2b343101
VS
93052012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9306
9307 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
9308 \0.
9309 (add_length): Likewise.
9310
ff27c3dd
LK
93112012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
93122012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
9313
9314 GDB serial and backtrace support.
9315
9316 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
9317 (prot_to_real): Likewise.
9318 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
9319 * grub-core/Makefile.core.def (backtrace): New module.
9320 (gdb): Likewise.
9321 * grub-core/gdb/cstub.c: New file.
9322 * grub-core/gdb/gdb.c: Likewise.
9323 * grub-core/gdb/i386/idt.c: Likewise.
9324 * grub-core/gdb/i386/machdep.S: Likewise.
9325 * grub-core/gdb/i386/signal.c: Likewise.
9326 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 9327 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
9328 * include/grub/backtrace.h: Likewise.
9329 * include/grub/gdb.h: Likewise.
9330 * include/grub/i386/gdb.h: Likewise.
9331
93322012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
9333
9334 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
9335 New function.
9336 (add_length): Likewise.
9337 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
9338 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
9339 proto.
9340 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
9341 __argp_get_display_len.
9342
ff27c3dd 93432012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
9344
9345 $"..." support in scripts.
9346
9347 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
9348 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
9349 * grub-core/script/yylex.l: Likewise.
9350 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
9351 value.
9352
ff27c3dd 93532012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
9354
9355 * gentpl.py: Remove obsolete pkglib_DATA handling.
9356
ff27c3dd 93572012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
9358
9359 Don't transform PACKAGE_TARNAME following a discussion on autoconf
9360 mailing list.
9361
9362 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
9363 * util/grub-kbdcomp.in: Likewise.
9364 * util/grub-mkconfig.in: Likewise.
9365 * util/grub-mkconfig_lib.in: Likewise.
9366 * util/grub-mknetdir.in: Likewise.
9367 * util/grub-mkrescue.in: Likewise.
9368 * util/grub-mkstandalone.in: Likewise.
9369 * util/grub-reboot.in: Likewise.
9370 * util/grub-set-default.in: Likewise.
9371 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9372
ff27c3dd 93732012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
9374
9375 Remove GRUB_PREFIX.
9376
9377 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
9378 * util/grub.d/00_header.in: Compute prefix in the only place it's still
9379 used for backward compatibility.
9380
ff27c3dd 93812012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
9382
9383 Add new all_video module.
9384
9385 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
9386 * grub-core/Makefile.core.def (all_video): New module.
9387 * grub-core/genmoddep.awk: Generate dependency of all_video from
9388 video.lst.
9389 * grub-core/lib/fake_module.c: New file.
9390 * grub-core/normal/main.c (features): Add feature_all_video_module.
9391 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
9392 don't do explicit search again.
47454da5 9393 insmod all_video in load_video if available.
22c7ce85 9394
ff27c3dd 93952012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
9396
9397 Another round of string clarification and adding TRANSLATORS comments.
9398
ff27c3dd 93992012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
9400
9401 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
9402
ff27c3dd 94032012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
9404
9405 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
9406 to grub_ssize_t.
9407 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
9408 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
9409
ff27c3dd 94102012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
9411
9412 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
9413 trailing newline implicitly. All users updated.
9414
ff27c3dd 94152012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
9416
9417 Implement serial on IEEE1275 and EFI.
9418
9419 * docs/grub.texi (Platform-specific limitations): Fix the columen video
9420 on emu. Mention arc and emu as the only platforms without serial
9421 support.
9422 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
9423 ieee1275 platforms.
9424 * grub-core/term/efi/serial.c: New file.
9425 * grub-core/term/ieee1275/serial.c: Likewise.
9426 * grub-core/term/serial.c (grub_serial_find): Disable direct port
9427 specification if no ns8250 driver is available.
9428 (grub_cmd_serial): Likewise.
9429 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
9430 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
9431 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
9432 (grub_efi_parity_type_t): New type.
9433 (grub_efi_stop_bits_t): Likewise.
9434 (grub_efi_serial_io_interface): New struct.
9435 * include/grub/serial.h (grub_serial_port): Make 'broken' field
9436 available for all interfaces.
9437 Add EFI and IEEE1275 fields.
9438 (grub_ofserial_init): New proto.
9439 (grub_efiserial_init): Likeiwse.
9440 * util/grub.d/00_header.in: Don't check for the presence of serial
9441 module.
9442
ff27c3dd 94432012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
9444
9445 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
9446 name as if it was an alias.
9447
114076ef
VS
94482012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
9449
9450 * grub-core/commands/lsacpi.c (options): Fix typo.
9451
6a656b0e
VS
94522012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
9453
9454 Convert grub-emu to argp.
9455
9456 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
9457 emu.
9458 * util/argp_common.c: Rename to ...
9459 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
9460 Add missing includes.
9461 * grub-core/kern/emu/main.c: Convert to argp.
9462 * po/POTFILES.in: Regenerate.
9463 * util/grub-install.in (usage): Make first letter lowcase in messages
9464 for uniformity.
9465 * util/grub-setup.c (options): Likewise.
9466
1e3f8ae8
VS
94672012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
9468
9469 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
9470 Put back accidently commented-out code.
9471
ed167a80
VS
94722012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
9473
9474 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
9475 loop check using Brent algorithm.
9476 (grub_hfsplus_btree_search): Likewise.
9477
6753c0ec
VS
94782012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
9479
9480 * util/grub-install.in: Fix usage of wrong device for PreP install.
9481
4e27343f
VS
94822012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
9483
9484 * conf/Makefile.common (CFLAGS_GNULIB): Add
9485 -Wno-unsafe-loop-optimizations.
9486 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
9487 on tools.
9488 * grub-core/commands/legacycfg.c: Add pragma to skip
9489 -Wunsafe-loop-optimizations.
9490 (check_password_md5_real): Fix loop counter type.
9491 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
9492 reading.
9493 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
9494 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
9495 loop condition.
9496 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
9497 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
9498 * grub-core/net/net.c (grub_net_route_address): Add safety loop
9499 condition.
9500 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
9501 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
9502 avoid possible infinite loops.
9503 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
9504 and -Wunsafe-loop-optimizations.
9505 * grub-core/script/yylex.l: Likewise.
9506 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
9507 (print_glyphs): Avoid infinite loops.
9508 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
9509
697f18b0
GS
95102012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
9511
9512 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
9513 to avoid infinite loop.
9514 (disp_acpi_rsdt_table): Likewise.
9515
274416e8
VS
95162012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
9517
9518 * grub-core/font/font.c (grub_font_load): Add support for default
9519 path for fonts ($prefix/fonts).
9520 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
9521 for checking if string is a path.
9522 * grub-core/normal/main.c (features): Add feature_default_font_path.
9523 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
9524 * util/grub.d/00_header.in: Use default directory if possible.
9525 * util/grub-install.in: Install unicode.pf2.
9526
b3e08622
VS
95272012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
9528
9529 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
9530 * po/Rules-swiss: New file.
9531 * po/swiss.sed: Likewise.
9532
fe42ce09
VS
95332012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
9534
9535 * grub-core/fs/btrfs.c (find_device): Fix typos.
9536 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
9537 * util/grub-mkrelpath.c (argp_parser): Likewise.
9538 Reported by: Yuri Chornoivan.
9539
72f1d065
DO
95402012-02-23 Dalet Omega <daletomega@gmail.com>
9541
9542 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
9543 for usual informative messages.
9544
c5884973
DO
95452012-02-23 Dalet Omega <daletomega@gmail.com>
9546
9547 Starfield theme.
9548
9549 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
9550 * conf/Makefile.common: Define starfielddir.
9551 * configure.ac: Configure starfield.
9552 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
9553 * themes/starfield/README: Likewise.
9554 * themes/starfield/blob_w.png: Likewise.
9555 * themes/starfield/boot_menu_c.png: Likewise.
9556 * themes/starfield/boot_menu_e.png: Likewise.
9557 * themes/starfield/boot_menu_n.png: Likewise.
9558 * themes/starfield/boot_menu_ne.png: Likewise.
9559 * themes/starfield/boot_menu_nw.png: Likewise.
9560 * themes/starfield/boot_menu_s.png: Likewise.
9561 * themes/starfield/boot_menu_se.png: Likewise.
9562 * themes/starfield/boot_menu_sw.png: Likewise.
9563 * themes/starfield/boot_menu_w.png: Likewise.
9564 * themes/starfield/slider_c.png: Likewise.
9565 * themes/starfield/slider_n.png: Likewise.
9566 * themes/starfield/slider_s.png: Likewise.
9567 * themes/starfield/src/blob_nw.xcf: Likewise.
9568 * themes/starfield/src/bootmenu/: Likewise.
9569 * themes/starfield/src/bootmenu/center.xcf: Likewise.
9570 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
9571 * themes/starfield/src/bootmenu/side.xcf: Likewise.
9572 * themes/starfield/src/slider_c.xcf: Likewise.
9573 * themes/starfield/src/slider_n.xcf: Likewise.
9574 * themes/starfield/src/slider_s.xcf: Likewise.
9575 * themes/starfield/src/terminalbox/: Likewise.
9576 * themes/starfield/src/terminalbox/center.xcf: Likewise.
9577 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
9578 * themes/starfield/src/terminalbox/side.xcf: Likewise.
9579 * themes/starfield/starfield.png: Likewise.
9580 * themes/starfield/terminal_box_c.png: Likewise.
9581 * themes/starfield/terminal_box_e.png: Likewise.
9582 * themes/starfield/terminal_box_n.png: Likewise.
9583 * themes/starfield/terminal_box_ne.png: Likewise.
9584 * themes/starfield/terminal_box_nw.png: Likewise.
9585 * themes/starfield/terminal_box_s.png: Likewise.
9586 * themes/starfield/terminal_box_se.png: Likewise.
9587 * themes/starfield/terminal_box_sw.png: Likewise.
9588 * themes/starfield/terminal_box_w.png: Likewise.
9589 * themes/starfield/theme.txt: Likewise.
9590
17d73325
VS
95912012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
9592
9593 * util/grub.d/00_header.in: Add missing export theme.
9594
dbebaf92
VS
95952012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9596
9597 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
9598 already included.
9599 Reported by: Eren D.
9600
3d68bffb
VS
96012012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9602
9603 * conf/Makefile.common (grubdatadir): Removed.
9604 (Makefile.am): Move eveything grubdata to pkgdata.
9605
4b59234d
VS
96062012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9607
9608 * grub-core/commands/acpihalt.c (get_sleep_type):
9609 Remove unused variable.
9610
463dcadc
VS
96112012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9612
9613 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
9614 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
9615 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
9616 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
9617 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
9618 i18n with gettext no-op.
9619 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
9620 GRUB_ACPI_OPCODE_STRING_CONST.
9621 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
9622 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
9623
e5b90c82
VS
96242012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9625
9626 * po/POTFILES.in: Regenerate.
9627
2a704ca9
VS
96282012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9629
9630 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
9631 -Wno-error=missing-noreturn.
9632
84f9d341
VS
96332012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9634
9635 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
9636 condition to avoid possibly infinite loops.
9637 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
9638 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
9639
d46683f9
VS
96402012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9641
9642 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
9643 condition to avoid possibly infinite loops.
9644
c44866b2
VS
96452012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9646
9647 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
9648 on show_error.
9649
96790539
VS
96502012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9651
9652 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
9653
1ba7e295
VS
96542012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9655
9656 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
9657
21ffe8f1
VS
96582012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9659
9660 * util/bin2h.c (usage): Add missing attribute noreturn.
9661
0ccb6b3c
VS
96622012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9663
9664 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
9665 if the size isn't divisible by 512.
9666
b00d7fb6
VS
96672012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9668
9669 Make list_push and list_remove functions rather than inline functions
9670 to decrease size and avoid aliasing violations.
9671
9672 * include/grub/list.h (grub_list_push): Move to ...
9673 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
9674 * include/grub/list.h (grub_list_remove): Move to ...
9675 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
9676
9d369087
VS
96772012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9678
9679 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
9680 and -Wunused-result.
9681
af0250d9
VS
96822012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
9683
9684 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
9685 Reported by: Seth Goldberg
9686
aad32b14
VS
96872012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
9688
9689 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
9690
ac96441c
ST
96912012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
9692
9693 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
9694 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
9695 command line.
9696 * docs/grub.texi (Simple configuration): Document
9697 GRUB_CMDLINE_GNUMACH.
9698
96992012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
9700
9701 * conf/Makefile.common (platform_SCRIPTS): New variable.
9702 (platform_PROGRAMS): Likewise.
9703 * gentpl.py: Mark *,module and *.image for install.
9704 * grub-core/gdb_grub.in: Add a notice of expected environment.
9705 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
9706 (gmodule.pl): Likewise.
9707
ac96441c 97082012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
9709
9710 Replace grub_checkkey with grub_getkey_noblock.
9711
9712 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
9713 (grub_getkey_noblock): ... this. All users updated.
9714
ac96441c 97152012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
9716
9717 * grub-core/kern/emu/console.c: Move to ...
9718 * grub-core/term/emu/console.c: ...here.
9719 (grub_ncurses_getkey): Fix return value if no key is detected.
9720
e51b5666
VS
97212012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9722
9723 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
9724 (grub_unit_test_fini): Likewise.
9725 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
9726
97272012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9728
9729 * include/grub/test.h (GRUB_UNIT_TEST)
9730
d9a62292
VS
97312012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9732
9733 * grub-core/script/execute.c (grub_script_break): Clarify logic.
9734 Better error handling.
9735 (grub_script_return): Likewise.
9736 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
9737
77c9182f
VS
97382012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9739
9740 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
9741 rimplicit redifinition.
9742
edb13cf9
VS
97432012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9744
9745 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
9746 GRUB.
9747
a9e9dc7c
VS
97482012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9749
9750 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
9751 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
9752 prompt here.
9753
b4ba8e02
VS
97542012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9755
9756 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
9757 as GRUB_ERR_BUG. Don't malloc if no device is available.
9758
dded5540
VS
97592012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9760
9761 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
9762 Mark calling with invalid term as GRUB_ERR_BUG.
9763
0cf69874
VS
97642012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9765
9766 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
9767 packets rather than raising an error.
9768
59bfe502
VS
97692012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9770
9771 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
9772 in if.
9773
db5fc596
VS
97742012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9775
9776 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
9777 diagnostic to dprintf.
9778 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
9779
e4b7f404
VS
97802012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9781
9782 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
9783 device name.
9784
e7b02f9e
VS
97852012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9786
9787 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
9788 (grub_ntfs_iterate_dir): Likewise.
9789
0331e102
VS
97902012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9791
9792 Efiemu stylistic fixes and gettext.
9793
9794 * grub-core/efiemu/i386/loadcore32.c
9795 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
9796 * grub-core/efiemu/i386/loadcore64.c
9797 (grub_arch_efiemu_relocate_symbols64): Likewise.
9798 * grub-core/efiemu/i386/pc/cfgtables.c
9799 (grub_machine_efiemu_init_tables): Likewise.
9800 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
9801 (grub_efiemu_loadcore_initXX): Add a filename argument.
9802 All users updated.
9803 Improved error message.
9804 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
9805 Add a filename argument.
9806 All users updated.
9807 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
9808 Reclassify double relocation as GRUB_ERR_BUG.
9809
306fc074
VS
98102012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9811
9812 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
9813 handling.
9814
794d8ef2
VS
98152012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9816
9817 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
9818 on partition.
9819
98202012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
9821
9822 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
9823
794d8ef2 98242012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
9825
9826 Improve string. Gettextize.
9827
78dde88e
VS
98282012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
9829
9830 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
9831 utils.
9832 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
9833
4786a90f
VS
98342012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
9835
9836 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
9837 [GRUB_UTIL]: New function.
9838 (insert_array) [GRUB_UTIL]: Store partmaps.
9839 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
9840 partmaps.
9841 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
9842 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
9843 (probe_abstraction): Print diskfilter and not raid.
9844 Reported by: Lennart Sorensen
9845
0b6225bd
VS
98462012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
9847
9848 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
9849 * util/grub-mkimagexx.c (MASK3): New define.
9850 (add_value_to_slot_20b): Use MASK3.
9851 (add_value_to_slot_21): Likewise.
9852 (relocate_addresses): Fix format specification.
9853 (load_image): Explicitly init symtab_section.
9854
b055f8f6
VS
98552012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
9856
9857 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
9858 (grub_util_biosdisk_get_grub_dev): Fix format specification.
9859
b77c2fb7
VS
98602012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
9861
9862 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
9863 on powerpc.
9864 Reported by: Lennart Sorensen
9865
e3ec28ab
VS
98662012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
9867
9868 * gentpl.py: Add missing license header.
9869 * docs/grub.texi: Update copyright year.
9870
c8d9ead6
GS
98712012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
9872
9873 Source grub-mkconfig_lib from the build directory at build time.
9874 Suggested by: Vladimir Serbinenko.
9875
9876 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
9877 * util/grub-install.in: Define pkgdatadir if not already set, and source
9878 grub-mkconfig_lib from there.
9879 * util/grub-kbdcomp.in: Likewise.
9880 * util/grub-mkconfig.in: Likewise.
9881 * util/grub-mknetdir.in: Likewise.
9882 * util/grub-mkrescue.in: Likewise.
9883 * util/grub-mkstandalone.in: Likewise.
9884 * util/grub-reboot.in: Likewise.
9885 * util/grub-set-default.in: Likewise.
9886 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9887
ebcecdf1
VS
98882012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9889
9890 Increase warning level.
9891
9892 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
9893 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
9894 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
9895 (TARGET_CFLAGS): Likewise.
9896 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
9897 * grub-core/Makefile.core.def (decompressor_xz): Add
9898 -Wno-unreachable-code.
9899 (normal): Add -Wno-redundant-decls.
9900 (xzio): Add -Wno-unreachable-code.
9901 (lzopio): Add -Wno-redundant-decls -Wno-error.
9902 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
9903 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
9904 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
9905 * grub-core/kern/dl.c: Add exception to -Wcast-align.
9906 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
9907 * grub-core/kern/i386/coreboot/init.c: Add exception to
9908 -Wsuggest-attribute=noreturn.
9909 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
9910 * grub-core/kern/ia64/dl_helper.c: Likewise.
9911 * grub-core/kern/mips/dl.c: Likewise.
9912 * grub-core/kern/sparc64/dl.c: Likewise.
9913 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
9914 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
9915 (memcmp): Likewise.
9916 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
9917 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
9918 * grub-core/loader/mips/linux.c: Likewise.
9919 * grub-core/loader/multiboot_elfxx.c: Likewise.
9920 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
9921 * grub-core/video/sm712.c: Add exception to -Wcast-align.
9922 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
9923 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
9924 fixme.
9925 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
9926 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
9927 Fix prototype.
9928
37bb97fe
VS
99292012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9930
9931 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
9932 address.
9933
29a3550b
VS
99342012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9935
9936 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
9937 Avoid improper use of strings.
9938 (grub_cmd_legacy_initrdnounzip): Likewise.
9939
dfdffd0d
VS
99402012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9941
9942 * include/grub/emu/misc.h (grub_util_warn): Add missing format
9943 attribute.
9944 (grub_util_info): Likewise.
9945 (grub_util_error): Likewise.
9946
102fae4a
VS
99472012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9948
9949 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
9950 * util/grub-fstest.c (fstest): Likewise.
9951
7e94d044
VS
99522012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9953
9954 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
9955 (grub_md_sha512_real): Likewise.
9956 (grub_util_get_geli_uuid): Likewise.
9957 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
9958 (grub_util_biosdisk_open): Fix format specification.
9959 Respect format security.
9960 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
9961 (xrealloc): Likewise.
9962 (xasprintf): Likewise.
9963
5ebd9769
VS
99642012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9965
9966 * util/import_gcry.py: Include grub/crypto.h in init.c.
9967
495fc8c1
VS
99682012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9969
9970 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
9971 (generate_image): Make prefix a const char *.
9972 Fix format specifications. Respect format security.
9973 Avoid void * arithmetics.
9974 Avoid shadowing.
9975 (argp_parser): Remove unused variable. Respect format security.
9976 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
9977 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
9978 (count_funcs): Remove unused variable.
9979 (relocate_addresses): Fix format specification.
9980 Disable x86-64 with elf32. Remove unused variables.
9981 (add_fixup_entry): Avoid shadowing.
9982 (make_reloc_section): Fix format specification.
9983 Use assert.
9984 (locate_sections): Fix format specifications.
9985 (load_image): Avoid shadowing.
9986
043c2ea3
VS
99872012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9988
9989 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
9990 Fix format specifications. Respect format security.
9991 Don't translate already translated grub_errmsg.
9992 (argp_parser): Remove unused variable
9993
3ec65a81
VS
99942012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9995
9996 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
9997
a4d9fe4a
VS
99982012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9999
10000 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
10001 (main): Likewise. Use xmalloc. Respect format security.
10002
15b81d49
VS
100032012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10004
10005 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
10006 a const char *.
10007 (argp_parser): Remove unused variable.
10008
31731fc0
VS
100092012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10010
10011 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
10012 (add_pixel): Make static.
10013 (add_font): Likewise.
10014 (write_string_section): Make name and str a const char *.
10015 (write_be16_section): Make name a const char *.
10016 (print_glyphs): Make static.
10017 (write_font_ascii_bitmap): Likewise.
10018 (write_font_width_spec): Likewise.
10019 (write_font_pf2): Likewise.
10020 (argp_parser): Remove unused variable.
10021 Respect format security.
10022 (main): Avoid shadowing. Respect format security.
10023
0809527b
VS
100242012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10025
10026 * util/grub-editenv.c (argp_parser): Make static.
10027 (create_envblk_file): Use xmalloc.
10028 (open_envblk_file): Likewise.
10029 Resepect format security.
10030 (set_variables): Respect format security.
10031
45b0c8b7
VS
100322012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10033
10034 * util/getroot.c (grub_find_device): Respect format security.
10035 (get_mdadm_uuid): Remove unused variable.
10036 (grub_util_pull_device): Dont call gettext on already translated
10037 grub_errmsg.
10038 (find_system_device): Remove unused variable.
10039 (grub_util_get_grub_dev): Likewise.
10040 (grub_make_system_path_relative_to_its_root): Respect format security.
10041
1b024b4e
VS
100422012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10043
10044 * util/grub-fstest.c (execute_command): Make first argument
10045 a const char *.
10046 (read_file): Avoid shadowing.
10047 Reuse underlying error message if device open fails.
10048 (cmd_cmp): Respect format security.
10049 (root): Make const char *.
10050 (fstest): Remove args argument and use global copy.
10051 Respect format security.
10052 (argp_parser): Make static.
10053 (main): Make default_root const char *.
10054
5d1d4e28
VS
100552012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10056
10057 * util/grub-mount.c (root): Make const char *.
10058 (execute_command): Make first argument a const char *.
10059 (fuse_init): Respect format security.
10060 (argp_parser): Make static. Remove unused variable.
10061 (main): Make default_root a const char *.
10062 Respect format security.
10063
36eb7379
VS
100642012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10065
10066 * util/grub-probe.c (probe): Don't call gettext on already translated
10067 grub_errmsg.
10068 Remove unused variables.
10069 (argp_parser): Remove unused variable.
10070
76fb2ea9
VS
100712012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10072
10073 * util/grub-script-check.c (argp_parser): Remove unused variable.
10074 (main): Rename read to curread to avoid shadowing.
10075
56c98584
VS
100762012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10077
10078 * util/misc.c (grub_util_write_image_at): Fix format specification.
10079 (grub_util_write_image): Likewise.
10080 (grub_script_execute_argument_to_string): Removed (unused).
10081 (grub_script_execute_menuentry): Likewise.
10082 (grub_putchar): Likewise.
10083
164ebb48
VS
100842012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10085
10086 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
10087 (FUNCTION) [GRUB_UTIL]: Likewise.
10088 (VARIABLE) [GRUB_UTIL]: Likewise.
10089
44318d61
VS
100902012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10091
10092 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
10093 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
10094
31a26002
VS
100952012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10096
10097 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
10098 buffer.
10099
101002012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10101
10102 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
10103 (LzmaEnc_SaveState): Removed (unused).
10104 (LzmaEnc_RestoreState): Likewise.
10105 (LzmaEnc_InitPriceTables): Made static.
10106 (LzmaEnc_Construct): Likewise.
10107 (LzmaEnc_FreeLits): Likewise.
10108 (LzmaEnc_Destruct): Likewise.
10109 (LzmaEnc_Init): Likewise.
10110 (LzmaEnc_InitPrices): Likewise.
10111 (LzmaEnc_Finish): Likewise.
10112 (LzmaEnc_PrepareForLzma2): Removed (unused).
10113 (LzmaEnc_MemPrepare): Likewise.
10114 (LzmaEnc_GetNumAvailableBytes): Likewise.
10115 (LzmaEnc_GetCurBuf): Likewise.
10116 (LzmaEnc_CodeOneMemBlock): Likewise.
10117
6fa67967
VS
101182012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10119
10120 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
10121 (grub_util_ldm_embed): Likewise.
10122
9a7428e6
VS
101232012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10124
10125 * util/grub-editenv.c (print_var): Rename name to varname to
10126 avoid shadowing.
10127 (main): Rename index to curindex to avoid shadowing.
31a26002 10128 Make filename a const char *.
9a7428e6 10129
4f96abd1
VS
101302012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10131
10132 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
10133 to arg_getline to avoid shadowing.
10134
44d10dad
VS
101352012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10136
10137 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
10138 disk_ to avoid shadowing.
10139
340ba63e
VS
101402012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10141
10142 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
10143 curindex to avoid shadowing.
10144 Make static.
10145 (MatchFinder_GetNumAvailableBytes): Make static.
10146
22965bce
VS
101472012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10148
10149 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
10150 avoid shadowing.
10151
7b5784d4
VS
101522012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10153
10154 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
10155 argument from encrypt to do_encrypt to avoid shadowing.
10156
6f48ca01
VS
101572012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10158
10159 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
10160 incorrect nesting of #if's.
10161
a4ea2dff
VS
101622012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10163
10164 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
10165 checks which are always false on some platforms.
10166 (grub_cmd_lsacpi): Likewise.
10167 * grub-core/kern/misc.c (grub_strtoul): Likewise.
10168 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
10169 Likewise.
10170
def9fc1b
VS
101712012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10172
10173 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
10174 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
10175
a67b2a04
VS
101762012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10177
10178 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
10179 re_dfa_t to avoid breaking alignment invariants.
10180 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
10181 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
10182
44c6828d
VS
101832012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10184
10185 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
10186 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
10187
bebe0dd0
VS
101882012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10189
10190 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
10191 Fix declaration.
10192
a9cdb3cf
VS
101932012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10194
10195 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
10196 conserve alignment invariants.
10197 (grub_ehci_ehcc_read16): Likewise.
10198 (grub_ehci_oper_read32): Likewise.
10199 (grub_ehci_oper_write32): Likewise.
10200 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
10201 Conserve alignment invariants.
10202
ccc3b1b8
VS
102032012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10204
10205 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
10206 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
10207 declarations.
10208
987fbd95
VS
102092012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10210
10211 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
10212 Remove unused variable.
10213
0df363f3
VS
102142012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10215
10216 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
10217 Remove set in if.
10218
b2c0c4a6
VS
102192012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10220
10221 * include/grub/net.h: Remove double declarations.
10222
690c531f
VS
102232012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10224
10225 Remove "payload" command in ia64 Linux loader since I couldn't
10226 find any evidence of it being used for anything.
10227 Replace "relocate" command with an environment variable
10228
10229 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
10230 fields.
10231 (ia64_boot_payload): Removed.
10232 (last_payload): Likewise.
10233 (RELOCATE_OFF): Likewise.
10234 (RELOCATE_ON): Likewise.
10235 (RELOCATE_FORCE): Likewise.
10236 (relocate): Likewise.
10237 (free_pages): Don't free payloads.
10238 (grub_load_elf64): Use common error messages.
10239 Use "linux_relocate" variable.
10240 Increase the space after boot_params.
10241 (grub_cmd_payload): Removed.
10242 (grub_cmd_relocate): Likewise.
10243 (grub_cmd_fpswa): Improve messages.
10244 (cmd_payload): Removed.
10245 (cmd_relocate): Likewise.
10246 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
10247 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
10248
01783768
VS
102492012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10250
10251 Convert UHCI to DMA framework.
10252
10253 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
10254 (grub_uhci_pci_iter): Fill new members
10255 (grub_alloc_td): Use P2V and V2P functions.
10256 (grub_free_queue): Likewise.
10257 (grub_alloc_qh): Likewise.
10258 (grub_uhci_setup_transfer): Likewise.
10259 (grub_uhci_check_transfer): Likewise.
10260
43206939
VS
102612012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10262
10263 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
10264 Remove assignment in if while on it.
10265
571e140e
VS
102662012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10267
10268 * util/grub-mkstandalone.in: Fix modules directory.
10269
a9d96eeb
VS
102702012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10271
10272 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
10273 on i386-pc target.
10274 (argp_parser): Accept "auto" as compression specification.
10275
e4e37e8d
VS
102762012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10277
10278 Fix `help' with unloaded modules.
10279
10280 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
10281 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
10282 (grub_dyncmd_dispatcher): Small stylistic fix.
10283 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
10284 explicit help is requested.
10285
e1ea3ade
VS
102862012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10287
10288 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
10289 Explicitly init restart while on it.
10290
27556881
VS
102912012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10292
10293 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
10294 uninited variable.
10295
d65f6b36
VS
102962012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
10297
10298 * util/grub-mknetdir.in: Use . rather than source for POSIX
10299 compatibility.
10300
0a1e473c
VS
103012012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
10302
10303 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
10304
ce6647c8
VS
103052012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
10306
10307 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
10308 variable.
10309
66747894
VS
103102012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
10311
10312 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
10313 without quotes.
10314
71645f6e
VS
103152012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
10316
10317 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
10318
0e1c1f61
VS
103192012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
10320
10321 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
10322 iteration of partitions.
10323
9c4b5c13
VS
103242012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
10325
10326 Improve gettext support. Stylistic fixes and error handling fixes while
10327 on it.
10328
215c90cb
VS
103292012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10330
10331 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
10332 part. Instead setup the correct stack in RM.
10333 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
10334 for stack.
10335 * include/grub/i386/relocator_private.h: New file.
10336
b5c1f9bf
VS
103372012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
10338
10339 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
10340 argument.
10341 * util/grub-fstest.c (options): Add missing DEVICE part.
10342
b525fd83
VS
103432012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
10344
10345 Clarify and unify messages.
10346
10347 * grub-core/commands/hashsum.c (options): Unify messages.
10348 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
10349 literal-only message as translatable.
10350 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
10351 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
10352 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
10353 commands.
10354 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
10355 key, not the key used to unlock. Clarify what it's used for.
10356 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
10357 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
10358 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
10359 * util/grub-editenv.c (options): Unify "verbose" message.
10360 * util/grub-fstest.c (read_file): Unify error message.
10361 (fstest): Add quotes around commands.
10362 (options): Unify "verbose" message.
10363 * util/grub-install.in: Add quotes around variable name.
10364 * util/grub-kbdcomp.in: Unify error message.
10365 * util/grub-mkfont.c (main): Likewise.
10366 * util/grub-mkrescue.in: Likewise.
10367 * util/grub-mklayout.c (options): Unify "verbose" message.
10368 * util/grub-mkstandalone.in: Unify help and verbose messages.
10369 * util/grub-mount.c (options): Unify "verbose" message.
10370 * util/grub-probe.c (options): Likewise.
10371 * util/grub-script-check.c (options): Likewise.
10372 * util/grub-setup.c (setup): Unify no-terminator message.
10373 (options): Use DEVICE and not DEV.
10374 Unify "verbose" message.
10375 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
10376
0ae70393
VS
103772012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
10378
10379 Improve and unify messages.
10380
10381 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
10382 name. All users updated.
10383 Print filename in error.
10384 (read_device_map): Print filename in error.
10385 * util/getroot.c (grub_guess_root_devices): Print filename in error.
10386 (grub_util_get_os_disk): Likewise.
10387 (grub_util_biosdisk_get_grub_dev): Likewise.
10388 (grub_util_check_block_device): Likewise.
10389 (grub_util_check_char_device): Likewise.
10390 (grub_make_system_path_relative_to_its_root): Likewise.
10391 * util/grub-editenv.c (create_envblk_file): Likewise.
10392 (open_envblk_file): Likewise.
10393 (write_envblk): Likewise.
10394 * util/grub-fstest.c (cmd_cp): Likewise.
10395 (cmd_cat): Likewise.
10396 (cmd_cmp): Likewise.
10397 * util/grub-menulst2cfg.c (main): Likewise.
10398 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
10399 (write_font_width_spec): Likewise.
10400 (write_font_pf2): Likewise.
10401 * util/grub-mkimage.c (generate_image): New argument outname.
10402 All users updated.
10403 Remove unreacheable message.
10404 (options): Unify messages.
10405 (help_filter): Likewise.
10406 * util/grub-mklayout.c (usage): Removed (unused).
10407 (main): Print filename in error.
10408 * util/grub-mkrescue.in: Fix wrong quoting.
10409 * util/grub-setup.c (setup): Print filename in error.
10410 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
10411 (check_sas): Likewise.
10412 * util/misc.c (grub_util_get_fp_size): Removed.
10413 (grub_util_get_image_size): Print filename in error.
10414 (grub_util_read_at): Removed.
10415 (grub_util_read_image): Print filename in error.
10416 (grub_util_load_image): Likewise.
10417 (grub_util_write_image_at): New argument filename. All users updated.
10418 Print filename in error.
10419 (grub_util_write_image): New argument filename. All users updated.
10420 Print filename in error.
10421 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
10422 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
10423
0a96117d
VS
104242012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
10425
10426 * grub-core/Makefile.core.def (pxechain): New module.
10427 * grub-core/loader/i386/pc/pxechainloader.c: New file.
10428 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
10429 function.
10430 (grub_pc_net_config_real): Use grub_pxe_get_cached.
10431 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
10432
aca002f7
VS
104332012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
10434
10435 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
10436 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
10437 * include/grub/err.h (grub_error_saved): New struct.
10438 (grub_errmsg): Make array size explicit.
10439 * include/grub/misc.h (grub_error_save): New function.
10440 (grub_error_load): Likewise.
10441 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
10442 (grub_error_push): Update `errno' member name.
10443 (grub_error_pop): Likewise
10444 * grub-core/net/tftp.c (tftp_data): New member save_err.
10445 (tftp_receive): Save error.
10446 (tftp_open): Restore error.
10447
a51dab13
VS
104482012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
10449
10450 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
10451 to real mode down to execute A20-related code in protected mode as
10452 intended.
10453
eb6e6649
GS
104542012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
10455
10456 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
10457 NULL when the argument `level' has an unexpected value.
10458
92cd0f6e
VS
104592012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
10460
10461 Move platform-dependent files from $prefix to $prefix/$platform.
10462
10463 * config.h.in (GRUB_TARGET_CPU): New definition.
10464 (GRUB_PLATFORM): Likewise.
10465 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
10466 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
10467 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
10468 * grub-core/kern/dl.c (grub_dl_load): Likewise.
10469 * grub-core/normal/autofs.c (read_fs_list): Likewise.
10470 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
10471 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
10472 * grub-core/normal/term.c (read_terminal_list): Likewise.
10473 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
10474 $prefix/locale.
10475 (grub_gettext_init_ext): Likewise.
10476 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
10477 grub_platform.
10478 * util/grub-install.in: Update directories.
10479 * util/grub-mknetdir.in: Likewise.
10480 * util/grub-mkrescue.in: Likewise.
10481
db606889
VS
104822012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
10483
10484 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
10485 grub_error framework. All users updated.
10486
c39992a4
VS
104872012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
10488
10489 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
10490 lists (by always binsearching), improve caching (cache strings
10491 used for binsearch, not only results), improve
10492 maintainability (by using more structured binary search) and correct
10493 error handling.
10494
1e5ec32f
VS
104952012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
10496
10497 * grub-core/script/execute.c (grub_script_return): Fix warning.
10498
ac576cde
VS
104992012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
10500
10501 * grub-core/script/execute.c (grub_script_return): Fix potential
10502 NULL-dereference.
10503 Reported by: Jim Meyering.
10504
498453f6
VS
105052012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10506
10507 * po/POTFILES.in: Regenerate.
10508 * util/grub-install.in: Gettextize the strings missed in first pass.
10509
8be63f2e
VS
105102012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10511
10512 * Makefile.util.def (grub-mkdevicemap): Removed.
10513 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
10514 * include/grub/util/deviceiter.h: Removed.
10515 * util/deviceiter.c: Likewise.
10516 * util/getroot.c (grub_util_get_os_disk): New function.
10517 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
10518 replacement for EFI.
10519 * util/grub-mkdevicemap.c: Removed.
10520 * util/grub-probe.c (probe): Handle PRINT_DISK.
10521 (argp_parser): Handle -t disk.
10522
8e1e4e39
VS
105232012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10524
10525 * util/grub-mkfont.c: Migrate to argp.
10526 * util/grub-mklayout.c: Likewise.
10527 * util/grub-mkpasswd-pbkdf2.c: Likewise.
10528 * util/grub-mkrelpath.c: Likewise.
10529 * util/grub-probe.c: Likewise.
10530 * util/grub-script-check.c: Likewise.
10531
4459819a
VS
105322012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10533
10534 * util/grub-reboot.in: Add missing datarootdir.
10535 Add missing newline.
10536 * util/grub-set-default.in: Add missing datarootdir.
10537 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
10538 * util/grub-mkrescue.in: Likewise.
10539
f65741c7
VS
105402012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10541
10542 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
10543
c1a33466
VS
105442012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10545
10546 * util/grub-kbdcomp.in: Add decent help and gettextize.
10547 * docs/man/grub-kbdcomp.h2m: New file.
10548
c76899a0
VS
105492012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10550
10551 Migrate grub-mkimage.c to argp.
10552
10553 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
10554 (grub-setup): Likewise.
10555 * util/grub-setup.c (print_version): Move to ...
10556 * util/argp_common.c (print_version): ... here.
10557 * util/grub-setup.c (argp_program_version_hook): Move to ...
10558 * util/argp_common.c (argp_program_version_hook): ... here.
10559 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
10560 safety.
10561 * util/grub-mkimage.c (main): Migrate to argp.
10562
57db0757
VS
105632012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10564
10565 * util/grub-mkrescue.in: Use same message as
10566 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
10567 for better translations.
10568
18534ad9
VS
105692012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10570
10571 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
10572 options with generic grub-mkrescue.in with the goal of future
10573 merge.
10574
c84ba308
VS
105752012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10576
10577 * grub-core/kern/mm.c: Add missing include of i18n.h
10578 * grub-core/lib/relocator.c: Likewise.
10579
347998c2
VS
105802012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10581
10582 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
10583 error.
10584 (allocate_pages): Check return value.
10585 Replace fatal with error.
10586 (grub_linux_boot): Replace printf with dprintf.
10587 Check find_mmap_size return value.
10588 Replace fatal with error.
10589 Don't call grub_machine_fini.
10590 (grub_load_elf64): Replace printf with dprintf.
10591 (grub_cmd_linux): Likewise.
10592 (grub_cmd_initrd): Likewise.
10593 (grub_cmd_payload): Likewise.
10594
c779226e
VS
105952012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10596
10597 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
10598 message.
10599 * grub-core/video/radeon_fuloong2e.c
10600 (grub_video_radeon_fuloong2e_setup): Likewise.
10601 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
10602 * grub-core/video/video.c (grub_video_set_mode): Don't override
10603 standard out of memory message.
10604
dc87d45a
GS
106052012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
10606
10607 NetBSD disk wedge support.
10608
10609 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
10610 [__NetBSD__]: Handle NetBSD disk wedges.
10611 * util/getroot.c (convert_system_partition_to_system_disk)
10612 [__NetBSD__]: Likewise.
10613
055f856f
MW
106142012-02-03 Mark Wooding <mdw@distorted.org.uk>
10615
10616 * util/grub-mkconfig.in: Use umask rather than chmod to create
10617 grub.cfg.new to avoid insecure grub.cfg.
10618
4a9f8346
VS
106192012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10620
10621 * grub-core/commands/ls.c: Gettextize.
10622 * grub-core/commands/setpci.c: Likewise.
10623 * grub-core/commands/videotest.c: Likewise.
10624 * grub-core/disk/geli.c: Likewise.
10625 * grub-core/kern/mm.c: Likewise.
10626 * grub-core/lib/relocator.c: Likewise.
10627 * grub-core/loader/efi/appleloader.c: Likewise.
10628 * grub-core/loader/i386/xnu.c: Likewise.
10629 * grub-core/loader/ia64/efi/linux.c: Likewise.
10630 * grub-core/loader/xnu.c: Likewise.
10631 * grub-core/net/dns.c: Likewise.
10632 * grub-core/net/net.c: Likewise.
10633 * grub-core/script/lexer.c: Likewise.
10634 * grub-core/script/parser.y: Likewise.
10635 * grub-core/script/yylex.l: Likewise.
10636 * util/getroot.c: Likewise.
10637 * util/grub-setup.c: Likewise.
10638
a646a366
VS
106392012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10640
10641 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
10642 number.
10643
54e2be26
VS
106442012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10645
10646 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
10647
f7c71e68
VS
106482012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10649
10650 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
10651 macro.
10652 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
10653 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
10654
a32d5c71
VS
106552012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10656
10657 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
10658 * util/grub-install.in: Gettextize.
10659 * util/grub-mkconfig.in: Likewise.
10660 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
10661 if not available.
10662 (grub_warn): Gettextize.
10663 * util/grub-mknetdir.in: Gettextize.
10664 * util/grub-mkrescue.in: Likewise.
10665 * util/grub-mkstandalone.in: Likewise.
10666 * util/grub-reboot.in: Likewise.
10667 * util/grub-set-default.in: Likewise.
10668 * util/grub.d/00_header.in: Likewise.
10669 * util/grub.d/10_hurd.in: Likewise.
10670 * util/grub.d/10_kfreebsd.in: Likewise.
10671 * util/grub.d/10_linux.in: Likewise.
10672 * util/grub.d/10_netbsd.in: Likewise.
10673 * util/grub.d/10_windows.in: Likewise.
10674 * util/grub.d/20_linux_xen.in: Likewise.
10675 * util/grub.d/30_os-prober.in: Likewise.
10676 * po/POTFILES-shell.in: Regenerate.
10677
69edd81a
RL
106782012-02-03 Richard Laager <rlaager@wiktel.com>
10679
10680 * util/grub-mkimage.c (main): Fix format-security warning.
10681 * util/grub-mkrelpath.c (main): Likewise.
10682 * util/grub-probe.c (main): Likewise.
10683
65f08dbf
RL
106842012-02-03 Richard Laager <rlaager@wiktel.com>
10685
10686 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
10687 failure.
10688 Put back lost PRINT_DRIVE.
10689
e9084abe
RL
106902012-02-03 Richard Laager <rlaager@wiktel.com>
10691
10692 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
10693 (grub_guess_root_devices): Replace strlen with sizeof.
10694 Avoid crash.
10695 (find_root_devices_from_poolname): Remove unused variable.
10696 Handle raidzN.
10697
cf5f7ee7
VS
106982012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10699
10700 Support install on multi-device filesystems.
10701
10702 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
10703 (grub_guess_root_devices): ...this. Return char **. All users updated.
10704 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
10705 Removed.
10706 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
10707 (find_root_devices_from_poolname): ... here.
10708 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
10709 Support zfs-fuse.
10710 (grub_guess_root_device): Rename to ...
10711 (grub_guess_root_devices): ... this. Return char **. All users updated.
10712 * util/grub-install.in: Handle multi-device filesystems.
10713 * util/grub-probe.c (probe). Make device_names a char **. Add delim
10714 argument. All users updated.
10715 Handle multi-device filesystems.
10716 Use 'delim' as separator.
10717 Remove device check to allow filesystems on file.
10718 (main): Support -0 argument. Handle multi-device.
10719 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
10720 Fix a cross-device check while on it.
10721 (arguments): Remove root_dev.
10722 (argp_parser): Remove -r.
10723 (main): Remove root_dev.
10724
2f53a9ed
VS
107252012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
10726
10727 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
10728
17e1d934
VS
107292012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
10730
10731 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
10732 symbol.
10733 Reported by: NODA, Kai <nodakai>.
10734
d3e3fab5
VS
107352012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
10736
10737 Fix ehci on amd64.
10738
10739 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
10740 pointers.
10741 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
10742 (grub_ehci_setup_qh): Likewise.
10743 (grub_ehci_find_qh): Likewise.
10744 (grub_ehci_transaction): Likewise.
10745 (grub_ehci_setup_transfer): Likewise.
10746 (grub_ehci_check_transfer): Likewise.
10747 (grub_ehci_portstatus): Likewise.
10748 (grub_ehci_detect_dev): Likewise.
10749 (grub_ehci_transfer_controller_data): New field td_last_phys.
10750 (grub_ehci_setup_transfer): Fill td_last_phys.
10751 (grub_ehci_check_transfer): Use td_last_phys.
10752
3008675b
SG
107532012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
10754
10755 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
10756 if no submenu is present.
10757
fc9b5652
AN
107582012-02-01 Aleš Nesrsta <starous@volny.cz>
10759
10760 CBI support.
10761
10762 * include/grub/usb.h (grub_usbms_protocol_t): New values
10763 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
10764 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
10765 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
10766 (grub_usbms_dev): Add subclass, protocol and intrpt.
10767 Remove in_maxsz and out_maxsz.
10768 (grub_usbms_reset): Rename to ...
10769 (grub_usbms_bo_reset): .. this.
10770 (grub_usbms_cbi_cmd): New function.
10771 (grub_usbms_cbi_reset): Likewise.
10772 (grub_usbms_reset): Likewise.
10773 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
10774 (grub_usbms_transfer): Rename to ...
10775 (grub_usbms_transfer_bo): ... this.
10776 (grub_usbms_transfer_cbi): Likewise.
10777 (grub_usbms_transfer): Likewise.
10778
a2b81d53
AN
107792012-02-01 Aleš Nesrsta <starous@volny.cz>
107802012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
10781
10782 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
10783 the support for the CS5536 modification thereos and few bugfixes.
10784
10785 * grub-core/Makefile.core.def (ehci): New module.
10786 * grub-core/bus/usb/ehci.c: New file.
10787 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
10788 port and hubaddr. All users updated.
10789 Save port and hubaddr into dev structure.
10790 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
10791 define.
10792 * include/grub/pci.h (grub_dma_phys2virt): New function.
10793 (grub_dma_virt2phys): Likewise.
10794 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
10795
b1d51f02
VS
107962012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10797
10798 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
10799 check as some mkfs implementations omit it.
10800
fc694106
VS
108012012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10802
10803 * docs/grub.texi (Unicode): Mention identifier and space limitations.
10804
6c0920e3
VS
108052012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10806
10807 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
10808 Add new member volname2.
10809 (grub_jfs_label): Use volname2 if available.
10810
d1a46f9a
VS
108112012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10812
10813 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
10814 over last_mounted as seen in image generated by mkfs.nilfs2.
10815 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
10816
dec8ed14
VS
108172012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10818
10819 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
10820 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
10821 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
10822
7397c69b
VS
108232012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10824
10825 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
10826 over the sector.
10827
b3fe42ad
VS
108282012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10829
10830 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
10831 subvolume name (by removing a bogus and useless check).
10832
10476bb0
VS
108332012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10834
10835 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
10836 sizeof while on it.
10837
9c08ad87
VS
108382012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
10839
10840 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
10841 (grub_scsi_read_capacity10): ... this.
10842 (grub_scsi_read_capacity16): New function.
10843 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
10844 0xffffffff.
10845 Fix off-by-one error.
10846 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
10847 64-bit unsigned.
10848 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
10849 (grub_scsi_read_capacity10): ... this.
10850 (grub_scsi_read_capacity_data): Rename to ...
10851 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
10852 (grub_scsi_read_capacity16): New struct.
10853 (grub_scsi_read_capacity16_data): Likewise.
10854 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
10855 grub_scsi_cmd_read_capacity10.
10856 New command grub_scsi_cmd_read_capacity16.
10857
bc8d0f45
VS
108582012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
10859
10860 SCSI >2TiB support.
10861
10862 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
10863 (grub_scsi_write16): Likewise.
10864 (grub_scsi_read): Use read16 when necessary.
10865 (grub_scsi_write): Likewise.
10866 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
10867 (grub_scsi_write16): Likewise.
10868 (grub_scsi_cmd_t): Add READ16 and WRITE16.
10869
cc774926
VS
108702012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
10871
10872 SCSI write support (for usbms mainly).
10873
10874 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
10875 a const pointer.
10876 (grub_scsi_write): Implement.
10877 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
10878
67639fd7
VS
108792012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
10880
10881 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
10882 variable.
10883
9079d3ed
VS
108842012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10885
10886 * grub-core/lib/posix_wrap/string.h (memchr): New function.
10887
c6a6f204
VS
108882012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10889
10890 * po/POTFILES.in: Regenerate.
10891
ecbf8cd1
VS
108922012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10893
10894 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
10895 with grub_printf to avoid unnecessary fatal failure.
10896
0b3b3b38
VS
108972012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10898
10899 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
10900 (INT_MAX): Likewise.
10901 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
10902 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
10903 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
10904 (strcpy): Likewise.
10905 (strstr): Likewise.
10906 (strchr): Likewise.
10907 (strncpy): Likewise.
10908 (strcat): Likewise.
10909 (strncat): Likewise.
10910 (strcoll): Likewise.
10911 * include/grub/types.h (GRUB_SHRT_MAX): New define.
10912 (GRUB_INT_MAX): Likewise.
10913
db7337a3
VS
109142012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10915
10916 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
10917 unexpected error.
10918 (optimize_utf8): Likewise.
10919 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
10920
f37c87e1
VS
109212012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10922
10923 * grub-core/boot/i386/pc/lnxboot.S: Use
10924 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
10925 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
10926 location.
10927 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
10928 definition.
10929 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
10930
63fe43f3
VS
109312012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10932
10933 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
10934 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
10935 now to avoid double free.
10936 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
10937 hostdisk.
10938 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
10939 * util/grub-probe.c (escape_of_path): Always return a new copy.
10940 (print_full_name): Escape path.
10941 (probe): Don't call grub_util_devname_to_ofpath on NULL.
10942 Fix hints on abstractions.
10943
ebe2c961
VS
109442012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10945
10946 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
10947 Don't add "root" line if no compatibility hont is available.
10948 Suggested by: Seth Goldberg.
10949
2b5336a2
VS
109502012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10951
10952 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
10953 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
10954 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
10955 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
10956
74310bd8
VS
109572012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10958
10959 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
10960
c30582ba
VS
109612012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10962
10963 * util/grub-pe2elf.c (ehdr): Make static.
10964 (shdr): Likewise.
10965 (num_sections): Likewise.
10966 (offset): Likewise.
10967
5f47782c
VS
109682012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10969
10970 Eliminate ofpath limits and possible overflows.
10971
10972 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
10973 (OF_PATH_MAX): Removed.
10974 (MAX_DISK_CAT): New const.
10975 (find_obppath): Use allocated rather than preallocated buffer.
10976 Return result. Argument of_path removed. All users updated.
10977 Add missing fdstat.
10978 (xrealpath): New function.
10979 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
10980 Allocate rather than use preallocated buffer. All users updated.
10981 (__of_path_common): Use allocated rather than preallocatecd buffer.
10982 Return result. Argument of_path removed. All users updated.
10983 (vendor_is_ATA): Read only needed part form the file.
10984 (check_sas): Allocate depending on contents rather than fixed.
10985 (main) [STANDALONE]: Handle NULL result.
10986
f990cbf9
VS
109872012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10988
10989 * grub-core/normal/completion.c (iterate_dev): Close the disk.
10990
9c6e84b8
VS
109912012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10992
10993 Cryptodisk write support.
10994
10995 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
10996 (grub_cryptodisk_decrypt): Moved logic to ...
10997 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
10998 (grub_cryptodisk_write): Implement.
10999 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
11000 (grub_util_fd_write): ... this. Make global.
11001 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
11002
87cf9744
VS
110032012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11004
11005 * include/grub/list.h (grub_list_remove): Don't crash if element is
11006 removed twice.
11007
ca8c0baf
VS
110082012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11009
11010 Rename ofconsole to console.
11011
11012 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
11013 as sysnonym to console.
11014 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
11015 * grub-core/term/ieee1275/console.c: ... this. All users updated.
11016 Rename grub_ofconsole_ to grub_console_. All users updated
11017 (grub_console_term_output): Rename "ofconsole" to "console".
11018 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
11019 as "console".
11020
64c8b8f6
VS
110212012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11022
11023 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
11024 handling.
11025 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
11026 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
11027 GRUB_DISK_DEVICE_FILE_ID.
11028
f6c434d5
VS
110292012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11030
11031 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
11032 and improve performance.
11033
5858b42d
VS
110342012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11035
11036 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
11037 missing ieee1275/ prefix on whole disk.
11038
4ed3c26b
VS
110392012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11040
11041 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
11042 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
11043
df71143e
VS
110442012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11045
11046 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
11047
076e7c0f
VS
110482012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11049
11050 Merge common RAID and LVM logic to an abstract diskfilter.
11051 Add LDM support using the same framework.
11052
11053 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
11054 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
11055 (libgrubmods): Remove grub-core/disk/raid.c and
11056 grub-core/partmap/gpt.c.
11057 * grub-core/Makefile.core.def (ldm): New module.
11058 (raid): Renamed to diskfilter. All users updated.
11059 * grub-core/disk/raid.c: Moved to ...
11060 * grub-core/disk/diskfilter.c: ... here.
11061 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
11062 (lv_num): New var.
11063 (find_array): Renamed to ...
11064 (find_lv): ... this. Support multi-LV. Skip nameless LVs
11065 (grub_is_array_readable): Renamed to ...
11066 (grub_is_lv_readable): ... this. Support multinode hierarchy.
11067 (insert_array): New argument id.
11068 (is_node_readable): New function.
11069 (scan_device): Rename to ...
11070 (scan_disk): .. this. Restrict to one disk.
11071 (scan_devices): New function.
11072 (grub_diskfilter_iterate): Support multi-LV.
11073 Skip invisible and nameless LVs.
11074 (grub_diskfilter_memberlist): Support multi-LV.
11075 (grub_diskfilter_read_node): New function.
11076 (grub_raid_read): Most of logic moved to ...
11077 (read_segment): ... here
11078 (read_lv): New function.
11079 (grub_diskfilter_get_vg_by_uuid): New function.
11080 (grub_diskfilter_make_raid): Likewise.
11081 * grub-core/disk/ldm.c: New file.
11082 * grub-core/disk/lvm.c (vg_list): Removed.
11083 (lv_count): Likewise.
11084 (scan_depth): Likewise.
11085 (is_lv_readable): Likewise.
11086 (grub_lvm_getvalue): Advance pointer past the number.
11087 (find_lv): Removed.
11088 (do_lvm_scan): Refactored into ...
11089 (grub_lvm_detect): ... this. Support raid.
11090 (grub_lvm_iterate): Removed.
11091 (grub_lvm_memberlist): Likewise.
11092 (grub_lvm_open): Likewise.
11093 (grub_lvm_close): Likewise.
11094 (read_lv): Likewise.
11095 (read_node): Likewise.
11096 (is_node_readable): Likewise.
11097 (is_lv_readable): Likewise.
11098 (grub_lvm_read): Likewise.
11099 (grub_lvm_write): Likewise.
11100 (grub_lvm_dev): Use diskfilter
11101 (GRUB_MOD_INIT): Likewise.
11102 (GRUB_MOD_FINI): Likewise.
11103 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
11104 new interface.
11105 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
11106 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
11107 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
11108 grub_diskfilter_read_node.
11109 Fix a bug with xor.
11110 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
11111 grub_diskfilter_read_node.
11112 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
11113 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
11114 (grub_disk_dev_iterate): Move from here...
11115 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
11116 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
11117 Make global.
11118 (grub_hostdisk_find_partition_start): Likewise.
11119 (grub_hostdisk_os_dev_to_grub_drive): New function.
11120 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
11121 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
11122 * util/getroot.c (make_device_name): ... here.
11123 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
11124 Move to ...
11125 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
11126 * grub-core/kern/emu/hostdisk.c
11127 (convert_system_partition_to_system_disk): Move to ...
11128 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
11129 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
11130 * util/getroot.c (device_is_wholedisk): ... here.
11131 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
11132 * util/getroot.c (find_system_device): ... here.
11133 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
11134 Move to ...
11135 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
11136 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
11137 Move to ...
11138 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
11139 Handle LDM.
11140 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
11141 Move to ...
11142 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
11143 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
11144 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
11145 DISKFILTER.
11146 * include/grub/raid.h: Renamed to ...
11147 * include/grub/diskfilter.h: ... this.
11148 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
11149 (GRUB_RAID_LAYOUT_*): Make into array.
11150 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
11151 (grub_diskfilter_vg): New struct.
11152 (grub_diskfilter_pv_id): Likewise.
11153 (grub_raid_member): Removed.
11154 (grub_raid_array): Likewise.
11155 (grub_diskfilter_pv): New struct.
11156 (grub_diskfilter_lv): Likewise.
11157 (grub_diskfilter_segment): Likewise.
11158 (grub_diskfilter_node): Likewise.
11159 (grub_diskfilter_get_vg_by_uuid): New proto.
11160 (grub_raid_register): Inline.
11161 (grub_diskfilter_unregister): Likewise.
11162 (grub_diskfilter_make_raid): New proto.
11163 (grub_diskfilter_vg_register): Likewise.
11164 (grub_diskfilter_read_node): Likewise.
11165 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
11166 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
11167 (grub_util_is_ldm): Likewise.
11168 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
11169 (grub_hostdisk_find_partition_start): Likewise.
11170 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
11171 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
11172 New definition.
11173 (grub_gpt_partition_map_iterate): New proto.
11174 * include/grub/lvm.h (grub_lvm_vg): Removed.
11175 (grub_lvm_pv): Likewise.
11176 (grub_lvm_lv): Likewise.
11177 (grub_lvm_segment): Likewise.
11178 (grub_lvm_node): Likewise.
11179 * util/getroot.c [...]
11180 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
11181 (probe_abstraction): Likewise.
11182 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
11183 (main): Remove dead logic.
11184
8a7f9b9c
VS
111852012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
11186
11187 Simplify root device discover and don't fail when trying to open
11188 incorrect devices.
11189
11190 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
11191 function.
11192 (get_diskname_from_path): Likewise.
11193 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
11194 of iterating.
11195
30545b85
VS
111962012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
11197
11198 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
11199
28ea58cf
VS
112002012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
11201
11202 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
11203 pastthe end.
11204
692dabca
VS
112052012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
11206
11207 * util/grub-install.in: Add missing \.
11208 Reported by: gentoofan
11209
f6e4ea70
VS
112102012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
11211
11212 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
11213 (direct_read): Use correct compressed size.
11214 (grub_squash_read_data): Likewise.
11215
112162012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
11217
11218 * docs/grub.texi (Platform limitations): New section.
11219 (Platform-specific operations): Likewise.
11220 * docs/grub-dev.texi (Porting): Likewise.
11221
76261110
VS
112222012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
11223
11224 IEEE1275 disk write support.
11225
11226 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
11227 const void *.
11228 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
11229 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
11230 and seek loginc to ...
11231 (grub_ofdisk_prepare): ... here.
11232 (grub_ofdisk_write): Implement.
11233
fc36d603
VS
112342012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
11235
11236 ARC disk write support.
11237
11238 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
11239 (reopen): New argument writable. All users updated.
11240 Handle required access mode.
11241 (grub_arcdisk_write): Implement.
11242 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
11243 (grub_arc_firmware_vector): Make buffer to write a const buffer.
11244
e06c2e7a
VS
112452012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
11246
11247 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
11248 (read_sblock): Don't attempt to read superblocks outside the disk size.
11249
ff447958
VS
112502012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
11251
11252 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
11253 first superblock to find the second one when possible.
11254
9e88df39
VS
112552012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
11256
11257 * util/grub-install.in: Fix an ARC bug.
11258 Print a warning if no platform-specific setup is available.
11259
bb26e4ff
VS
112602012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
11261
11262 Use static allocation rather than scratch pointer in reed_solomon.
11263 It decreases its size significantly and avoids a variable in .text.
11264
11265 * grub-core/lib/reed_solomon.c (scratch): Removed.
11266 (chosenstat): New const or static array.
11267 (sigma): Likewise.
11268 (errpot): Likewise.
11269 (errpos): Likewise.
11270 (sy): Likewise.
11271 (mstat): Likewise.
11272 (errvals): Likewise.
11273 (eqstat): Likewise.
11274 (pol_evaluate): Replace x with log_x argument. All users updated.
11275 (syndroms): Removed.
11276 (gauss_solve): Use statically allocated arrays.
11277 (rs_recover): Likewise.
11278 Calculate syndroms directly.
11279 (decode_block): Use statically allocated arrays.
11280 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
11281 (main) [TEST]: Allow -DTEST -DSTANDALONE.
11282
2e13ede5
VS
112832012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
11284
11285 Eliminate fixed limit on reed solomon decoder length.
11286
11287 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
11288 rather than hardcoding the address.
11289 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
11290 no_reed_solomon_length.
11291 Move gate_a20 to no-reed-solomon part.
11292 Don't force a particular size of no reed-solomon part.
11293 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
11294 Removed.
11295 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
11296 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
11297
f8a9ab12
VS
112982012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
11299
11300 * grub-core/commands/wildcard.c (match_files): Handle filenames
11301 without explicit device.
11302 (wildcard_expand): Don't add explicit device if not already present.
11303 * tests/grub_script_echo1.in: Add a new expansion test.
11304
87edb894
VS
113052012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
11306
11307 Replace single-linked with double-linked lists. It results in more
11308 compact and more efficient code.
11309
11310 * grub-core/kern/list.c (grub_list_push): Moved from here ...
11311 * include/grub/list.h (grub_list_push): ... to here. Set prev.
11312 (grub_list_remove): Moved from here ...
11313 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
11314 (grub_prio_list_insert): Set prev.
11315 * include/grub/list.h (grub_list): Add prev. All users updated.
11316
48b391e9
VS
113172012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
11318
11319 Handle newer autotools. Add some missing quotes while on it.
11320
11321 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
11322 (pkglib_DATA): Move grub-mkconfig_lib from here ...
11323 (pkgdata_DATA): ... here.
11324 * Makefile.util.def (update-grub_lib): Removed.
11325 * conf/Makefile.common (pkglib_DATA): Removed.
11326 (pkglib_SCRIPTS): Likewise.
11327 (pkgdata_DATA): New variable.
11328 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
11329 needed.
11330 Add missing quotes.
11331 Remove unused variable while on it.
11332 * tests/util/grub-shell.in: Likewise.
11333 * util/grub-install.in: Likewise.
11334 * util/grub-mkconfig.in: Likewise.
11335 * util/grub-mknetdir.in: Likewise.
11336 * util/grub-mkrescue.in: Likewise.
11337 * util/grub-mkstandalone.in: Likewise.
11338 * util/grub.d/00_header.in: Likewise.
11339 * util/grub.d/10_hurd.in: Likewise.
11340 * util/grub.d/10_illumos.in: Likewise.
11341 * util/grub.d/10_kfreebsd.in: Likewise.
11342 * util/grub.d/10_linux.in: Likewise.
11343 * util/grub.d/10_netbsd.in: Likewise.
11344 * util/grub.d/10_windows.in: Likewise.
11345 * util/grub.d/20_linux_xen.in: Likewise.
11346 * util/grub.d/30_os-prober.in: Likewise.
11347 * util/update-grub_lib.in: Removed.
11348
113492012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
11350
11351 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
11352 a workaround for intel problem.
11353
66832792
PRP
113542012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
113552012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
113562012-01-23 pfsmorigo
11357
11358 * util/grub-install.in: Support dd'in into PreP partition.
11359 * util/grub-probe.c (probe): Support discovering partition type.
11360 (main): Support -t msdos_parttype.
11361
7816a17e
VS
113622012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
11363
11364 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
11365 infinite recursion using counter.
11366 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
11367 init to skip it if the magic check fails.
11368 (dec_stream_header): Init s->crc32.
11369
8f9d3a8c
ZB
113702012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
113712012-01-22 Zachary Bedell <pendorbound@gmail.com>
113722012-01-22 Richard Laager <rlaager@wiktel.com>
11373
11374 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
11375 All users updated.
11376 (find_bestub): Determine correct size.
11377 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
11378 (scan_disk): Align the size down.
11379 Call check pool before find_bestub to have ashift.
11380
b055dd32
VS
113812012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
11382
11383 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
11384 dprintf in no-malloc zone.
11385
d779e9bd
ML
113862012-01-22 Mario Limonciello <mario_limonciello@dell.com>
11387
11388 * configure.ac: Add back in test for limits.h.
11389
b508af69
VS
113902012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11391
11392 Support 4K-sector NTFS.
11393
11394 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
11395 (grub_ntfs_data): Remove blocksize.
11396 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
11397 Remove data argument. All users updated.
11398
dad9c8b5
VS
113992012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11400
11401 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
11402 being in .text to avoid dprel references.
11403 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
11404 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
11405 (grub_arch_highmemsize): Likewise.
11406 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
11407 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
11408 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
11409
d43a777e
VS
114102012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
11411
11412 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
11413
11414 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
11415 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
11416
34e4208f
VS
114172012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
11418
11419 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
11420 GRUB_UTIL.
11421 (grub_set_datetime_cmos): Likewise.
11422
3ec0fc1c
VS
114232012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
11424
11425 Make XZ compression parameters dependent on target and not host CPU.
11426
11427 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
11428 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
11429
22489834
VS
114302012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
11431
11432 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
11433 set but not used variable.
11434
8502fbca
VS
114352012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11436
11437 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
11438 created when no uuid support is compiled into mkfs.reiser.
11439
76df2068
VS
114402012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11441
11442 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
11443 (utf8_to_macroman): Do the opposite.
11444 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
11445
64e3f8f6
VS
114462012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11447
11448 * configure.ac: Refise build qemu_mips w/o unifont.
11449
9c271078
VS
114502012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11451
11452 Eliminate grub_min/grub_max prone to overflow usage.
11453
11454 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
11455 (poll_nonroot_hub): Likewise.
11456 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
11457 (grub_affs_label): Likewise.
11458 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
11459 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
11460 (grub_hfs_label): Likewise.
11461 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
11462 * grub-core/fs/zfs/zfs.c (MIN): Remove.
11463 (zap_leaf_array_equal): Use grub_size. Remove MIN.
11464 (zap_leaf_array_get): Likewise.
11465 (dnode_get_path): Likewise.
11466 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
11467 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
11468 * grub-core/script/execute.c (grub_script_break): Likewise.
11469 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
11470 grub_max.
11471 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
11472 * include/grub/misc.h (grub_min): Removed.
11473 (grub_max): Likewise.
11474
80662dbc
VS
114752012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
11476
11477 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
11478 direct.inode = 0.
11479
e6da1467
VS
114802012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11481
11482 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
11483
b1ac4cb1
VS
114842012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11485
11486 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
11487
b4bf7c3b
VS
114882012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11489
11490 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
11491 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
11492
8ee1101a
VS
114932012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11494
11495 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
11496 rather than a hack for grub_strncasemap.
11497
114982012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11499
11500 Support multiple initrds
11501 Note: part of this was accidently committed in r3739.
11502
11503 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
11504 initrd.
11505 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
11506 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
11507 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
11508 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
11509 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
11510
4d1e2bc9
VS
115112012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11512
11513 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
11514 disks with unknown size.
11515 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
11516
75b49ebe
VS
115172012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11518
11519 Remove defines pertaining to arbitrary limits not affecting GRUB
11520 anymore.
11521
11522 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
11523 (EXT2_MAX_SYMLINKCNT): Likewise.
11524 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
11525 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
11526 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
11527 (GRUB_PXE_MAX_BLKSIZE): Likewise.
11528 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
11529 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
11530 (DN_MAX_OBJECT_SHIFT): Likewise.
11531 (DN_MAX_OFFSET_SHIFT): Likewise.
11532 (DN_MAX_OBJECT): Likewise.
11533 (DNODES_PER_LEVEL_SHIFT): Likewise.
11534 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
11535 (SPA_MAXBLOCKSIZE): Likewise.
11536 (SPA_BLOCKSIZES): Likewise.
11537 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
11538 (MZAP_MAX_BLKSZ): Likewise.
11539
74a1dce7
VS
115402012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11541
11542 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
11543 handle NULL appropriately.
11544 Remove MIN.
11545
30c7d3ce
VS
115462012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
11547
11548 Fix efiemu.
11549
11550 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
11551 cpu/types.h.
11552 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
11553 * configure.ac: Fix efiemu check.
11554
3c76ea0c
VS
115552012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
11556
11557 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
11558 grub_probe.
11559 Reported by: adamwill
11560
7e532280
SG
115612012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
11562
11563 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
11564
30492374
VS
115652012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11566
11567 Fix handling of wide characters in gfxterm.
11568
11569 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
11570 (clear_char): Likewise.
11571 (paint_char): Skip code == NULL chars.
11572 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
11573
e70cb72f
VS
115742012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11575
11576 * grub-core/normal/charset.c: Move comment to right place.
11577
5c827cf9
VS
115782012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
11579
11580 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
11581 (GRUB_AFFS_FLAG_FFS): Put back where it was.
11582 (grub_affs_mount): Revert the correct version checking.
11583
53603892
VS
115842012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
11585
11586 * docs/grub.texi (Unicode): Mention several other unsupported features.
11587
ff094b9b
VS
115882011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
11589
11590 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
11591 case statements as compile-time one.
11592 (direct_read): Prevent spurious warnings.
11593 (grub_squash_read_data): Likewise.
11594
c029da8a
VS
115952011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
11596
11597 Various squash4 fixes and LZO and XZ support.
11598
11599 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
11600 Add xzembed source files.
11601 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
11602 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
11603 (grub_squash_inode): New subtype long_dir.
11604 (SQUASH_TYPE_LONG_DIR): New inode type.
11605 (COMPRESSION): New enum.
11606 (XZBUFSIZ): New const.
11607 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
11608 (read_chunk): Use data->decompress.
11609 (zlib_decompress): New function.
11610 (lzo_decompress): Likewise.
11611 (xz_decompress): Likewise.
11612 (squash_mount): Set new data fields.
11613 (grub_squash_iterate_dir): Handle long dir.
11614 (squash_unmount): Free xzdec and xzbuf.
11615 (grub_squash_open): Check ino type.
11616 (direct_read): Stylistic fixes. Use data->decompress.
11617 (grub_squash_read_data): Likewise.
11618 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
11619 (get_byte): Likewise.
11620 (grub_zlib_disk_read): Removed.
11621 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
11622 (GRUB_POSIX_BOOL_DEFINED): New define.
11623 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
11624 * grub-core/lib/xzembed/xz.h: Addmissing includes.
11625 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
11626 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
11627
7a45a539
VS
116282011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
11629
11630 Don't override more informative errors.
11631
11632 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
11633 * grub-core/font/font.c (open_section): Likewise.
11634 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
11635 filename. Don't override errors.
11636 (grub_cmd_openbsd_ramdisk): Don't override errors.
11637 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
11638 (grub_cmd_initrd): Likewise.
11639 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
11640 (grub_cmd_initrd): Likewise.
11641 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
11642 (grub_cmd_linux): Likewise.
11643 (grub_cmd_initrd): Likewise.
11644 (grub_cmd_payload): Likewise.
11645 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
11646 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
11647 (grub_cmd_module): Likewise.
11648 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
11649 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
11650 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
11651 (grub_cmd_xnu_mkext): Likewise.
11652 (grub_cmd_xnu_ramdisk): Likewise.
11653 (grub_xnu_check_os_bundle_required): Likewise.
11654 (grub_xnu_load_kext_from_dir): Likewise.
11655 (grub_cmd_xnu_kextdir): Likewise.
11656 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
11657
b2d004db
VS
116582011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11659
11660 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
11661 as 1024 in block size field. Found on one of my test images.
11662 Small optimisation while on it.
11663
ec000eac
VS
116642011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11665
11666 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
11667 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
11668 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
11669 performance fixes while on it.
11670 (grub_sfs_close): Fix memory leak while on it.
11671 (grub_sfs_label): Convert Latin1 to UTF-8.
11672
f50e1165
VS
116732011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11674
11675 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
11676 space to avoid overflows.
11677 (grub_hfs_label): Convert from macroman to UTF-8.
11678
2ae254de
VS
116792011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11680
11681 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
11682
0108f491
VS
116832011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11684
11685 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
11686
f45f5f89
VS
116872011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11688
11689 * unicode: Import Unicode 6.0 data.
11690
4d8c4765
VS
116912011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11692
63fa8ef9
VS
11693 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
11694 outside of range.
11695
116962011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11697
11698 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
11699
11700 * include/grub/charset.h (grub_getend): New function.
11701 * grub-core/script/function.c (grub_script_function_find): Use
11702 grub_getend.
11703 * grub-core/normal/completion.c (add_completion): Likewise.
11704
f3cb4a4e
VS
117052011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11706
11707 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
11708 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
11709 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
11710 (GRUB_UNICODE_TAG_END): Likewise.
11711 (GRUB_UNICODE_LAST_VALID): Likewise.
11712
5da8dbc5
VS
117132011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11714
11715 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
11716 len and make it smaller. All users updated.
11717 * util/import_unicode.py: Put length and not end character.
11718 Check length.
11719
8569f13d
VS
117202011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11721
11722 Make better Unicode-compliant and unify some UTF-8 code pathes.
11723
11724 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
11725 valid character.
11726 (grub_is_valid_utf8): Use grub_utf8_process.
11727 Check resulting code range.
11728 (grub_utf8_to_ucs4): Use grub_utf8_process.
11729 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
11730 valid character.
11731
cc4fddf5
VS
117322011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11733
11734 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
11735
bbc47747
VS
117362011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11737
11738 * docs/grub.texi (Filesystems): Mention AFS.
11739
f63d6bf4
VS
117402011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11741
11742 * docs/grub.texi (Filesystems): Clarify restrictions.
11743 (Regexp): Mention non-Unicode regexp behaviour.
11744 (Other): Mention non-Unicode matching behaviour.
11745
74bbf0db
VS
117462011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11747
f63d6bf4 11748 Make HFS implementation use MacRoman.
74bbf0db
VS
11749
11750 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
11751 (macroman): New const array.
11752 (macroman_to_utf8): New function.
11753 (utf8_to_macroman): Likewise.
11754 (grub_hfs_find_dir): Use utf8_to_macroman.
11755 (grub_hfs_dir): Use macroman_to_utf8.
11756 Set case_insensitive.
11757
4ea0316e
VS
117582011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11759
11760 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
11761
d3c13cbd
VS
117622011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11763
11764 Integrate hints into autogeneration scripts.
11765
11766 * docs/grub.texi (Filesystems): Add a hostdisk example.
11767 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
11768 (grub-probe): Add ofpath.
11769 * gentpl.py: Remove group nosparc64.
11770 * grub-core/commands/search.c (cache_entry): New struct.
11771 (cache): New var.
11772 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
11773 * grub-core/commands/search_wrap.c (options): Add platform-specific
11774 hint options.
11775 (grub_cmd_search): Handle platform-specific hints.
11776 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
11777 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
11778 (grub_util_biosdisk_data): Likewise.
11779 (grub_util_biosdisk_open): Set device_map.
11780 (read_device_map): Handle "" as indication of no map.
11781 Set device_map.
11782 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
11783 (grub_util_biosdisk_get_compatibility_hint): New function.
11784 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
11785 * include/grub/emu/hostdisk.h
11786 (grub_util_biosdisk_get_compatibility_hint): New proto.
11787 * util/grub-install.in: Don't call grub-mkdevicemap.
11788 Add platform-specific hint to load.cfg.
11789 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
11790 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
11791 hints. Set root preliminary to compatibility hint, not to OS name.
11792 * util/grub-probe.c (PRINT_*): Add hints.
11793 (print): Make static.
11794 (escape_of_path): New function.
11795 (guess_bios_drive): Likewise.
11796 (guess_efi_drive): Likewise.
11797 (guess_baremetal_drive): Likewise.
11798 (print_full_name): Likewise.
11799 (probe): Handle hints.
11800 (main): Likewise.
11801 * util/ieee1275/devicemap.c: Removed.
11802 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
11803 updated.
11804 (grub_util_devname_to_ofpath): Return NULL on failure.
11805
11806 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
11807 resource leak.
11808 * util/getroot.c (grub_util_pull_device): Fix memory leak.
11809
11810 * po/POTFILES.in: Regenerated.
11811
11812 Allow purely long options
11813
11814 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
11815 (SHORT_ARG_USAGE): Likewise.
11816 (grub_arg_show_help): Compare opt with help_options.
11817 (parse_option): Receive opt as argument. If makes big simplificatons.
11818 All users updated
11819
00ce2df3
VS
118202011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11821
11822 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
11823 Restructure to avoid warning.
11824
e77e325f
VS
118252011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11826
11827 * util/grub-install.in: Account for possible escaped comma in device
11828 name.
11829
165099ea
VS
118302011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11831
11832 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
11833 channel.
11834
ce4a999d
VS
118352011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11836
11837 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
11838 allocation and zero-setting.
11839 (grub_ieee1275_get_devname): Check that alias is complete.
11840
379586ad
VS
118412011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11842
11843 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
11844 unaligned segments.
11845
9197b0ad
VS
118462011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11847
11848 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
11849 prefix.
11850 (grub_ofdisk_open): Check and discard ieee1275 prefix.
11851 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
11852 Add ieee1275 prefix.
11853
edddb7f9
VS
118542011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11855
11856 * docs/grub.texi (Filesystems): Update.
11857
a1a8b1b9
VS
118582011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11859
11860 Support odc, newc and bigendian cpio formats.
11861
11862 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
11863 * grub-core/Makefile.core.def (newc): New module.
11864 (odc): Likewise.
11865 (cpio_be): Likewise.
11866 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
11867 (MAGIC): Likewise.
11868 (MAGIC2): Likewise.
11869 (head) [MODE_ODC]: Adapt for the format.
11870 (head) [MODE_NEWC]: Likewise.
11871 (head) [!MODE_*]: Write fields of interest as arrays.
11872 (MAGIC_USTAR): Removed.
11873 (read_number) [MODE_NEWC]: Change to hex.
11874 (read_number) [!MODE_*]: Parse binary arrays.
11875 (grub_cpio_find_file): Factor out the code for better structure and
11876 always use read_number.
11877 (grub_cpio_mount): Use MAGIC and MAGIC2.
11878 (grub_cpio_dir): Exit on first hook non-0 return.
11879 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
11880 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
11881 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
11882 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
11883 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
11884 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
11885 * grub-core/fs/newc.c: New file.
11886 * grub-core/fs/odc.c: Likewise.
11887 * grub-core/fs/cpio_be.c: Likewise.
11888
58eba9ee
VS
118892011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11890
11891 Fix handling of tar numbers occupying the whole field.
11892
11893 * grub-core/fs/cpio.c (read_number): New function.
11894 (grub_cpio_find_file): Use read_number instead of strtoull.
11895
a54a0e12
VS
118962011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11897
11898 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
11899 occupying the whole field size.
11900
a6120aca
LA
119012011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
11902
11903 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
11904
a93964ce
VS
119052011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11906
11907 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
11908
3ea1ca46
SG
119092011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
11910
11911 * grub-core/Makefile.core.def (lzma_decompress): Add missing
11912 TARGET_IMG_LDFLAGS.
11913
b87f7ef2
VS
119142011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11915
11916 * util/getroot.c (ESCAPED_PATH_MAX): New define.
11917 (mountinfo_entry): Increase the field size to take escaping into
11918 account.
11919 (find_root_device_from_libzfs): Add one byte to size of strings for
11920 security.
11921
62092395
VS
119222011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11923
11924 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
11925 an assert.
11926 * util/grub-setup.c (setup): Likewise.
11927
1f0b1a77
VS
119282011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11929
11930 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
11931 _LzmaDecodeA.
11932
8eba9997
VS
119332011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
11934
11935 * docs/grub.texi (Internationalisation): New section.
11936
dd0c91e9
VS
119372011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
11938
11939 * docs/grub.texi (Loopback booting): New section.
11940
119412011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
11942
11943 * util/grub-mkstandalone.in: Fix minor typo errors.
11944
198e150a
VS
119452011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
11946
11947 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
11948
11949 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
11950 net/icmp.c and net/icmp6.c.
11951 (http): New module.
11952 (priority_queue): Likewise.
11953 * grub-core/io/bufio.c: Rewritten.
11954 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
11955 TYPE_WITH_CONFIGFILE_OPTION.
11956 (legacy_commands): Add bootp and dhcp.
11957 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
11958 (grub_legacy_parse): Likewise.
11959 * grub-core/lib/priority_queue.c: New file.
11960 * grub-core/net/arp.c: Add missing license header.
11961 (arp_find_entry): Removed.
11962 (arp_find_entry): Likewise.
11963 (grub_net_arp_resolve): Rename to ...
11964 (grub_net_arp_send_request): ...this.
11965 (grub_net_arp_receive): New card argument.
11966 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
11967 Set router and DNS server.
11968 (grub_net_configure_by_dhcp_ack): Handle routing information.
11969 (grub_cmd_bootp): Set checksum.
11970 (grub_bootp_init): Remove net_dhcp.
11971 * grub-core/net/dns.c: New file.
11972 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
11973 completion.
11974 (get_card_packet): Handle allocation.
11975 (grub_efinet_findcards): Set mtu.
11976 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
11977 (get_card_packet): Handle allocation.
11978 (emucard): Set mtu.
11979 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
11980 (GRUB_MOD_INIT): Set mtu.
11981 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
11982 mtu.
11983 (get_card_packet): Handle allocation.
11984 (grub_ofnet_findcards): Set mtu.
11985 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
11986 assert.
11987 (grub_net_recv_ethernet_packet): Handle IPv6.
11988 * grub-core/net/http.c: New file.
11989 * grub-core/net/icmp.c: Likewise.
11990 * grub-core/net/icmp6.c: Likewise.
11991 * grub-core/net/ip.c (ip6addr): New type.
11992 (ip6hdr): Likewise.
11993 (reassemble): Likewise.
11994 (cmp): New function.
11995 (reassembles): New variable.
11996 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
11997 (id): New variable.
11998 (send_fragmented): New function.
11999 (grub_net_send_ip_packet): Rename to ...
12000 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
12001 Handle non-UDP.
12002 (grub_net_recv_ip_packets): Rename to ...
12003 (handle_dgram): ... this. Check checksum. Handle non-UDP.
12004 (free_rsm): New function.
12005 (free_old_fragments): Likewise.
12006 (grub_net_recv_ip4_packets): New function.
12007 (grub_net_send_ip6_packet): Likewise.
12008 (grub_net_send_ip_packet): Likewise.
12009 (grub_net_recv_ip6_packets): Likewise.
12010 (grub_net_recv_ip_packets): Likewise.
12011 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
12012 (LINK_LAYER_CACHE_SIZE): New const.
12013 (link_layer_find_entry): New function.
12014 (grub_net_link_layer_add_address): Likewise.
12015 (grub_net_link_layer_resolve_check): Likewise.
12016 (grub_net_link_layer_resolve): Likewise.
12017 (grub_net_ipv6_get_slaac): Likewise.
12018 (grub_net_ipv6_get_link_local): Likewise.
12019 (grub_cmd_ipv6_autoconf): Likewise.
12020 (parse_ip): Handle one number representation.
12021 (parse_ip6): New functoion.
12022 (match_net): Handle IPv6.
12023 (grub_net_resolve_address): Handle IPv6 and DNS.
12024 (grub_net_resolve_net_address): Handle IPv6.
12025 (route_cmp): New function.
12026 (grub_net_route_address): Find best route.
12027 (grub_net_addr_to_str): Handle IPv6.
12028 (grub_net_addr_cmp): New function.
12029 (grub_net_add_addr): Register local route.
12030 (print_net_address): Handle net address.
12031 (grub_net_poll_cards): Retransmit TCP.
12032 (grub_net_poll_cards_idle_real): Likewise.
12033 (have_ahead): New function.
12034 (grub_net_seek_real): Use underlying seek.
12035 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
12036 * grub-core/net/tcp.c: New file.
12037 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
12038 (cmp): New function.
12039 (ack): Likewise.
12040 (tftp_receive): Handle unordered input.
12041 (destroy_pq): New function.
12042 (tftp_close): Close pq.
12043 * grub-core/net/udp.c: Put missing license header.
12044 (grub_net_udp_socket): New function.
12045 (udp_socket_register): Likewise.
12046 (grub_net_udp_close): Likewise.
12047 (grub_net_recv_udp_packet): Check checksum.
12048 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
12049 * include/grub/misc.h (grub_memchr): New function.
12050 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
12051 (grub_net_card_driver): Return buf in recv.
12052 (grub_net_slaac_mac_list): New struct.
12053 (grub_network_level_protocol_id): Add ipv6.
12054 (grub_net_network_level_addr): Likewise.
12055 (grub_net_network_level_net_addr): Likewise.
12056 (grub_net_app_protocol): Add seek.
12057 (grub_net_socket): Removed.
12058 (grub_net_sockets): Likewise.
12059 (grub_net_socket_register): Likewise.
12060 (grub_net_socket_unregister): Likewise.
12061 (FOR_NET_SOCKETS): Likewise.
12062 (grub_net_add_addr): Add const.
12063 (GRUB_NET_BOOTP_*): New enum.
12064 (grub_net_addr_cmp): New proto.
12065 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
12066 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
12067 (grub_net_hwaddr_to_str): NEw proto.
12068 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
12069 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
12070 (grub_dns_init): New proto.
12071 (grub_dns_fini): Likewise.
12072 (grub_net_tcp_retransmit): Likewise.
12073 (grub_net_link_layer_add_address): Likewise.
12074 (grub_net_link_layer_resolve_check): Likewise.
12075 (grub_net_link_layer_resolve): Likewise.
12076 (grub_net_dns_lookup): Likewise.
12077 (grub_net_add_dns_server): Likewise.
12078 (grub_net_remove_dns_server): Likewise.
12079 (GRUB_NET_TRIES): New const.
12080 (GRUB_NET_INTERVAL): Likewise.
12081 * include/grub/net/arp.h: Mostly rewritten.
12082 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
12083 * include/grub/net/ip.h: Mostly rewritten.
12084 * include/grub/net/netbuff.h: Indent.
12085 * include/grub/net/tcp.h: New file.
12086 * include/grub/net/udp.h: Mostly rewritten.
12087 * include/grub/priority_queue.h: New file.
12088 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
12089 (grub_swap_bytes64_compile_time): Likewise.
12090 (grub_cpu_to_be16_compile_time): Likewise.
12091 (grub_cpu_to_be32_compile_time): Likewise.
12092 (grub_cpu_to_be64_compile_time): Likewise.
12093 (grub_be_to_cpu64_compile_time): Likewise.
12094
215c1800
VS
120952011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
12096
12097 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
12098 UINT_TO_PTR with cast.
12099
c17e546c
VS
121002011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12101
12102 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
12103 don't use them.
12104
ff6b18b6
VS
121052011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12106
12107 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
12108 already there.
12109
70ffcc93
VS
121102011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12111
12112 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
12113 confusing ipxe.
12114
e5f4d260
VS
121152011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12116
12117 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
12118 Add missing const attribute.
12119 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
12120 Likewise.
12121 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
12122 Likewise.
12123
8e54b4b7
VS
121242011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12125
12126 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
12127 misaligned access.
12128 (serpent_setkey): Likewise.
12129 (serpent_encrypt_internal): Likewise.
12130 (serpent_decrypt_internal): Likewise.
12131 (serpent_encrypt): Don't put an alignment-increasing cast.
12132 (serpent_decrypt): Likewise.
12133 (serpent_test): Likewise.
12134
813c0a2b
VS
121352011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12136
12137 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
12138
f2b60fbd
VS
121392011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12140
12141 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
12142
12143 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
12144 grub_addr_t casts.
12145 (PTR_TO_UINT64): Likewise.
12146 (PTR_TO_UINT32): Likewise.
12147
5ef5c511
VS
121482011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12149
12150 * util/grub-mkimage.c (generate_image): Decrease the higher limit
12151 because of stack.
12152 * util/grub-setup.c (setup): Don't add redundancy past the higher load
12153 limit.
12154
c476e6df
VS
121552011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12156
12157 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
12158 text_width > available width a bit more gracefully.
12159
384ad7cc
VS
121602011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12161
12162 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
12163 current address calculation.
12164
96f8caf8
VS
121652011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12166
12167 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
12168 stack.
12169 (encode_block): Likewise.
12170
276b7a8b
VS
121712011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12172
12173 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
12174 certainety.
12175
e3fd394a
VS
121762011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12177
12178 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
12179 non-RS part to avoid RS messing with GDT.
12180 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
12181 Increase to suit in realmode routines.
12182
121832011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12184
12185 * grub-core/kern/i386/realmode.S: Increase alignment.
12186 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
12187
ee9c2e7a
VS
121882011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
12189
12190 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
12191 be deterministic.
12192 (syndroms): Compute 0 syndrom.
12193 (rs_recover): Use 0 syndrom.
12194
7a7f7cc9
VS
121952011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
12196
12197 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
12198
a14b16d1
VS
121992011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
12200
12201 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
12202 brackets.
12203
9f59e9fc
VS
122042011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
12205
ca1b552c
VS
12206 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
12207 account.
12208 (get_top_pad): Likewise.
12209 (get_right_pad): Likewise.
12210 (get_bottom_pad): Likewise.
12211
122122011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
12213
12214 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 12215
e739d698
VS
122162011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
12217
12218 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
12219 attribute as the structure isn't guaranteed to be properly aligned.
12220 (grub_efi_pci_device_path): Likewise.
12221 (grub_efi_pccard_device_path): Likewise.
12222 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
12223 specify the size of `memory_type'.
12224 (grub_efi_vendor_device_path): Likewise.
12225 (grub_efi_controller_device_path): Likewise.
12226 (grub_efi_acpi_device_path): Likewise.
12227 (grub_efi_expanded_acpi_device_path): Likewise.
12228 (grub_efi_atapi_device_path): Likewise.
12229 (grub_efi_scsi_device_path): Likewise.
12230 (grub_efi_fibre_channel_device_path): Likewise.
12231 (grub_efi_1394_device_path): Likewise.
12232 (grub_efi_usb_device_path): Likewise.
12233 (grub_efi_usb_class_device_path): Likewise.
12234 (grub_efi_i2o_device_path): Likewise.
12235 (grub_efi_mac_address_device_path): Likewise.
12236 (grub_efi_ipv4_device_path): Likewise.
12237 (grub_efi_ipv6_device_path): Likewise.
12238 (grub_efi_infiniband_device_path): Likewise.
12239 (grub_efi_uart_device_path): Likewise.
12240 (grub_efi_vendor_messaging_device_path): Likewise.
12241 (grub_efi_hard_drive_device_path): Likewise.
12242 (grub_efi_cdrom_device_path): Likewise.
12243 (grub_efi_vendor_media_device_path): Likewise.
12244 (grub_efi_file_path_device_path): Likewise.
12245 (grub_efi_protocol_device_path): Likewise.
12246 (grub_efi_piwg_device_path): Likewise.
12247 (grub_efi_bios_device_path): Likewise.
12248
cb8f88ea
VS
122492011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
12250
12251 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
12252 (grub_ucs4_to_utf8_alloc): Likewise.
12253 (grub_ucs4_to_utf8): Likewise.
12254 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
12255 (grub_ucs4_to_utf8_alloc): Likewise.
12256
309e5352
VS
122572011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
12258
12259 AFFS never uses unicode.
12260
12261 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
12262 (grub_latin1_to_utf8): New inline function.
12263 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
12264
e7987e1b
VS
122652011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12266
12267 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
12268 overflow.
12269
efc2616e
VS
122702011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12271
12272 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
12273 (grub_squash_dirent_header): Likewise.
12274 (read_chunk): Don't double swap.
12275 (grub_squash_iterate_dir): Fix swap sizes.
12276
3c349f5a
VS
122772011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12278
12279 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
12280
b453412d
VS
122812011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12282
12283 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
12284 (grub_hfs_iterate_dir): Likewise.
12285
12e9d4d1
VS
122862011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12287
12288 Fix video on platforms where unaligned access is forbidden.
12289 Make several optimisations while on it.
12290
12291 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
12292 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
12293 (grub_video_fbblit_replace_32bit_1bit): Likewise.
12294 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
12295 Disable.
12296 (grub_video_fbblit_replace_16bit_1bit):
12297 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
12298 (grub_video_fbblit_replace_8bit_1bit): Likewise.
12299 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
12300 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
12301 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
12302 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
12303 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
12304 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
12305 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
12306 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
12307 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
12308 (grub_video_fbblit_replace_index_RGB888): Likewise.
12309 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
12310 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
12311 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
12312 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
12313 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
12314 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
12315 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
12316 Disable.
12317 (grub_video_fbblit_blend_XXX565_1bit):
12318 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
12319 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
12320 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
12321 void *.
12322 * grub-core/video/fb/video_fb.c (common_blitter)
12323 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
12324 (grub_video_fb_create_render_target_from_pointer)
12325 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
12326 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
12327 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
12328 definition.
12329 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
12330
ace96609
VS
123312011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12332
12333 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
12334 HH22 and HM10 relocations.
12335
fd261d73
VS
123362011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12337
12338 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
12339
e59b7857
VS
123402011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12341
12342 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
12343 allocation succeeded.
12344
9b4baaa4
VS
123452011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12346
12347 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
12348 argument a u8 pointer. All users updated.
12349 Handle unaligned buffers.
12350
dc713193
VS
123512011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12352
12353 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
12354 add_part to workaround compiler bug.
12355
30dd48c2
VS
123562011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12357
12358 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
12359
0c6087a8
VS
123602011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12361
12362 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
12363 Reserve alignment invariants.
12364 (grub_multiboot_load): Likewise.
12365 (retrieve_video_parameters): Likewise.
12366 (grub_multiboot_make_mbi): Likewise.
12367
c2e77777
VS
123682011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12369
12370 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
12371 incorrect pointer.
12372
b70b6d11
VS
123732011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12374
12375 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
12376 (grub_pata_pio_write): Likewise.
12377
02a2bf83
VS
123782011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12379
12380 Add noreturn attributes and remove unreachable code.
12381
12382 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
12383 code.
12384 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
12385 code. Mark as noreturn.
12386 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
12387 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
12388 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
12389 unreachable code.
12390 * grub-core/kern/main.c (grub_main): Mark as noreturn.
12391 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
12392 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
12393 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
12394 * include/grub/kernel.h (grub_main): Mark as noreturn.
12395 * include/grub/reader.h (grub_rescue_run): Likewise.
12396
2019d09e
VS
123972011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12398
12399 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
12400 redundant declaration.
12401
d1c501ee
VS
124022011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12403
12404 * include/grub/net.h (grub_net_network_level_interfaces): Remove
12405 redundant declaration.
12406 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
12407
61664420
VS
124082011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12409
12410 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
12411 to ensure alignment.
12412 (grub_hdparm_print_identify): Make argument uint16 * to ensure
12413 alignment. Ensure tmp alignment.
12414 (grub_cmd_hdparm): Ensure buf alignment.
12415 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
12416 to ensure alignment.
12417 (grub_ata_dumpinfo): Ensure text alignment.
12418 (grub_atapi_identify): Preserve alignment invariant.
12419 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
12420
0d51ee20
VS
124212011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12422
12423 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
12424 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
12425 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
12426 * include/grub/misc.h (grub_reboot)
12427 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
12428 (grub_halt) [__mips__]: Likewise.
12429
753ef8c1
VS
124302011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12431
12432 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
12433 Remove redundant declaration.
12434 (grub_mmap_get_post64): Likewise.
12435 (grub_mmap_get_upper): Likewise.
12436 (grub_mmap_get_lower): Likewise.
12437
85c85365
VS
124382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12439
12440 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
12441 uint32_t * to ensure alignment.
12442 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
12443
a23f2cc4
VS
124442011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12445
93018f64
VS
12446 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
12447 uint16_t * to ensure alignment.
12448 (sun_pc_partition_map_iterate): Make `block' a union to ensure
12449 alignment.
12450
124512011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12452
12453 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
12454 to ensure alignment.
12455 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
12456
58acccd6
VS
124572011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12458
12459 * grub-core/fs/ntfs.c (u16at): Make into inline function.
12460 Handle unaligned pointers.
12461 (u32at): Likewise.
12462 (u64at): Likewise.
12463 (fixup): Use byte access instead of v16at.
12464 (find_attr): Fix imporper usage of v32at.
12465 (read_data): Likewise.
12466 (list_file): Handle byte-swapping and unaligned strings.
12467 (grub_ntfs_label): Likewise.
12468
9b05cad7
VS
124692011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12470
12471 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
12472 as it's not necessarily aligned.
12473
b3950b84
VS
124742011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12475
12476 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
12477 redundant declaration.
12478 (grub_serial_init): Likewise.
12479 (grub_terminfo_init): Likewise.
12480
fcd232b7
VS
124812011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12482
12483 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
12484 function.
12485 (ZAP_HASH_IDX): Likewise.
12486 (ZAP_LEAF_HASH_SHIFT): Likewise.
12487 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
12488 (LEAF_HASH): Likewise.
12489 (ZAP_LEAF_NUMCHUNKS): Likewise.
12490 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
12491 alignment invariants. Return pointer. All users updated.
12492 (ZAP_LEAF_ENTRY): Make into inline function.
12493 (NBBY): Removed.
12494 (xor): LIkewise.
12495 (xor_out): Use grub_crypto_xor.
12496 (dnode_get_path): Use grub_get_unaligned.
12497 (nvlist_find_value): Likewise.
12498 (grub_zfs_nvlist_lookup_uint64): Likewise.
12499 (grub_zfs_nvlist_lookup_string): Likewise.
12500 (get_nvlist_size): Likewise.
12501 (grub_zfs_open): Likewise.
12502 (fill_fs_info): Likewise.
12503 (grub_zfs_dir): Likewise.
12504 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
12505 alignment invariants.
12506 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
12507 necessarily aligned.
12508
f138623a
VS
125092011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12510
12511 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
12512
564840dc
VS
125132011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12514
12515 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
12516 arithmetic to conserve alignment invariants.
12517
9b40df20
VS
125182011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12519
12520 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
12521 redundant declaration.
12522 (grub_efiemu_mm_obtain_request): Likewise.
12523 (grub_efiemu_prepare): Likewise.
12524
d1c930f9
VS
125252011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12526
12527 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
12528 to match types.
12529
4c5f3056
VS
125302011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12531
12532 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
12533 case of aunaligned recptr.
12534 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
12535 alignment.
12536 (grub_hfsplus_btree_search): Handle unaligned index.
12537
728cba91
VS
125382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12539
12540 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
12541 to get freetag and skip.
12542
eb561f31
VS
125432011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12544
12545 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
12546 array.
12547 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
12548 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
12549
20993fbb
VS
125502011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12551
12552 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
12553 name for checksum and fix allocation algorithm.
12554
1f313b94
VS
125552011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12556
12557 * include/grub/types.h (grub_properly_aligned_t): New type.
12558 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
12559 (grub_get_unaligned16): Add explicit casts.
12560 (grub_get_unaligned32): Likewise.
12561 (grub_get_unaligned64): Likewise.
12562 (grub_set_unaligned16): New function.
12563 (grub_set_unaligned32): Likewise.
12564
47ae27ec
VS
125652011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12566
12567 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
12568
78c2cd1c
VS
125692011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12570
12571 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
12572 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
12573 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
12574
53072f9b
VS
125752011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12576
12577 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
12578 conditionals.
12579
055dc239
VS
125802011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12581
12582 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
12583 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
12584
496bd074
VS
125852011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12586
12587 Unify and improve RAID and crypto xor.
12588
12589 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
12590 changed to grub_crypto_xor
12591 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
12592 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
12593 Use bigger types when possible.
12594
ef6e4335
VS
125952011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12596
12597 * grub-core/disk/raid.c (scan_devices): Fix condition.
12598
5d048bf2
VS
125992011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12600
12601 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
12602 Make name a const ptr.
12603
ee533335
VS
126042011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12605
12606 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
12607 first argument a const pointer.
12608 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
12609 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
12610 proto.
12611 (grub_children_iterate): Likewise.
12612 (grub_machine_mmap_iterate): Remove redundant declaration.
12613
cc8f3668
VS
126142011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12615
12616 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
12617 (grub_cmd_acpi) [!x86]: Disable EBDA.
12618
c5fc563a
VS
126192011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12620
12621 Enable UTF8 in gnulib regexp.
12622
12623 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
12624 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
12625 (isupper): Use grub_isupper.
12626 (isascii): New inline function.
12627 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
12628 * grub-core/lib/posix_wrap/wctype.h: Likewise.
12629 * grub-core/normal/charset.c (grub_utf8_process): New function.
12630 (grub_utf8_to_utf16): Use grub_utf8_process.
12631 (grub_encode_utf8_character): New function.
12632 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
12633 * include/grub/charset.h (grub_utf8_process): New declaration.
12634 (grub_encode_utf8_character): Likewise.
12635 * include/grub/misc.h (grub_islower): New inline function.
12636 (grub_isupper): Likewise.
12637 (grub_strchrsub): Moved down to fix the definitions.
12638
0af2346f
VS
126392011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12640
12641 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
12642 specification.
12643
74dbd244
VS
126442011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12645
12646 * include/grub/loader.h (grub_loader_register_preboot_hook):
12647 Use struct preboot * and not void * for handle. All users updated.
12648 (grub_loader_unregister_preboot_hook): Likewise.
12649
1bc8f60d
VS
126502011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
12651
12652 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
12653 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
12654 UTF-16-BE. All users updated.
12655 (grub_hfsplus_cmp_catkey): Fix unicode handling.
12656 (grub_hfsplus_iterate_dir): Likewise.
12657 (grub_hfsplus_label): Likewise.
12658
48d6e456
VS
126592011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
12660
12661 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
12662
bf3a3857
VS
126632011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
12664
12665 Add missing const qualifiers.
12666
12667 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
12668 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
12669 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
12670 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
12671 (grub_lvm_check_flag): Likewise.
12672 * grub-core/efiemu/i386/coredetect.c
12673 (grub_efiemu_get_default_core_name): Likewise
12674 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
12675 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
12676 * grub-core/fs/ntfs.c (fixup): Likewise.
12677 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
12678 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
12679 (fzap_lookup): Likewise.
12680 (zap_lookup): Likewise.
12681 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
12682 * grub-core/lib/legacy_parse.c (check_option): Likewise.
12683 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
12684 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
12685 (grub_freebsd_add_meta_module): Likewise.
12686 (grub_cmd_freebsd_module): Likewise.
12687 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
12688 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
12689 (grub_xnu_writetree_get_size): Likewise.
12690 (grub_xnu_writetree_toheap_real): Likewise.
12691 (grub_xnu_find_key): Likewise.
12692 (grub_xnu_create_key): Likewise.
12693 (grub_xnu_create_value): Likewise.
12694 (grub_xnu_register_memory): Likewise.
12695 (grub_xnu_check_os_bundle_required): Likewise.
12696 (grub_xnu_scan_dir_for_kexts): Likewise.
12697 (grub_xnu_load_kext_from_dir): Likewise.
12698 * grub-core/normal/color.c (color_list): Likewise.
12699 * grub-core/normal/completion.c (current_word): Likewise.
12700 * grub-core/normal/menu_entry.c (insert_string): Likewise.
12701 * grub-core/term/serial.c (grub_serial_find): Likewise.
12702 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
12703 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
12704 Likewise.
12705 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
12706 (grub_freebsd_add_meta_module): Likewise.
12707 * include/grub/lib/arg.h (grub_arg_option): Likewise.
12708 * include/grub/net.h (grub_net_card_driver): Likewise.
12709 (grub_net_card): Likewise.
12710 (grub_net_app_protocol): Likewise.
12711 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
12712 * include/grub/serial.h (grub_serial_find): Likewise.
12713 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
12714 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
12715 (grub_xnu_create_value): Likewise.
12716 (grub_xnu_find_key): Likewise.
12717 (grub_xnu_scan_dir_for_kexts): Likewise.
12718 (grub_xnu_load_kext_from_dir): Likewise.
12719
12720 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
12721 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
12722 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
12723 Moved from here ...
12724 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
12725
112b4837
CW
127262011-11-28 Colin Watson <cjwatson@ubuntu.com>
12727
12728 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
12729
49e891ac
VS
127302011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
12731
12732 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
12733 (read_device): Fix size calculation.
12734
fd258e5c
RM
127352011-11-25 Robert Millan <rmh@gnu.org>
12736
12737 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
12738 (find_root_device_from_libzfs): Add zpool output parser to be used
12739 as fallback when libzfs isn't available.
12740
78845dc2
SG
127412011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
12742
12743 * po/Makefile.in.in: Add missing escape-continuation.
12744
adac5211
VS
127452011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
12746
12747 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
12748
10b64f1c
VS
127492011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
12750
12751 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
12752
bb416954
VS
127532011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
12754
12755 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
12756
bdfe9eeb
VS
127572011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
12758
12759 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
12760
581ffa8a
VS
127612011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
12762
12763 * grub-core/lib/adler32.c: Add missing license specification.
12764 * grub-core/lib/crc64.c: Likewise.
12765 * grub-core/loader/i386/pc/plan9.c: Likewise.
12766 * grub-core/partmap/plan.c: Likewise.
12767
2536cf64
LK
127682011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
12769
12770 Add facility to debug GRUB with gdb under qemu.
12771
12772 * grub-core/gdb_grub.in: New file.
12773 * grub-core/gmodule.pl.in: Likewise.
12774 * grub-core/Makefile.core.def (gmodule.pl): New script.
12775 (gdb_grub): Likewise.
12776
bc108a4a
VS
127772011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
12778
12779 * util/grub-mount.c (argp_parser): Accept relative pathes.
12780 * util/grub-fstest.c (argp_parser): Likewise.
12781
111c1778
VS
127822011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
12783
12784 Plan9 support.
12785
12786 * Makefile.util.def (libgrubmods): Add
12787 grub-core/partmap/plan.c.
12788 * docs/grub.texi: Notice Plan9 support.
12789 * grub-core/Makefile.core.def (plan9): New module.
12790 (part_plan): Likewise.
12791 * grub-core/loader/i386/pc/plan9.c: New file.
12792 * grub-core/partmap/plan.c: Likewise.
12793 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
12794 define.
12795 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
12796 * include/grub/mm.h (grub_extend_alloc): New inline function.
12797
c30be3b6
VS
127982011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
12799
12800 Make Reed-Solomon faster by using power of generator representation of
12801 GF(256)*.
12802
12803 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
12804 (gf_double_t): Likewise.
12805 (gf_invert): Removed.
12806 (gf_powx): New array.
12807 (gf_powx_inv): Likewise.
12808 (scratch): Move higher.
12809 (gf_reduce): Removed.
12810 (gf_mul): Use powx.
12811 (gf_invert): Likewise.
12812 (init_inverts): Replaced with ...
12813 (init_powx): ...this. All users updated.
12814 (pol_evaluate): Replace multiplications with additions.
12815 (rs_encode): Likewise.
12816 (gauss_eliminate): Call gf_invert.
12817 (grub_reed_solomon_add_redundancy): Call init_powx.
12818 (grub_reed_solomon_recover): Call init_powx unconditionally.
12819
fa5aeffc
VS
128202011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12821
12822 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
12823
a346b81c
VS
128242011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12825
12826 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
12827 disk->partiton for safety.
12828
d89ee414
VS
128292011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12830
12831 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
12832 Fix a memory leak.
12833 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
12834
91ee7b6d
VS
128352011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12836
12837 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
12838
91e5a33d
VS
128392011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12840
12841 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
12842
9edd7be2
VS
128432011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12844
12845 Fix spaces handling in proc/self/mountinfo.
12846
12847 * util/getroot.c (unescape): New function.
12848 (grub_find_root_device_from_mountinfo): Use unescape.
12849
ba102053
VS
128502011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12851
12852 Support ZFS embedding.
12853
12854 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
12855 (grub_zfs_fs): Register grub_zfs_embed.
12856
aa94b870
VS
128572011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12858
12859 Fix MIPS compilation.
12860
12861 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
12862 * include/grub/offsets.h: Rename decompressor fields from
12863 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
12864 * util/grub-mkimage.c (image_targets): Use new names.
12865
5fbdac14
VS
128662011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12867
12868 Defer multiboot device parsing until we're in compressed part.
12869
12870 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
12871 bsd_part. setdevice has fallen into disuse.
12872 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
12873 (bsd_part): Likewise.
12874 (boot_dev): New variable.
12875 (multiboot_trampoline): Don't parse multiboot device.
12876 Pass multiboot device in %edx.
12877 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
12878 grub_boot_device.
12879 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
12880 Likewise.
12881 * grub-core/kern/i386/pc/startup.S: Save edx.
12882 (grub_boot_drive): Removed.
12883 (grub_install_dos_part): Likewise.
12884 (grub_install_bsd_part): Likewise.
12885 (grub_boot_device): New variable.
12886 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
12887 (grub_install_bsd_part): Likewise.
12888 (grub_boot_drive): Likewise.
12889 (grub_boot_device): New variable.
12890 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
12891 Removed.
12892 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
12893 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
12894 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
12895 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
12896 * util/grub-install.in: Remove redundant condition.
12897
691cbb58
VS
128982011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12899
12900 Fix bug introduced by previous commit.
12901
12902 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
12903
60240b8b
VS
129042011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12905
12906 Use decompressors framework on i386-pc. It increases core size
12907 by 46 bytes but improves compatibility and maintainability.
12908
12909 * grub-core/Makefile.core.def (lzma_decompress): New image.
12910 (kernel): Add i386_pc_ldflags.
12911 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
12912 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
12913 to real_to_prot, prot_to_real and device info.
12914 * include/grub/offsets.h: Renamed decompressor offsets.
12915 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
12916 (image_target_desc): Remove raw_size and rename decompressor fields.
12917 (compress_kernel): Handle lzma.
12918 (generate_image): Handle decompressors on i386-pc.
12919
e9d3421c
VS
129202011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12921
12922 * configure.ac: Add -fno-asynchronous-unwind-tables.
12923
2b23074a
VS
129242011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12925
12926 Move assembly code to C by using intwrap. It increases core size
12927 by 88 bytes but improves compatibility and maintainability.
12928
12929 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
12930 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
12931 ... here. Translated to C.
12932 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
12933 * grub-core/term/i386/pc/console.c (grub_console_getkey):
12934 ... here. Translated to C.
12935 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
12936 * grub-core/term/i386/pc/console.c (grub_console_getxy):
12937 ... here. Translated to C.
12938 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
12939 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
12940 ... here. Translated to C.
12941 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
12942 * grub-core/term/i386/pc/console.c (grub_console_cls):
12943 ... here. Translated to C.
12944 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
12945 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
12946 ... here. Translated to C.
12947 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
12948 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
12949 Translated to C.
12950 * grub-core/term/i386/pc/console.c (int10_9): New function.
12951 (grub_console_putchar): Likewise.
12952 * include/grub/i386/pc/console.h: Removed the not anymore shared
12953 functions.
12954
678f4b67
VS
129552011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12956
12957 Move grub_chainloader_real_boot out of the kernel.
12958
12959 * grub-core/Makefile.am: Remove machine/loader.h.
12960 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
12961 Removed.
12962 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
12963 variable.
12964 (grub_relocator16_keep_a20_enabled): Likewise.
12965 (grub_relocator16_boot): Fill new variables.
12966 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
12967 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
12968 relocator.
12969 (grub_chainloader_unload): Likewise.
12970 (grub_chainloader_cmd): Likewise.
12971 * include/grub/i386/pc/loader.h: Removed.
12972 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
12973 and esi. All initialisers updated.
12974
4626edf6
VS
129752011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
129762011-11-12 Colin Watson <cjwatson@ubuntu.com>
12977
12978 * Makefile.util.def (grub-mount): New util.
12979 * .bzrignore: Add grub-mount.
12980 * configure.ac: Check for fuse and enable grub-mount if available.
12981 * docs/man/grub-mount.h2m: New file.
12982 * util/grub-mount.c: Likewise.
12983
10f0117b
VS
129842011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12985
12986 * grub-core/commands/efi/fixvideo.c: Gettextize.
12987 * grub-core/commands/hashsum.c: Likewise.
12988 * grub-core/commands/i386/cmostest.c: Likewise.
12989 * grub-core/commands/i386/pc/drivemap.c: Likewise.
12990 * grub-core/commands/i386/pc/lsapm.c: Likewise.
12991 * grub-core/commands/i386/pc/sendkey.c: Likewise.
12992 * grub-core/commands/lsmmap.c: Likewise.
12993 * grub-core/commands/menuentry.c: Likewise.
12994 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
12995 * grub-core/commands/setpci.c: Likewise.
12996 * grub-core/loader/i386/bsd.c: Likewise.
12997 * grub-core/loader/i386/linux.c: Likewise.
12998 * util/getroot.c: Likewise.
12999 * util/grub-editenv.c: Likewise.
13000 * util/grub-fstest.c: Likewise.
13001 * util/grub-mkfont.c: Likewise.
13002 * util/grub-mkimage.c: Likewise.
13003 * util/grub-mkpasswd-pbkdf2.c: Likewise.
13004 * util/grub-pe2elf.c: Likewise.
13005 * util/grub-probe.c: Likewise.
13006 * util/grub-setup.c: Likewise.
13007 * util/ieee1275/ofpath.c: Likewise.
13008 * util/misc.c: Likewise.
13009 * util/raid.c: Likewise.
13010
566f779b
RM
130112011-11-11 Robert Millan <rmh@gnu.org>
13012
13013 * util/getroot.c (grub_util_get_geom_abstraction): Remove
13014 __attribute__((unused)) from `os_dev', which *is* being used.
13015
b50787de
VS
130162011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13017
13018 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
13019 forgotten define.
13020 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
13021 GRUB_IA64_DL_GOT_ALIGN.
13022 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
13023 GRUB_IA64_DL_TRAMP_ALIGN.
13024
119d11c8
VS
130252011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13026
13027 Replace grub_fatal with normal errors in i386 linux loader.
13028
13029 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
13030 (allocate_pages): Check find_efi_mmap_size return value.
13031 (grub_e820_add_region): Return error.
13032 (grub_linux_boot): Check mmap return value.
13033
6e0632e2
VS
130342011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13035
13036 * grub-core/commands/acpihalt.c: Gettextized.
13037 * grub-core/commands/cacheinfo.c: Likewise.
13038 * grub-core/commands/cmp.c: Likewise.
13039 * grub-core/commands/efi/loadbios.c: Likewise.
13040 * grub-core/commands/gptsync.c: Likewise.
13041 * grub-core/commands/ieee1275/suspend.c: Likewise.
13042 * grub-core/commands/legacycfg.c: Likewise.
13043 * grub-core/commands/memrw.c: Likewise.
13044 * grub-core/commands/minicmd.c: Likewise.
13045 * grub-core/commands/parttool.c: Likewise.
13046 * grub-core/commands/time.c: Likewise.
13047 * grub-core/commands/videoinfo.c: Likewise.
13048 * grub-core/disk/geli.c: Likewise.
13049 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
13050 * grub-core/disk/luks.c: Likewise.
13051 * grub-core/disk/lvm.c: Likewise.
13052 * grub-core/font/font_cmd.c: Likewise.
13053 * grub-core/fs/zfs/zfscrypt.c: Likewise.
13054 * grub-core/fs/zfs/zfsinfo.c: Likewise.
13055 * grub-core/gfxmenu/view.c: Likewise.
13056 * grub-core/kern/emu/hostdisk.c: Likewise.
13057 * grub-core/kern/emu/main.c: Likewise.
13058 * grub-core/kern/emu/misc.c: Likewise.
13059 * grub-core/kern/emu/mm.c: Likewise.
13060 * grub-core/kern/mips/arc/init.c: Likewise.
13061 * grub-core/kern/mips/loongson/init.c: Likewise.
13062 * grub-core/kern/partition.c: Likewise.
13063 * grub-core/lib/i386/halt.c: Likewise.
13064 * grub-core/lib/mips/arc/reboot.c: Likewise.
13065 * grub-core/lib/mips/loongson/reboot.c: Likewise.
13066 * grub-core/loader/i386/pc/chainloader.c: Likewise.
13067 * grub-core/loader/i386/xnu.c: Likewise.
13068 * grub-core/loader/multiboot.c: Likewise.
13069 * grub-core/net/bootp.c: Likewise.
13070 * grub-core/net/net.c: Likewise.
13071 * grub-core/normal/term.c: Likewise.
13072 * grub-core/partmap/bsdlabel.c: Likewise.
13073 * grub-core/parttool/msdospart.c: Likewise.
13074 * grub-core/term/gfxterm.c: Likewise.
13075 * grub-core/term/terminfo.c: Likewise.
13076 * grub-core/video/i386/pc/vbe.c: Likewise.
13077 * util/grub-menulst2cfg.c: Likewise.
13078 * util/grub-mkdevicemap.c: Likewise.
13079 * util/grub-mklayout.c: Likewise.
13080 * util/grub-mkrelpath.c: Likewise.
13081 * util/grub-script-check.c: Likewise.
13082 * util/ieee1275/grub-ofpathname.c: Likewise.
13083 * util/resolve.c: Likewise.
13084
073aa7a9
VS
130852011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13086
13087 Support %1$d syntax.
13088
13089 * tests/printf_unit_test.c: New file.
13090 * Makefile.util.def (printf_test): New test.
13091 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
13092
c76b5417
VS
130932011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13094
13095 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
13096 fix.
13097
df067ad1
VS
130982011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13099
13100 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
13101 dprintf.
13102 * grub-core/font/font.c (grub_font_load): Likewise.
13103
5b289bc5
VS
131042011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13105
13106 * util/grub-macho2img.c: Add comment concerning gettext.
13107 * grub-core/lib/legacy_parse.c: Likewise.
13108
c1860f87
VS
131092011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13110
13111 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
13112 (grub_xvasprintf): Likewise.
13113
d35d0d37
VS
131142011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13115
13116 Add const keyword to grub_env_get and gettextize week days.
13117
13118 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
13119 (grub_read_hook_datetime): Return const char *.
13120 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
13121 updated.
13122 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
13123 Mark for gettext.
13124 (grub_get_weekday_name): Return const char *. Call gettext.
13125 * grub-core/script/argv.c (grub_script_argv_append): Receive const
13126 char * and len as the argument. All users updated.
13127 (grub_script_argv_split_append): Receive const char *.
13128 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
13129 * include/grub/env.h (grub_env_get): Likewise.
13130 (grub_env_read_hook_t): Return const char *.
13131 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
13132 (grub_script_argv_split_append): Likewise.
13133
9aed8a71
VS
131342011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13135
13136 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
13137
067fdf00
VS
131382011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13139
13140 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
13141 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
13142
a8bd9d39
VS
131432011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13144
13145 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
13146 Fix prototype.
13147
f7ce5baf
VS
131482011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13149
13150 Fix mips compilation.
13151
13152 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
13153 normal decoder.
13154 (hashes): Use in embed decoder as well (for sizes).
13155 (dec_stream_header): Fix embed decompressor logic.
13156 (dec_stream_footer): Likewise.
13157
9bb182f3
VS
131582011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13159
13160 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
13161 an error and not a fatal on unrecognised relocation types.
13162
63a9e6f6
VS
131632011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13164
13165 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
13166 Issue error rather than printf on unknown arguments.
13167
4c458569
VS
131682011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13169
13170 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
13171 Make buf a const.
13172
e2d22baf
VS
131732011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13174
13175 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
13176 Fix module name.
13177
53dc8590
VS
131782011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13179
13180 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
13181 leftover debug printf.
13182
6c189294
VS
131832011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13184
13185 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
13186
f7688369
VS
131872011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13188
13189 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
13190 A stylistic fix.
13191
11a775a3
VS
131922011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13193
13194 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
13195
33f784e8
SL
131962011-11-10 Shea Levy <slevy@tieronedesign.com>
13197
13198 Allow all modules to perform serial IO
13199
13200 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
13201 * include/grub/serial.h (grub_serial_port_configure): New inline
13202 function.
13203 (grub_serial_port_fetch): Likewise.
13204 (grub_serial_port_put): Likewise.
13205 (grub_serial_port_fini): Likewise.
13206 (grub_serial_find): New proto.
13207
f6276525
VS
132082011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
13209
13210 Put symlink at the end of the node and fix a potential
13211 memory corruption.
13212
13213 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
13214 Make symlink into an array.
13215 (set_rockridge): Set have_symlink and alloc_dirents.
13216 (grub_iso9660_read_symlink): Use new layout.
13217 (grub_iso9660_iterate_dir): Fix memory corruption.
13218 Use new layout.
13219 (grub_iso9660_dir): Set have_symlink.
13220 (grub_iso9660_open): Likewise.
13221
c3591189
VS
132222011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
13223
13224 Remove local keyword.
13225
13226 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
13227 (version_test_gt): Likewise.
13228 (version_find_latest): Likewise.
13229 (gettext_printf): Likewise.
13230 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
13231
cb544caa
VS
132322011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
13233
13234 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
13235
45bd824d
VS
132362011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
13237
13238 Fix ZFS memory and resource leaks.
13239
13240 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
13241 All users updated.
13242 Free type on exit.
13243 (fill_vdev_info): New parameter inserted. All users updated.
13244 (check_pool_label): Likewise.
13245 (scan_disk): Likewise.
13246 (scan_devices): Close non-inserted disks.
13247 (fzap_iterate): Free l.
13248 (unmount_device): Free children descripto memory.
13249
ad9a2f44
VS
132502011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
13251
13252 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
13253 argument (access out of bounds).
13254
6b68db81
VS
132552011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
13256
13257 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
13258 >= 6 drives.
13259
28840fda
VS
132602011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
13261
13262 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
13263 Fix declaration.
13264
8a5a3a5b
VS
132652011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
13266
13267 Fix several memory leaks.
13268
13269 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
13270 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
13271 (grub_cpio_dir): Likewise.
13272 * grub-core/fs/fat.c (grub_fat_label): Likewise.
13273 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
13274 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
13275 (grub_romfs_label): Likewise.
13276 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
13277 (squash_unmount): New function.
13278 (grub_squash_dir): Fix memory leak.
13279 (grub_squash_open): Likewise.
13280 (grub_squash_read): Likewise.
13281 (grub_squash_mtime): Likewise.
13282 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
13283 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
13284 * util/grub-fstest.c (fstest): Likewise.
13285
57b01250
VS
132862011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
13287
13288 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
13289 avoid accessing beyond the array.
13290
19e81ba7
VS
132912011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
13292
13293 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
13294
52b656c0
VS
132952011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
13296
13297 Several AFFS fixes.
13298
13299 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
13300 (GRUB_AFFS_FLAG_FFS): Removed.
13301 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
13302 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
13303 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
13304 (grub_fshelp_node): Make block 32-bit.
13305 Add block_cache and last_block_cache.
13306 (grub_affs_read_block): Fill and use block cache.
13307 (grub_affs_read_file): Removed.
13308 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
13309 boot block.
13310 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
13311 safety.
13312 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
13313 space.
13314 (grub_affs_close): Free block cache.
13315 (grub_affs_read): Use grub_fshelp_read_file directly.
13316
438a746a
VS
133172011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
13318
13319 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
13320 with no error set.
13321
49a45021
VS
133222011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
13323
13324 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
13325 used variable.
13326 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
13327 Likewise.
13328
3ae17eb8
VS
133292011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
13330
13331 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
13332
13333 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
13334 byteswap when needed.
13335
27610c38
VS
133362011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
13337
13338 Fix FreeBSD compilation.
13339
13340 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
13341 to avoid circular dependency.
13342 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
13343 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
13344 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
13345
4a19b601
VS
133462011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
13347
13348 Fix ZFS crypto error types.
13349
13350 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
13351 (grub_gcm_decrypt): Likewise.
13352 (grub_zfs_load_key_real): Fix error code type. Handle possible error
13353 from PBKDF2.
13354
958ee221
VS
133552011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
13356
13357 Illumos support.
13358
13359 * Makefile.util.def (10_illumos): New script.
13360 * configure.ac: Set COND_HOST_ILLUMOS.
13361 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
13362 Support Illumos calls.
13363 (find_partition_start) [__sun__]: Likewise.
13364 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
13365 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
13366 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
13367 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
13368 device.
13369 * util/grub-probe.c (probe) [__sun__]: Do character check.
13370 * util/grub.d/10_illumos.in: New file.
13371
cac14fb6
VS
133722011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
13373
13374 Support escaped commas in hostdisk.
13375
13376 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
13377 (find_grub_drive): Use unescape_cmp.
13378 (make_device_name): Escape commas.
13379
78e08dc3
VS
133802011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
13381
13382 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
13383
9f421dd1
VS
133842011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
13385
13386 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
13387 variable.
13388
ed64e9e2
VS
133892011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
13390
13391 Support trampoline jumps on powerpc.
13392
13393 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
13394 __ia64__ path.
13395 (grub_dl_load_segments): Set mod->sz.
13396 (grub_dl_flush_cache): Flush whole space occupied by module, not just
13397 segments.
13398 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
13399 (jump): Likewise.
13400 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
13401 function.
13402 (trampoline): New struct.
13403 (trampoline_template): New const.
13404 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
13405 * include/grub/dl.h (grub_dl): Add sz element.
13406 [__powerpc__]: Follow __ia64__.
13407 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
13408 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
13409 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
13410 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
13411
3084ede4
VS
134122011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
13413
13414 ZFS crypto support.
13415
13416 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
13417 * grub-core/Makefile.core.def (zfscrypt): New module.
13418 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
13419 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
13420 it. All users updated.
13421 (grub_zfs_decrypt): New var.
13422 (grub_zfs_load_key): Likewise.
13423 (zio_checksum_functions): Add SHA256+MAC.
13424 (zio_checksum_verify): Handle incomplete comparison due to MAC.
13425 (zio_read): Handle encrypted blocks.
13426 (zap_verify): Remove incorrect check.
13427 (fzap_iterate): Handle non-standard fzap.
13428 (zap_iterate): Likewise.
13429 (zap_iterate_u64): New function.
13430 (dnode_get_fullpath): Load keys.
13431 * grub-core/fs/zfs/zfscrypt.c: New file.
13432 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
13433 (grub_crypto_ecb_encrypt): Make input const.
13434 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
13435 (grub_crypto_ecb_encrypt): Make input const.
13436 (GRUB_CIPHER_AES): New macro.
13437 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
13438 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
13439 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
13440 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
13441 prefix. All users updated.
13442 (grub_zfs_add_key): New proto.
13443 (grub_zfs_decrypt): Likewise.
13444 (grub_zfs_load_key): Likewise.
13445 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
13446 * util/grub-fstest.c (options): Add -K option.
13447 (argp_parser): Likewise.
13448
b632b404
VS
134492011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
13450
13451 Support zle compression on ZFS.
13452
13453 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
13454 (decomp_table): Add zle.
13455 * include/grub/zfs/zio.h (zio_compress): Add zle.
13456
c7ba4f69
VS
134572011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
13458
13459 Support BtrFS embedding.
13460
13461 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
13462 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
13463 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
13464 * util/grub-setup.c (setup): Use fs embedding if available.
13465 Add additional sanity check.
13466
455377d9
VS
134672011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
13468
13469 * util/grub-install.in: Fix condition for config_opt.
13470
c2fd16ca
VS
134712011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
13472
13473 Support third redundancy strip on raidz3.
13474
13475 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
13476 Return error on singularity. All users updated.
13477 (read_device): Don't stop on 3rd failure on raidz3.
13478
8622923b
VS
134792011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
13480
13481 Support case-insensitive ZFS subvolumes.
13482
13483 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
13484 All users updated.
13485 (zap_hash): Likewise.
13486 (name_cmp): New function.
13487 (zap_leaf_array_equal): New parameter case_insensitive.
13488 All users updated.
13489 (zap_leaf_lookup): Likewise.
13490 (fzap_lookup): Likewise.
13491 (zap_lookup): Likewise.
13492 (dnode_get_path): New parameter case_insensitive. Retrieve case
13493 sensitiviness of a volume. All users updated.
13494 (dnode_get_fullpath): New parameter case_insensitive.
13495 All users updated.
13496 (grub_zfs_dir): Set info.case_insensitiveness.
13497
95f2e860
VS
134982011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
13499
13500 Support second redundancy strip on raidz(2,3).
13501
13502 * grub-core/fs/zfs/zfs.c (powx): New array.
13503 (powx_inv): Likewise.
13504 (poly): New const.
13505 (xor_out): New function.
13506 (gf_mul): Likewise.
13507 (recovery): Likewise.
13508 (read_device): Use second redundancy strip.
13509
11ee4389
VS
135102011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
13511
13512 Use a power of generator representation of GF(256) multiplication group
13513 to save space time and complexity.
13514
13515 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
13516 (raid6_table2): Likewise.
13517 (powx): New array.
13518 (powx_inv): Likewise.
13519 (poly): New const.
13520 (grub_raid_block_mul): Replace with ...
13521 (grub_raid_block_mulx): ...this.
13522 (grub_raid6_init_table): Rewritten.
13523 (grub_raid6_recover): Use power of generator representation.
13524
09e2763f
VS
135252011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
13526
13527 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
13528 for the right device.
13529
8bec9a28
VS
135302011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
13531
13532 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
13533 expected by grub-mkimage and it's more clear since there is no implicit
13534 padding.
13535
dbd3a32e
VS
135362011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
13537
13538 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
13539 disk.
13540 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
13541
182c872a
PMH
135422011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
13543
13544 * util/grub-mkrescue.in: Fix handling xorriso option.
13545
1e51cabd
VS
135462011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
13547
13548 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
13549 NULL.
13550
9cc3581d 135512011-11-03 crocket <crockabiscuit@gmail.com>
13552
13553 * util/grub.d/10_linux.in: Add Slackware initrd naming.
13554
158dc1ea
VS
135552011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
13556
13557 XZ CRC64 and SHA256 support.
13558
13559 * Makefile.util.def (libgrubmods): Add crc64.c.
13560 * grub-core/Makefile.core.def (crc64): New module.
13561 * grub-core/lib/crc64.c: New file.
13562 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
13563 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
13564 Fix the type.
13565 (MAX_HASH_SIZE): New define.
13566 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
13567 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
13568 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
13569 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
13570 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
13571 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
13572 Handle non-crc32 hashes.
13573 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
13574 (dec_stream_header): Handle non-crc32 hashes.
13575 (dec_stream_footer): Likewise.
13576 (dec_block_header): Likewise.
13577 (dec_main): Likewise.
13578 (xz_dec_init): Likewise.
13579 (xz_dec_reset): Likewise.
13580 (xz_dec_end): Likewise.
13581 * util/import_gcry.py: Add CRC64 line.
13582
9d9b3d2f
VS
135832011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
13584
13585 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
13586 as well.
13587
7d0ac931
VS
135882011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
13589
13590 Make reiserfs label retrieval similar to other *_label functions.
13591
13592 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
13593 (REISERFS_MAX_LABEL_LENGTH): Removed.
13594 (REISERFS_LABEL_OFFSET): Likewise.
13595 (grub_reiserfs_label): Rewritten.
13596
135972011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
13598
13599 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
13600 field.
13601
cf5ba824
VS
136022011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
13603
13604 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
13605
17744004
VS
136062011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
13607
13608 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
13609 drive failure on both raidz and raidz2.
13610
aca5aefc
VS
136112011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
13612
13613 Fix RAIDZ(2) for >= 5 devices.
13614
13615 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
13616 asize argument. All users updated.
13617
ce8ca56e
VS
136182011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13619
13620 Fix RAIDZ(2).
13621
13622 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
13623 (fill_vdev_info_real): Set ashift.
13624 (read_device): Rewrite RAIDZ part based on reverse engineering.
13625
7c01e783
VS
136262011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
13627
13628 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
13629 don't report potentially unavialiable fields in debug output.
13630 (find_path): Fix double-free and memory leak.
13631
ce109e84
VS
136322011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
13633
13634 Read label on UFS1.
13635
13636 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
13637 (grub_ufs_fs): Always set .label.
13638
87661123
VS
136392011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
13640
13641 Use shifts in UFS.
13642
13643 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
13644 (grub_ufs_data): New field log2_blksz.
13645 (grub_ufs_read_file): Use shifts.
13646 (grub_ufs_mount): Check block size and logarithm it.
13647
46bc1dc2
VS
136482011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
13649
13650 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
13651 long symlinks.
13652
19ee2987
VS
136532011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13654
13655 Handle symlinks and long names on tar and cpio.
13656
13657 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
13658 (ATTR_FILE): Likewise.
13659 (ATTR_DIR): Likewise.
13660 (ATTR_LNK): Likewise.
13661 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
13662 (grub_cpio_find_file): Fill mode, handle linkname field as well as
13663 L and K entries.
13664 (grub_cpio_mount): Zero-fill data.
13665 (handle_symlink): New function.
46bc1dc2
VS
13666 (grub_cpio_dir): Handle symlinks.
13667 (grub_cpio_open): Likewise.
13668 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 13669
c83a08d8
VS
136702011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13671
13672 Fix iso9660 filename limitations and fix memory leaks.
13673
13674 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
13675 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
13676
45cdd3ea
VS
136772011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13678
13679 Fix JFS file name length limitations.
13680
13681 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
13682 (grub_jfs_diropen): Fix maximum filename length.
13683 (grub_jfs_getent): Fix filename length.
13684 (grub_jfs_lookup_symlink): Fix size checks.
13685
94ef05c2
VS
136862011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13687
13688 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
13689 string.
13690
785ab8c7
VS
136912011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13692
eb0b6b45
VS
13693 Leverage BFS implementation to read AFS.
13694
13695 * Makefile.util.def (libgrubmods): Add afs.c.
13696 * grub-core/Makefile.core.def (afs): New module
13697 * grub-core/fs/afs.c: New file.
13698 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
13699
137002011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13701
13702 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 13703
c4a1628f
VS
137042011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13705
13706 * grub-core/fs/bfs.c: Run indent.
13707
5825b379
VS
137082011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13709
13710 BFS implementation based on the specification.
13711
13712 * grub-core/fs/bfs.c: New file.
13713 * Makefile.util.def (libgrubmods): Add bfs.c.
13714 * grub-core/Makefile.core.def (bfs): New module.
13715
42b2a706
VS
137162011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13717
13718 * util/grub-fstest.c (cmd_cp): Clarify error message.
13719 (cmd_cmp): Likewise.
13720
61b99bfc
YB
137212011-10-30 Yves Blusseau <blusseau@zetam.org>
13722
13723 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
13724 and befs_be.
13725
faba3d16
VS
137262011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
13727
13728 Remove afs and befs because of copyright problem.
13729
13730 * grub-core/fs/afs.c: Removed.
13731 * grub-core/fs/afs_be.c: Removed.
13732 * grub-core/fs/befs.c: Removed.
13733 * grub-core/fs/befs_be.c: Removed.
13734 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
13735 * grub-core/Makefile.core.def (afs): Removed.
13736 (afs_be): Likewise.
13737 (befs): Likewise.
13738 (befs_be): Likewise.
13739
c39224b0
VS
137402011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
13741
13742 Prefer rockridge over Joliet.
13743
13744 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
13745 to ...
13746 (set_rockridge): ... here.
13747 (grub_iso9660_mount): Check rockridge on the primary label when
13748 discovering. Ignore Joliet if Rockridge is present.
13749
e551115a
VS
137502011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
13751
13752 Use shifts in nilfs2.
13753
13754 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
13755 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
13756 (grub_nilfs2_palloc_entries_per_group): Replace with ...
13757 (grub_nilfs2_log_palloc_entries_per_group): ... this.
13758 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
13759 (grub_nilfs2_entries_per_block): Replaced with ...
13760 (grub_nilfs2_log_entries_per_block_log): ... this.
13761 (grub_nilfs2_blocks_per_group): Replaced with ...
13762 (grub_nilfs2_blocks_per_group_log): ... this.
13763 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
13764 (grub_nilfs2_blocks_per_desc_block_log): ... this.
13765 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
13766 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
13767 (grub_nilfs2_palloc_entry_offset): Replaced ...
13768 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
13769 (grub_nilfs2_dat_translate): Use shifts.
13770 (grub_nilfs2_read_inode): Likewise.
13771 (GRUB_MOD_INIT): Ensure that logs are correct.
13772
564dd58c
VS
137732011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
13774
13775 Use shifts in minix filesystem.
13776
13777 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
13778 (GRUB_MINIX_ZONE2SECT): Likewise.
13779 (grub_minix_data): Replace block_size with log_block_size.
13780 (grub_minix_read_file): Use shifts.
13781 (grub_minix_mount): Check block size and take a logarithm.
13782
ed9ba06d
VS
137832011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
13784
13785 Use shifts in squash4.
13786
13787 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
13788 (squash_mount): Check block size and take logarithm.
13789 (direct_read): Use shifts.
13790
ad03fe76
VS
137912011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
13792
13793 Correct befs block counting logic.
13794
13795 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
13796 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
13797 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
13798 (grub_afs_read_inode): Use block_shift.
13799 (RANGE_SHIFT): New definition.
13800 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
13801 unexpected conditions, use shifts and appropriate types.
13802 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
13803
6563f63d
VS
138042011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
13805
13806 * grub-core/disk/raid.c (scan_devices): Check partition.
13807 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
13808
5b1ae25f
VS
138092011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
13810
13811 Support BFS (befs) UUID.
13812
13813 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
13814 (grub_afs_small_data_element_header): New struct.
13815 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
13816 (grub_afs_read_attribute) [MODE_BFS]: New function.
13817 (grub_afs_iterate_dir): Allocate for complete inode.
13818 (grub_afs_mount): Likewise.
13819 (grub_afs_uuid) [MODE_BFS]: New function.
13820 (grub_afs_fs) [MODE_BFS]: Add .uuid.
13821
f8d82408
VS
138222011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
13823
13824 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
13825 (zfs_unmount): Fix memory leak.
13826
5773fb64
VS
138272011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13828
13829 Support NTFS reparse points.
13830
13831 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
13832 (symlink_descriptor): New struct.
13833 (grub_ntfs_read_symlink): New function.
13834 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
13835 (grub_ntfs_open): Likewise.
13836
91c3fdde
VS
138372011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13838
13839 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
13840
3be82e10
VS
138412011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13842
13843 fstest xnu_uuid subcommand.
13844
13845 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
13846 grub-core/commands/xnu_uuid.c.
13847 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
13848 (fstest): Handle xnu_uuid.
13849 (options): Document xnu_uuid.
13850 (argp_parser): Parse xnu_uuid.
13851
8e32442e
VS
138522011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13853
13854 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
13855 -l argument. Add newline at the end if printing.
13856 (GRUB_MOD_INIT): Document -l.
13857
52a05075
VS
138582011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13859
13860 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
13861
1869edb5
VS
138622011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13863
13864 ZFS multi-device and version 33 support.
13865
13866 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
13867 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
13868 (grub_zfs_data): Add multidev-ice-related fields.
13869 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
13870 (dva_get_offset): Make dva const.
13871 (zfs_fetch_nvlist): New function.
13872 (fill_vdev_info_real): Likewise.
13873 (fill_vdev_info): Likewise.
13874 (check_pool_label): Likewise.
13875 (scan_disk): Likewise.
13876 (scan_devices): Likewise.
13877 (read_device): Likewise.
13878 (read_dva): Likewise.
13879 (zio_read_gang): Use read_dva.
13880 (zio_read_data): Likewise.
13881 (zap_leaf_lookup): Add missing endian conversion.
13882 (zap_verify): Add missing endian conversion. All users updated.
13883 (fzap_lookup): Likewise.
13884 (fzap_iterate): Likewise.
13885 (dnode_get_path): Handle SA bonus.
13886 (nvlist_find_value): Make input const. All users updated.
13887 (unmount_device): New function.
13888 (zfs_unmount): Use unmount_device.
13889 (zfs_mount): Use scan_disk.
13890 (zfs_mtime): New function.
13891 (grub_zfs_open): Handle system attributes.
13892 (fill_fs_info): Likewise.
13893 (grub_zfs_dir): Likewise.
13894 (grub_zfs_fs): Add mtime.
13895 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
13896 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
13897 (SA_MTIME_OFFSET): Likewise.
13898 (SA_SYMLINK_OFFSET): Likewise.
13899 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
13900 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
13901 (fstest): Support zfsinfo.
13902 (argp_parser): Likewise.
13903
186b4028
VS
139042011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13905
13906 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
13907 error.
13908
139092011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
13910
13911 ZFS fixes.
13912
13913 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
13914 sharing the same block. Iterate over correct number of indices.
13915 (dnode_get_path): Handle symlinks correctly.
13916
c0584900
VS
139172011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13918
13919 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
13920
67e2bd71
VS
139212011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13922
13923 Read label on HFS+.
13924
13925 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
13926 (grub_hfsplus_btree_search): Fix types.
13927 (grub_hfsplus_label): Implement.
13928
e9cc6b7b
VS
139292011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13930
13931 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
13932
19832ddb
VS
139332011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13934
13935 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
13936
66b40850
VS
139372011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13938
13939 Fix symlink handling on iso9660.
13940
13941 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
13942 All users updated.
13943 (grub_iso9660_susp_iterate): Accept zero-size iterate.
13944 (grub_iso9660_read_symlink): Moved most of code ...
13945 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
13946
db821363
VS
139472011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13948
13949 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
13950 Use union to avoid breaking strict-aliasing rules.
13951
e1211949
VS
139522011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13953
13954 Support multi-extent iso files.
13955
13956 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
13957 Add node.
13958 (grub_fshelp_node): Revamp. All users updated.
13959 (FLAG_*): New enum.
13960 (read_node): New function.
13961 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
13962 All users updated.
13963 (grub_iso9660_mount): Don't attempt to read sua when there is none.
13964 (get_node_size): New function.
13965 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
13966 entries.
13967 Fix memory leak on . and ..
13968 (grub_iso9660_read): Use read_node.
13969 (grub_iso9660_close): Free node.
13970
d4888031
VS
139712011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13972
13973 Fix tar 4G limit and handle paths containing dot.
13974
13975 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
13976 (canonicalize): New function.
13977 (grub_cpio_find_file): Use canonicalize. Store offs in
13978 grub_disk_addr_t.
13979 (grub_cpio_dir): Use grub_disk_addr_t.
13980 (grub_cpio_open): Likewise.
13981
9f12e664
VS
139822011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13983
13984 Fix handling of uncompressed blocks on squashfs and break 4G limit.
13985
13986 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
13987 unused flags.
13988 (grub_squash_inode): Add long_file and block_size.
13989 (grub_squash_cache_inode): New struct.
13990 (grub_squash_dirent): Make types into enum.
13991 (SQUASH_TYPE_LONG_REGULAR): New type.
13992 (grub_squash_frag_desc): Add field size.
13993 (SQUASH_BLOCK_FLAGS): New enum.
13994 (grub_squash_data): Use grub_squash_cache_inode.
13995 (grub_fshelp_node): Make ino_chunk 64-bit.
13996 (read_chunk): Minor argument change. All users updated.
13997 (squash_mount): Use correct le_to_cpu.
13998 (grub_squash_open): Handle LONG_REGULAR.
13999 (direct_read): New function.
14000 (grub_squash_read_data): Handle blocks correctly.
14001
9f326fba
VS
140022011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
14003
14004 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
14005
f4d9b64b
VS
140062011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
14007
14008 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
14009
5bbd28b8
VS
140102011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
14011
14012 Fix 2G limit on ZFS.
14013
14014 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
14015 types.
14016 (uberblock_verify): Likewise.
14017 (dmu_read): Likewise.
14018 (grub_zfs_read): Likewise. Remove invalid cast.
14019
68c72069
VS
140202011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
14021
14022 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
14023 (grub_jfs_blkno): Fix incorrect shift.
14024 (grub_jfs_read_file): Use more appropriate types.
14025
6e536dc8
VS
140262011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
14027
14028 Support triple indirect on minix2 and minix3.
14029
14030 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
14031 Declare triple_indir_zone.
14032 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
14033 indirect.
14034
e0864e7a
VS
140352011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
14036
14037 Minix FS fixes.
14038
14039 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
14040 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
14041 Rename ctime to mtime. All users updated.
14042 (grub_minix_get_file_block): Fix types and double indirect computations.
14043
89481cab
VS
140442011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14045
14046 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
14047 if no label is found.
14048 (grub_fat_iterate_dir): Fix file size type.
14049 (grub_fat_iterate_dir): Likewise.
14050
f646e143
VS
140512011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14052
14053 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
14054 save some space.
14055 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
14056 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
14057
534d769e
VS
140582011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14059
14060 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
14061
e084ba18
VS
140622011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14063
14064 * util/import_gcry.py: Accept space between # and include.
14065
3471ecdf
VS
140662011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14067
14068 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
14069
124df5f6
VS
140702011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14071
14072 Fine grainely disable warnings on lexer. Remove Wno-error on it.
14073
14074 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
14075 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
14076 yylex_strncpy.
14077 * grub-core/script/yylex.l: Add fine-grained #pragma.
14078
4defb8d5
VS
140792011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14080
14081 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
14082 New inline function.
14083 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
14084 Likewise.
14085 (memset) [GRUB_UTIL]: Likewise.
14086 (memcmp) [GRUB_UTIL]: Likewise.
14087
4e94ae65
VS
140882011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14089
14090 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
14091 inline function rather than a define.
14092
18c575e5
VS
140932011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14094
14095 * util/grub-setup.c: Add missing include.
14096
f8bc22a8
VS
140972011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14098
14099 * util/ieee1275/grub-ofpathname.c: Add missing include.
14100
3ce69fc9
VS
141012011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14102
14103 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
14104 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
14105 Likewise.
14106
d1e293bb
VS
141072011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14108
14109 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
14110 grub_memcmp usage.
14111
7a5c54a4
VS
141122011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14113
14114 * util/grub-install.in: Add datarootdir as per automake manual
14115 suggestion.
14116 * util/grub-mknetdir.in: Likewise.
14117
141182011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
14119
14120 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
14121 suggestion.
14122 * util/grub.d/10_kfreebsd.in: Likewise.
14123 * util/grub.d/10_linux.in: Likewise.
14124 * util/grub.d/10_netbsd.in: Likewise.
14125 * util/grub.d/10_windows.in: Likewise.
14126 * util/grub.d/20_linux_xen.in: Likewise.
14127
766f7d08
VS
141282011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
14129
14130 Remove redundant grub_kernel_image_size.
14131
14132 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
14133 _edata and _start.
14134 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
14135 the small code. It moves it only by few bytes but simplifies the code.
14136 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
14137 _start.
14138 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
14139 (grub_kernel_image_size): Removed.
14140 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
14141 (grub_kernel_image_size): Removed.
14142 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
14143 compiled with Apple toolchain.
14144 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
14145 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
14146 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
14147 (grub_total_module_size): Likewise.
14148 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
14149 Removed.
14150 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
14151 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
14152 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
14153 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
14154 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
14155 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
14156 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
14157 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
14158 Removed.
14159 (grub_total_module_size): Removed.
14160 * util/grub-mkimage.c (image_target_desc): Remove image_size.
14161 (image_targets): Likewise.
14162 Set .compressed_size to no field on sparc.
14163 (generate_image): Remove kernel_image_size handling.
14164
fcf1d672
SJ
141652011-10-19 Szymon Janc <szymon@janc.net.pl>
14166
14167 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
14168 NULL pointer dereference.
14169
de9c615e
VS
141702011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
14171
14172 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
14173 done with a dedicated section.
14174
14175 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
14176 Ensure the correct position of boot_path.
14177 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
14178 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
14179 other fields.
14180 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
14181 * include/grub/boot.h: Removed. All references removed.
14182 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
14183 Removed.
14184 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
14185
e55599dc
VS
141862011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
14187
14188 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
14189 name.
14190
36dd20ad
VS
141912011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
14192
14193 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
14194
f8f72eb8
VS
141952011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
14196
14197 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
14198 Don't add the bogus brackets.
14199
a374751b
VS
142002011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
14201
14202 ExFAT support.
14203
14204 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
14205 * grub-core/Makefile.core.def (exfat): New module.
14206 * grub-core/fs/exfat.c: New file.
14207 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
14208 (GRUB_FAT_ATTR_*): Make into an enum.
14209 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
14210 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
14211 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
14212 (GRUB_FAT_MAXFILE): Removed.
14213 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
14214 (grub_current_fat_bpb_t): New type.
14215 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
14216 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
14217 (grub_fat_dir_node_t): New type.
14218 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
14219 (fat_log2) [MODE_EXFAT]: Removed.
14220 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
14221 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
14222 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
14223 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
14224 (grub_fat_label) [MODE_EXFAT]: New function.
14225 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
14226 reserved_first_sector to 0.
14227
544c2487
VS
142282011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
14229
14230 Move grub_reboot out of the kernel.
14231
14232 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
14233 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
14234 * grub-core/lib/efi/reboot.c: ... here.
14235 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
14236 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
14237 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
14238 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
14239 * grub-core/lib/i386/reboot_trampoline.S: ... here.
14240 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
14241 * grub-core/lib/ieee1275/reboot.c: ... here.
14242 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
14243 * grub-core/lib/mips/arc/reboot.c: ... here.
14244 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
14245 * grub-core/lib/mips/loongson/reboot.c: ...here.
14246 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
14247 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
14248 * include/grub/emu/misc.h (grub_reboot): New function declaration.
14249 * include/grub/i386/reboot.h: New file.
14250 * include/grub/mips/loongson/ec.h: Fix includes.
14251 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
14252 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
14253 * grub-core/lib/i386/reboot.c: New file.
14254
a97501d2
VS
142552011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
14256
14257 Make grub_prefix into module to fix the arbitrary limit and save
14258 some space.
14259
14260 * grub-core/kern/emu/main.c (grub_prefix): Removed.
14261 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
14262 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
14263 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
14264 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
14265 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
14266 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
14267 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
14268 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
14269 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
14270 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
14271 * include/grub/ia64/efi/kernel.h: Removed.
14272 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
14273 (grub_prefix): Removed.
14274 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
14275 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
14276 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
14277 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
14278 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
14279 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
14280 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
14281 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
14282 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
14283 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
14284 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
14285 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
14286 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
14287 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
14288 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
14289 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
14290 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
14291 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
14292 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
14293 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
14294 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
14295 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
14296 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
14297 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
14298 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
14299 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
14300 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
14301 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
14302 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
14303 from module.
14304 * util/grub-mkimage.c (image_target_desc): Removed prefix and
14305 prefix_end.
14306 (image_targets): Likewise.
14307 (generate_image): Put prefix as a module.
14308
39705fad
VS
143092011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14310
14311 Replace grub_module_iterate with FOR_MODULES.
14312
14313 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
14314 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
14315 (grub_efi_modules_addr): ...this.
14316 * grub-core/kern/efi/init.c (grub_modbase): New variable.
14317 (grub_efi_init): Set grub_modbase.
14318 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
14319 (grub_modbase): New variable.
14320 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
14321 (grub_modbase): New variable.
14322 (grub_machine_init): Set grub_modbase.
14323 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
14324 (grub_modbase): New variable.
14325 (grub_machine_init): Set grub_modbase.
14326 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
14327 (grub_modbase): New variable.
14328 (grub_machine_init): Set grub_modbase.
14329 * grub-core/kern/main.c (grub_module_iterate): Remove.
14330 (grub_modules_get_end): Use grub_modbase.
14331 (grub_load_modules): Use FOR_MODULES.
14332 (grub_load_config): Likewise.
14333 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
14334 (grub_modbase): New variable.
14335 (grub_machine_init): Set grub_modbase.
14336 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
14337 (grub_modbase): New variable.
14338 (grub_machine_init): Set grub_modbase.
14339 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
14340 Removed.
14341 (grub_modbase): New variable.
14342 (grub_machine_init): Set grub_modbase.
14343 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
14344 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
14345 (grub_module_iterate): Likewise.
14346 (grub_modbase): New variable declaration.
14347 (FOR_MODULES): New macro.
14348
2afb7f6c
VS
143492011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14350
14351 * configure.ac: Check for __ctzdi2 and __ctzsi2.
14352 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
14353
366e34fa
VS
143542011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14355
14356 Fix few obvious type discrepancies.
14357
14358 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
14359 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
14360 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
14361 variable.
14362 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
14363 and connected types.
14364 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
14365 offset.
14366 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
14367 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
14368 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
14369 and connected types.
14370
177b960e
VS
143712011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14372
14373 Fix python 3.x incompatibilities.
14374
14375 * gentpl.py: Put brackets around print strings.
14376 * util/import_gcry.py: Open explicitly as utf-8.
14377 Use in instead of has_key.
14378
3b619ae1
VS
143792011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14380
14381 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
14382 (GRUB_XFS_INO_AGBITS): Make into inline function.
14383 (GRUB_XFS_INO_INOINAG): Likewise.
14384 (GRUB_XFS_INO_AG): Likewise.
14385 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
14386 (GRUB_XFS_EXTENT_OFFSET): Likewise.
14387 (GRUB_XFS_EXTENT_BLOCK): Likewise.
14388 (GRUB_XFS_EXTENT_SIZE): Likewise.
14389 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
14390 (GRUB_XFS_NEXT_DIRENT): Likewise.
14391 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
14392 (grub_xfs_read_file): Fix offset type.
14393
8bcebcb8
RM
143942011-10-15 Robert Millan <rmh@gnu.org>
14395
14396 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
14397
0017e5ef
RM
143982011-10-15 Robert Millan <rmh@gnu.org>
14399
14400 Fix build problem on FreeBSD and GNU/kFreeBSD.
14401
14402 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
14403
d8919552
VS
144042011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
14405
14406 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
14407
14408 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
14409 types.
14410 (grub_hfsplus_btree_recoffset): Likewise.
14411 (grub_hfsplus_btree_recptr): Likewise.
14412 (grub_hfsplus_find_block): Likewise.
14413 (grub_hfsplus_btree_search): Likewise.
14414 (grub_hfsplus_read_block): Likewise.
14415 (grub_hfsplus_read_file): Likewise.
14416 (grub_hfsplus_mount): Likewise.
14417 (grub_hfsplus_btree_iterate_node): Likewise.
14418 (grub_hfsplus_btree_search): Likewise.
14419 (grub_hfsplus_iterate_dir): Likewise.
14420 (grub_hfsplus_read): A small code simplification.
14421
c81296b6
VS
144222011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
14423
14424 * grub-core/kern/emu/hostdisk.c
14425 (convert_system_partition_to_system_disk): Don't assume that children
14426 of mapper nodes are mapper nodes.
14427
0eb8ffb1
VS
144282011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
14429
14430 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
14431 * include/grub/misc.h (grub_isxdigit): New function.
14432 * grub-core/video/colors.c (my_isxdigit): Removed. All users
14433 switched to grub_isxdigit.
14434 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
14435 number starting with a letter.
14436
a98f4a08
RM
144372011-10-09 Robert Millan <rmh@gnu.org>
14438
14439 LVM support for FreeBSD and GNU/kFreeBSD.
14440
14441 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
14442 GNU/kFreeBSD.
14443 (LVM_DEV_MAPPER_STRING): Move from here ...
14444 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
14445 * util/getroot.c: Include `<grub/util/lvm.h>'.
14446 (grub_util_get_dev_abstraction): Enable
14447 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
14448 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
14449 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
14450 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
14451 support it.
14452 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
14453 GNU/kFreeBSD.
14454 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
14455 when LVM abstraction is required for ${GRUB_DEVICE}.
14456
050e8e90
SJ
144572011-10-06 Szymon Janc <szymon@janc.net.pl>
14458
14459 Add support for LZO compression in GRUB:
14460 - import of minilzo library,
14461 - LZO decompression for btrfs,
14462 - lzop files decompression.
14463
14464 * grub-core/io/lzopio.c: New file.
14465 * grub-core/lib/adler32.c: Likewise.
14466 * grub-core/lib/minilzo/lzoconf.h: Likewise.
14467 * grub-core/lib/minilzo/lzodefs.h: Likewise.
14468 * grub-core/lib/minilzo/minilzo.c: Likewise.
14469 * grub-core/lib/minilzo/minilzo.h: Likewise.
14470 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
14471 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
14472 grub-core/lib/minilzo/minilzo.c to common.
14473 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
14474 cflags in cppflags.
14475 * grub-core/Makefile.core.def (btrfs): Likewise.
14476 * grub-core/Makefile.core.def (lzopio): New module.
14477 (adler32): Likewise.
14478 * grub-core/fs/btrfs.c: Include minilzo.h.
14479 (GRUB_BTRFS_COMPRESSION_LZO): New define.
14480 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
14481 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
14482 (grub_btrfs_lzo_decompress): New function.
14483 (grub_btrfs_extent_read): Add support for LZO compression type.
14484 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
14485 (GRUB_USHRT_MAX): Likewise.
14486 (GRUB_UINT_MAX): Likewise.
14487 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
14488 (UINT_MAX): Likewise.
14489 (CHAR_BIT): Likewise.
14490 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
14491 grub-core/lib/posix_wrap/limits.h
14492 (UCHAR_MAX): Likewise.
14493 * include/grub/file.h (grub_file_filter_id): New compression filter
14494 GRUB_FILE_FILTER_LZOPIO.
14495 * include/grub/file.h (grub_file_filter_id): Set
14496 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
14497 * include/grub/types.h (grub_get_unaligned16): New function.
14498 (grub_get_unaligned32): Likewise.
14499 (grub_get_unaligned64): Likewise.
14500 * util/import_gcry.py (cryptolist): Add adler32.
14501
0eb8ffb1
VS
145022011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
14503
14504 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
14505 in perspective decreases the complexity of build system and fixes
14506 compilation right now.
14507
ce79cc99 145082011-10-01 Ales Nesrsta <starous@volny.cz>
14509
14510 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
14511 (fixed problem related to using UHCI with coreboot).
14512
8667a314
BC
145132011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
14514
14515 * gentpl.py: Use Autogen macros so that the output template file
14516 (Makefile.tpl) size is reduced.
14517
fc5efcc0
MK
145182011-09-29 Mads Kiilerich <mads@kiilerich.com>
14519
14520 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
14521 extra_dist.
14522
d1ab689d
ML
145232011-09-29 Mario Limonciello <mario_limonciello@dell.com>
14524
14525 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
14526 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
14527
c05de032
ML
145282011-09-29 Mario Limonciello <mario_limonciello@dell.com>
14529
14530 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
14531 _fullpath.
14532
cca7ccd8
ML
145332011-09-29 Mario Limonciello <mario_limonciello@dell.com>
14534
14535 Remove extra declaration of sleep for mingw32.
14536
14537 * util/misc.c (sleep) [__MINGW32__]: Removed.
14538 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
14539
e0b0dc83
GS
145402011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
14541
14542 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
14543 type and packname.
14544 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
14545 Resurrected.
14546 (NETBSD_BTINFO_BOOTWEDGE): New definition.
14547 (grub_netbsd_btinfo_bootwedge): New struct.
14548 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
14549 New function.
14550 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
14551
91a1a164
TH
145522011-09-28 Thomas Haller <thomas.haller@fen-net.de>
14553
14554 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
14555 loader.
14556
2ded951e
AB
145572011-09-28 Andreas Born <futur.andy@googlemail.com>
14558
14559 Fix incorrect identifiers in bash-completion.
14560
14561 * util/bash-completion.d/grub-completion.bash.in
14562 (_grub_mkpasswd-pbkdf2): Rename to ...
14563 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
14564 (_grub_script-check): Rename to ...
14565 (_grub_script_check): ... this. All users updated.
14566
69915030
VS
145672011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
14568
14569 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
14570 Return 0 if disk isn't biosdisk.
14571
20fd15f9
GS
145722011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
14573
14574 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
14575 on NetBSD.
14576 * Makefile.util.def (grub-fstest): Likewise.
14577
1a7d7db9
GS
145782011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
14579
14580 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
14581 Get sector size from disk label.
14582
2221ab6c
CW
145832011-09-05 Colin Watson <cjwatson@ubuntu.com>
14584
14585 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
14586 */README* as well as README*.
14587 Reported by: Axel Beckert.
14588
ca51c4a0
VS
145892011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
14590
14591 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
14592 case of less than 256 MiB of RAM.
14593
ab80f326
VS
145942011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
14595
14596 * grub-core/commands/wildcard.c (make_regex): Handle @.
14597
4155e697
VS
145982011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
14599
14600 * util/grub-install.in: Move cryptodisk logic to appropriate place.
14601
ab178c08
SJ
146022011-08-21 Szymon Janc <szymon@janc.net.pl>
14603
14604 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
14605 AC_LANG_CONFTEST macros.
14606
7dc3c686
SJ
146072011-08-20 Szymon Janc <szymon@janc.net.pl>
14608
14609 Add grub-fstest option to uncompress data for commands.
14610
14611 * util/grub-fstest.c (uncompress): New var.
14612 (options): New option -u.
14613
fe8d4a7b
SJ
146142011-08-20 Szymon Janc <szymon@janc.net.pl>
14615
14616 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
14617 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
14618
a5219af1
SJ
146192011-08-20 Szymon Janc <szymon@janc.net.pl>
14620
14621 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
14622 file type was not recognized correctly (not gzip or corrupted).
14623
f87abff5
VS
146242011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14625
14626 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
14627 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
14628
d94497ea
VS
146292011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14630
14631 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
14632 loongson.
14633 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
14634 video_radeon_fuloong2e.
14635 * grub-core/video/radeon_fuloong2e.c: New file.
14636 * include/grub/video.h (grub_video_id_t): Add new ID
14637 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
14638
0d1fd011
VS
146392011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14640
14641 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
14642 define.
14643 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
14644 that PRID matches the detected subplatform and reset the subplatform
14645 if it doesn't.
14646
84beb0ee
VS
146472011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14648
14649 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
14650
1227c133
VS
146512011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14652
14653 Fix PCI iterating on functions >= 4.
14654
14655 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
14656 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
14657 Removed.
14658 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
14659 (grub_pci_read): Fix bitmask.
14660 (grub_pci_read_word): Likewise.
14661 (grub_pci_read_byte): Likewise.
14662 (grub_pci_write): Likewise.
14663 (grub_pci_write_word): Likewise.
14664 (grub_pci_write_byte): Likewise.
14665
9594c689
VS
146662011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14667
14668 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
14669 can still be specified in TARGET_CFLAGS)
14670
14a2562c
VS
146712011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14672
14673 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
14674
14675 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
14676 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
14677 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
14678 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
14679 (FULOONG): Rename to ...
14680 (FULOONG2F): ... this. All users updated.
14681 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
14682 (machtype_fuloong2f_str): ... this.
14683 (machtype_fuloong2e_str): New string.
14684 Check for machtype_fuloong2e_str.
14685 * grub-core/loader/mips/linux.c (loongson_machtypes)
14686 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
14687 * grub-core/term/serial.c (loongson_defserial)
14688 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
14689 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
14690 loongson_defserial.
14691 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
14692 Rename to ...
14693 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
14694 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
14695 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
14696 to IMAGE_FULOONG2F_FLASH. All users updated.
14697 (image_targets): Rename images.
14698 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
14699
b526cbb6
SJ
147002011-08-19 Szymon Janc <szymon@janc.net.pl>
14701
14702 Make enable of disk cache statistics code configurable.
14703
14704 * configure.ac: --enable-cache-stats added.
14705 * config.h.in (DISK_CACHE_STATS): New define.
14706 * grub-core/Makefile.core.def (cacheinfo): New command.
14707 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
14708 * grub-core/commands/cacheinfo.c: New file.
14709 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
14710 moved to cacheinfo.c.
14711 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
14712 debug code.
14713 * include/grub/disk.h: Likewise.
14714
fb739ccd
SJ
147152011-08-19 Szymon Janc <szymon@janc.net.pl>
14716
14717 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
14718 * grub-core/Makefile.am: Likewise.
14719
2bba8cfd
VS
147202011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
14721
14722 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
14723 non-zero pull.
14724
43526629
VS
147252011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
14726
14727 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
14728 All users updated.
14729 (grub_jfs_lookup_symlink): Use correct starting inode.
14730
5c144cc8
VS
147312011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
14732
14733 * util/grub-setup.c (main): Add missing gcry initialisation.
14734
b1257f65
VS
147352011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
14736
14737 Don't accept text modes on EFI when booting Linux.
14738
14739 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
14740 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
14741
828bc390
ML
147422011-08-15 Mario Limonciello <mario_limonciello@dell.com>
147432011-08-15 Colin Watson <cjwatson@ubuntu.com>
14744
14745 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
14746 use of "/path/.." as in grub-install for EFI as well as handling
14747 symlinks correctly.
14748 Fixes Debian bug #637768.
14749
5f60ccac
CW
147502011-08-15 Colin Watson <cjwatson@ubuntu.com>
14751
14752 * util/grub-probe.c: Remove duplicate #include.
14753
6dc212f9
RM
147542011-08-10 Robert Millan <rmh@gnu.org>
14755
14756 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
14757
14758 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
14759 function.
14760 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
14761 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
14762
66816d85
RM
147632011-08-03 Robert Millan <rmh@gnu.org>
14764
14765 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
14766 la_array as packed.
14767 Reported by: Zachary Bedell
14768
20168fca
CW
147692011-07-26 Colin Watson <cjwatson@ubuntu.com>
14770
14771 * configure.ac: The Loongson port requires grub-mkfont due to its
14772 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
14773 be built.
14774
303b6246
CW
147752011-07-26 Colin Watson <cjwatson@ubuntu.com>
14776
14777 * util/grub-install.in: Don't source grub-mkconfig_lib until after
14778 processing arguments (otherwise help2man fails when GRUB has not yet
14779 been installed).
14780
6795300e
VS
147812011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
14782
41aa28ea
VS
14783 New script grub-mkstandalone.
14784
14785 * Makefile.util.def (grub-mkstandalone): New script.
14786 * docs/man/grub-mkstandalone.h2m: New file.
14787 * util/grub-mkstandalone.in: Likewise.
14788
147892011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
14790
14791 Support ATA disks with 4K sectors.
6795300e
VS
14792
14793 * include/grub/ata.h (grub_ata): New member log_sector_size.
14794 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
14795 (grub_ata_identify): Read sector size.
14796 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
14797
92227597
VS
147982011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
14799
14800 * util/grub-install.in: Don't use uhci outside of x86.
14801
c77069f5
VS
148022011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
14803
14804 * util/grub-mkrescue.in: Add missing quotes.
14805
148062011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
14807
14808 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
14809 dereference.
14810
583168a2
VS
148112011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
14812
14813 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
14814
6be1c01f
VS
148152011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
14816
14817 * include/grub/video.h: add missing EXPORT_FUND on
14818 grub_video_edid_checksum and grub_video_edid_preferred_mode.
14819
a1167439
VS
148202011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
14821
14822 * include/grub/mips/kernel.h: Fix define conflict.
14823
bf66054f
VS
148242011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
14825
14826 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
14827 all four ways.
14828
8fc4fa45
CW
148292011-07-21 Colin Watson <cjwatson@ubuntu.com>
14830
14831 Preferred resolution detection for VBE.
14832
14833 * grub-core/video/video.c (grub_video_edid_checksum): New function.
14834 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
14835 the Flat Panel extension, in line with the X.org VESA driver.
14836 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
14837 New function.
14838 (grub_vbe_bios_get_ddc_capabilities): Likewise.
14839 (grub_vbe_bios_read_edid): Likewise.
14840 (grub_vbe_get_preferred_mode): Likewise.
14841 (grub_video_vbe_setup): When the mode is "auto", try to get the
14842 preferred mode from VBE, and use the largest mode that is no larger
14843 than the preferred mode (some BIOSes expose a preferred mode that is
14844 not in their mode list!). If this fails, fall back to 640x480 as a
14845 safe conservative choice.
14846 (grub_video_vbe_get_edid): New function.
14847 (grub_video_vbe_adapter): Add get_edid.
14848 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
14849 (struct grub_video_adapter): Add get_edid.
14850 (grub_video_edid_checksum): Add prototype.
14851 (grub_video_edid_preferred_mode): Likewise.
14852 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
14853 structure.
14854
14855 * grub-core/commands/videoinfo.c (print_edid): New function.
14856 (grub_cmd_videoinfo): Print EDID if available.
14857
14858 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
14859 is more appropriate on a wider range of platforms than 640x480.
14860 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
14861 documentation.
14862
ca5572a9
VS
148632011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14864
14865 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
14866
e4bcf625
VS
148672011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14868
14869 * po/POTFILES.in: Regenerate.
14870
c4edd548
VS
148712011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14872
14873 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
14874 incorrect memory usage.
14875
16a2bab0
VS
148762011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14877
14878 * util/grub-install.in: Source grub-mkconfig_lib.
14879
2e418de6
VS
148802011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
14881
14882 Remove getroot.c from core on emu platform.
14883
14884 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
14885 kern/emu/raid.c.
14886 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
14887 useless.
14888 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
14889 * util/getroot.c (get_win32_path): ... here.
14890 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
14891 * util/getroot.c (fini_libzfs): ... here.
14892 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
14893 * util/getroot.c (grub_get_libzfs_handle): ... here.
14894 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
14895 Moved from here...
14896 * util/getroot.c (grub_find_zpool_from_dir): ... here.
14897 * grub-core/kern/emu/misc.c
14898 (grub_make_system_path_relative_to_its_root): Moved from here...
14899 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
14900 * grub-core/kern/emu/getroot.c: Moved from here ...
14901 * util/getroot.c: ... here. All users updated.
14902 * grub-core/kern/emu/raid.c: Moved from here ...
14903 * util/raid.c: ... here. All users updated.
14904
def9832a
VS
149052011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
14906
14907 * po/POTFILES.in: Regenerate.
14908
cd8fe79a
VS
149092011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
14910
14911 Fix compilation on GNU/Linux.
14912
14913 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
14914 Disable geli.
14915 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
14916 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
14917 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
14918
a251b719
VS
149192011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
149202011-07-07 Michael Gorven <michael@gorven.za.net>
149212011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
14922
14923 LUKS and GELI support.
14924
14925 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
14926 grub-core/disk/luks.c, grub-core/disk/geli.c,
14927 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
14928 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
14929 grub-core/lib/arg.c.
14930 (libgrubmods.a): Remove gcrypts cflags and cppflags.
14931 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
14932 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
14933 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
14934 (grub-bin2h): Add libgcry.a.
14935 (grub-mkimage): Likewise.
14936 (grub-mkrelpath): Likewise.
14937 (grub-script-check): Likewise.
14938 (grub-editenv): Likewise.
14939 (grub-mkpasswd-pbkdf2): Likewise.
14940 (grub-pe2elf): Likewise.
14941 (grub-fstest): Likewise.
14942 (grub-mkfont): Likewise.
14943 (grub-mkdevicemap): Likewise.
14944 (grub-probe): Likewise.
14945 (grub-ofpath): Likewise.
14946 (grub-mklayout): Likewise.
14947 (example_unit_test): Likewise.
14948 (grub-menulst2cfg): Likewise.
14949 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
14950 * grub-core/Makefile.core.def (cryptodisk): New module.
14951 (luks): Likewise.
14952 (geli): Likewise.
14953 * grub-core/disk/AFSplitter.c: New file.
14954 * grub-core/disk/cryptodisk.c: Likewise.
14955 * grub-core/disk/geli.c: Likewise.
14956 * grub-core/disk/luks.c: Likewise.
14957 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
14958 grub_util_is_lvm.
14959 (grub_util_get_dm_abstraction): New function.
14960 (grub_util_follow_gpart_up): Likewise.
14961 (grub_util_get_geom_abstraction): Likewise.
14962 (grub_util_get_dev_abstraction): Use new functions.
14963 (grub_util_pull_device): Pull GELI and LUKS.
14964 (grub_util_get_grub_dev): Handle LUKS and GELI.
14965 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
14966 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
14967 (follow_geom_up): Removed.
14968 (grub_util_fd_seek): New function.
14969 (open_device): Use grub_util_fd_seek.
14970 (nread): Rename to ..
14971 (grub_util_fd_read): ... this. All users updated.
14972 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
14973 (grub_crypto_cbc_decrypt): Likewise.
14974 (grub_crypto_hmac_write): Likewise.
14975 (grub_crypto_hmac_buffer): Likewise.
14976 (grub_password_get): Extend to util.
14977 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
14978 New member modname.
14979 (gcry_md_spec) [GRUB_UTIL]: Likewise.
14980 * include/grub/cryptodisk.h: New file.
14981 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
14982 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
14983 LUKS and GELI.
14984 (grub_util_follow_gpart_up): New proto.
14985 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
14986 (grub_util_fd_read): Likewise.
14987 (grub_cryptodisk_cheat_mount): Likewise.
14988 (grub_util_cryptodisk_print_uuid): Likewise.
14989 (grub_util_get_fd_sectors): Likewise.
14990 * util/grub-fstest.c (mount_crypt): New var.
14991 (fstest): Mount crypto if requested.
14992 (options): New option -C.
14993 (argp_parser): Parse -C.
14994 (main): Init and fini gcry.
14995 * util/grub-install.in: Support cryptodisk install.
14996 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
14997 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
14998 cryptodisk.
14999 (prepare_grub_to_access_device): Likewise.
15000 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
15001 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
15002 (probe_cryptodisk_uuid): New function.
15003 (probe_abstraction): Likewise.
15004 (probe): Use new functions.
15005 * util/import_gcry.py: Create Makefile.utilgcry.def.
15006 Add modname member.
15007
9bfdcbbc
VS
150082011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
15009
15010 Lazy device scanning.
15011
15012 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
15013 (grub-setup): Remove util/raid.c.
15014 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
15015 * grub-core/disk/lvm.c (scan_depth): New variable.
15016 (grub_lvm_iterate): Rescan if necessary.
15017 (find_lv): New function based on grub_lvm_open.
15018 (grub_lvm_open): Use find_lv. Rescan on error.
15019 (is_node_readable): New function.
15020 (is_lv_readable): Likewise.
15021 (grub_lvm_scan_device): Skip already found disks.
15022 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
15023 Stop if searched device is found and readable.
15024 * grub-core/disk/raid.c (inscnt): New variable.
15025 (scan_depth): Likewise.
15026 (scan_devices): New function based on grub_raid_register. Abort if
15027 looked for device is found.
15028 (grub_raid_iterate): Rescan if needed.
15029 (find_array): NEw function based on -grub_raid_open.
15030 (grub_raid_open): Use find_array and rescan.
15031 (insert_array): Set became_readable_at.
15032 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
15033 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
15034 New function.
15035 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
15036 (grub_util_pull_device): New function.
15037 (grub_util_get_grub_dev): Call grub_util_pull_device.
15038 * util/raid.c: Moved to ..
15039 * grub-core/kern/emu/raid.c: ... here.
15040 (grub_util_raid_getmembers): New parameter "bootable".
15041 All users updated. Support 1.x.
15042 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
15043 All users updated.
15044 * include/grub/disk.h (grub_disk_pull_t): New enum.
15045 (grub_disk_dev): Change iterate prototype.
15046 All users updated.
15047 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
15048 New proto.
15049 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
15050 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
15051 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
15052 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
15053 All users updated.
15054 * include/grub/util/raid.h: Removed.
15055
1c358e59
VS
150562011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
15057
15058 * po/POTFILES.in: Regenerate.
15059
abee94ed
VS
150602011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
15061
15062 Unify sparc init with other ieee1275.
15063
15064 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
15065 instead of kern/sparc64/ieee1275/init.c.
15066 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
15067 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
15068 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
15069 grub/machine/kernel.h.
15070 (grub_ieee1275_original_stack) [__sparc__]: New variable.
15071 (grub_claim_heap) [__sparc__]: Use sparc version.
15072 (grub_machine_init): Moved args parsing to
15073 (grub_parse_cmdline): ...this.
15074 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
15075 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
15076 New definition.
15077 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
15078
15079 Move BOOTP to separate file.
15080
15081 * grub-core/Makefile.core.def (net): Add net/bootp.c.
15082 * grub-core/net/net.c: Move all BOOTP functions to
15083 * grub-core/net/bootp.c: ... here.
15084
15085 Use frame interface on PXE.
15086
15087 * grub-core/Makefile.core.def (pxecmd): Removed.
15088 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
15089 * grub-core/commands/i386/pc/pxecmd.c: Removed.
15090 * grub-core/i386/pc/pxe.c: Moved from here ...
15091 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
15092 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
15093 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
15094
15095 EFI network support.
15096
15097 * grub-core/Makefile.core.def (efinet): New module.
15098 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
15099 here...
15100 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
15101 All users updated.
15102 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
15103 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
15104 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
15105 * grub-core/net/drivers/efi/efinet.c: New file.
15106 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
15107 (grub_efi_net_config): New extern var.
15108
15109 Various cleanups and bugfixes.
15110
15111 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
15112 error.
15113 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
15114 disk declared as partition.
15115 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
15116 leak on failure.
15117 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
15118 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
15119 (grub_debug_zalloc): Likewise.
15120 (grub_debug_realloc): Likewise.
15121 (grub_debug_memalign): Likewise.
15122 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
15123 Check that target is IPv4.
15124 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
15125 local-mac-address as fallback.
15126 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
15127 memory leak.
15128 * grub-core/net/ip.c (ipchksum): Rename to ...
15129 (grub_net_ip_chksum): ... this. All users updated.
15130 (grub_net_recv_ip_packets): Special handling for DHCP.
15131 * util/grub-mkimage.c (generate_image): Zero-out aout header.
15132
15133 Unify prefix handling
15134
15135 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
15136 (grub_machine_get_bootlocation): ... this.
15137 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
15138 (grub_machine_get_bootlocation): ... this.
15139 (grub_prefix): New variable.
15140 (prefix): Removed.
15141 (root_dev): New variable.
15142 (dir): Likewise.
15143 (main): Use new variables.
15144 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
15145 Revamped into ...
15146 (grub_machine_get_bootlocation): ... this.
15147 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
15148 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
15149 (grub_machine_get_bootlocation): ... this.
15150 (grub_machine_set_prefix): Removed.
15151 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
15152 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
15153 Revamped into ...
15154 (grub_machine_get_bootlocation): ... this.
15155 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
15156 (grub_set_prefix_and_root): ... this. All users updated.
15157 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
15158 Revamped into ...
15159 (grub_machine_get_bootlocation): ... this.
15160 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
15161 (grub_machine_get_bootlocation): New proto.
15162 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
15163
15164 Less intrusive and more reliable seek on network implementation.
15165
15166 * grub-core/kern/file.c (grub_file_net_seek): Removed.
15167 (grub_file_seek): Don't call grub_file_net_seek.
15168 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
15169 (grub_net_fs_read_real): .. this.
15170 (grub_net_seek_real): Use net->offset.
15171 (grub_net_fs_read): Seek if necessary.
15172
15173 Unify IEEE1275 netwotk config with the other platforms.
15174
15175 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
15176 New variable.
15177 (grub_machine_get_bootlocation): Support network.
15178 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
15179 Support type and device parsing.
15180 (grub_ieee1275_get_device_type): New function.
15181 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
15182 into ...
15183 (grub_ieee1275_net_config_real): ... this.
15184 (grub_ofnet_probecards): Removed.
15185 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
15186 * include/grub/ieee1275/ofnet.h: Removed.
15187 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
15188 extern var.
15189 (grub_ieee1275_get_device_type): New function.
15190
15191 Unify network device closing across platforms and make more robust.
15192
15193 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
15194 grub_grubnet_fini.
15195 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
15196 already.
15197 * grub-core/net/net.c (grub_net_network_level_interface_register):
15198 Update num_ifaces.
15199 (grub_net_card_unregister): Close all interfaces.
15200 (receive_packets): Don't poll if no iterfaces are registered.
15201 Open if necessary.
15202 (grub_net_fini_hw): New function.
15203 (grub_net_restore_hw): Likewise.
15204 (fini_hnd): New variable.
15205 (GRUB_MOD_INIT): Register preboot hook.
15206 (GRUB_MOD_FINI): Run and unregister preboot hook.
15207
15208 Poll network cards when idle.
15209
15210 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
15211 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
15212 * grub-core/net/net.c (receive_packets): Save last poll time.
15213 (grub_net_poll_cards_idle_real): New function.
15214 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
15215 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
15216 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
15217
15218 Rename ofnet interfaces.
15219
15220 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
15221 (grub_ofnet_findcards): Use ofnet_%s names.
15222
15223 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
15224
15225 Cleanup socket opening.
15226
15227 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
15228 (grub_net_fs_close): Likewise.
15229 (grub_net_fs_read_real): Use eof member.
15230 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
15231 (+grub_net_udp_close): New inline function.
15232
15233 * include/grub/net/tftp.h: Moved to the top of ...
15234 * grub-core/net/tftp.c: ... here.
15235 * include/grub/net/ip.h: Moved mostly to the top of ...
15236 * grub-core/net/ip.c: ... here.
15237 * include/grub/net/ethernet.h: Moved mostly to the top of ...
15238 * grub-core/net/ethernet.c: ... here.
15239
15240 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
15241
15242 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
15243 FS name.
15244
15245 * include/grub/net/ip.h (ipv4_ini): Removed.
15246 (ipv4_fini): Likewise.
15247
15248 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
15249 (grub_net_send_ip_packets): Likewise.
15250
cf1337aa
VS
152512011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
15252
15253 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
15254 grub_read_cmos prototype.
15255
93c06ff9
VS
152562011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
15257
15258 VGA text support in qemu-mips
15259
15260 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
15261 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
15262 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
15263 text.
15264 * grub-core/kern/i386/qemu/init.c: Renamed to ...
15265 * grub-core/kern/vga_init.c: ... this.
15266 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
15267 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
15268 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
15269 Adjust.
15270 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
15271 GRUB_MACHINE_PCI_IO_BASE.
15272
748ccabe
VS
152732011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
15274
15275 MIPS qemu flash support.
15276
15277 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
15278 magic.
15279 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
15280 (grub_machine_init): Probe memory if its size isn't known.
15281 * util/grub-mkimage.c (image_targets): Add flash targets.
15282 (generate_image): Handle flash targets.
15283
d7345994
VS
152842011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
15285
15286 MIPS qemu at_keyboard support.
15287
15288 * gentpl.py (videoinkernel): Add qemu-mips.
15289 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
15290 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
15291 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
15292 modules.
15293 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
15294 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
15295 * grub-core/term/serial.c (grub_serial_register)
15296 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
15297
a07a81b3
VS
152982011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
15299
15300 CMOS support on sparc.
15301
15302 * gentpl.py (cmos): Add powerpc and sparc.
15303 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
15304 powerpc and sparc.
15305 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
15306 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
15307 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
15308 grub_set_datetime_cmos.
15309 * grub-core/lib/ieee1275/cmos.c: New file.
15310 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
15311 (find_rtc): Set no_ieee1275_rtc on error.
15312 (grub_get_datetime): Call grub_get_datetime_cmos on error.
15313 (grub_set_datetime): Call grub_set_datetime_cmos on error.
15314 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
15315 fail. Move value to argument. All users updated
15316 (grub_cmos_write): Likewise.
15317 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
15318 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
15319 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
15320 grub_get_datetime_cmos and grub_set_datetime_cmos.
15321
77546584
GS
153222011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
15323
15324 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
15325 sourcing grub-mkconfig_lib.
15326 * util/update-grub_lib.in: Likewise.
15327 * util/grub.d/00_header.in: Likewise.
15328 * util/grub.d/10_hurd.in: Likewise.
15329 * util/grub.d/10_kfreebsd.in: Likewise.
15330 * util/grub.d/10_linux.in: Likewise.
15331 * util/grub.d/10_netbsd.in: Likewise.
15332 * util/grub.d/10_windows.in: Likewise.
15333 * util/grub.d/20_linux_xen.in: Likewise.
15334 * util/grub.d/30_os-prober.in: Likewise.
15335
54894791
CW
153362011-06-28 Colin Watson <cjwatson@ubuntu.com>
15337
15338 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
15339 default_bg_color rather than black.
15340 (grub_gfxterm_fullscreen): Likewise.
15341 (grub_gfxterm_background_color_cmd): Save new background color in
15342 default_bg_color.
15343
8d5d8444
VS
153442011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15345
15346 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
15347
5afeb5bd
VS
153482011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15349
15350 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
15351 mismerge.
15352
ba7df45e
VS
153532011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15354
15355 Chainloading on coreboot support.
15356
15357 * grub-core/Makefile.core.def (chain): Add coreboot.
15358 * grub-core/loader/i386/coreboot/chainloader.c: New file.
15359
d0b526b2
VS
153602011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15361
15362 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
15363 if it happens.
15364
5ff1d945
VS
153652011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15366
15367 Implement time command.
15368
15369 * grub-core/Makefile.core.def (time): New module.
15370 * grub-core/commands/time.c: New file.
15371 * grub-core/script/parser.y: Remove "time" keyword.
15372 * grub-core/script/yylex.l: Likewise.
15373
5ebaad7e
VS
153742011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15375
15376 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
15377
bdea3798
VS
153782011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15379
15380 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
15381 when handling leftovers.
15382
b28c5655
VS
153832011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15384
15385 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
15386 so that help2man doesn't fail.
15387
b6f945dc
VS
153882011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15389
15390 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
15391 type in pointers on sparc64.
15392 (get_card_packet): Likewise.
15393
f9b75e8a
CW
153942011-06-27 Colin Watson <cjwatson@ubuntu.com>
15395
15396 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
15397 with `*'.
15398 (grub_cmd_videoinfo): Fetch current video mode.
15399
1e3d9b86
VS
154002011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15401
15402 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
15403 because of underlying system restrictions.
15404
efff4b1c
VS
154052011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15406
15407 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
15408 necessary.
15409
9fc9ce37
VS
154102011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15411
15412 Coreboot video support.
15413
15414 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
15415 (vbe): Likewise.
15416 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
15417 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
15418 here ...
15419 * grub-core/kern/i386/int.S: ... here.
15420 * grub-core/video/i386/pc/vbe.c: Updated includes.
15421 * grub-core/video/i386/pc/vga.c: Likewise.
15422 * include/grub/i386/coreboot/memory.h
15423 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
15424 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
15425 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
15426 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
15427 Disable interrupts.
15428 * include/grub/i386/pc/vga.h: Removed. All users updated.
15429
41bec7fe
VS
154302011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15431
15432 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
15433 definitions for dprintf.
15434 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
15435
ca80309d
VS
154362011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
15437
15438 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
15439 prototype.
15440 (get_card_packet): Likewise.
15441
9e322ce8
YB
154422011-06-26 Yves Blusseau <blusseau@zetam.org>
15443
15444 Display the path of the file when file is not found
15445
15446 * grub-core/fs/fat.c: Display the filename when file is not found.
15447 * grub-core/fs/fshelp.c: Likewise.
15448 * grub-core/fs/hfs.c: Likewise.
15449 * grub-core/fs/jfs.c: Likewise.
15450 * grub-core/fs/minix.c: Likewise.
15451 * grub-core/fs/ufs.c: Likewise.
15452 * grub-core/fs/btrfs.c: Likewise.
15453 * grub-core/commands/i386/pc/play.c: Likewise.
15454
cbf597af
SJ
154552011-06-26 Szymon Janc <szymon@janc.net.pl>
15456
15457 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
15458 pointer checks before calling grub_free().
15459 * grub-core/commands/wildcard.c (match_devices): Likewise.
15460 * grub-core/commands/wildcard.c (match_files): Likewise.
15461 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
15462 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
15463 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
15464 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
15465 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
15466 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
15467 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
15468 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
15469 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
15470
6295b32f
P
154712011-06-25 Patrick <p55@mailinator.com>
15472
15473 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
15474
77c0840b
VS
154752011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
15476
15477 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
15478 (grub_pxe_send): Likewise.
15479 (GRUB_MOD_INIT): Fix types.
15480
40ea05de
SJ
154812011-06-24 Szymon Janc <szymon@janc.net.pl>
15482
15483 * grub-core/io/xzio.c: Fix code style issues
15484
90162423
MRA
154852011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
154862011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
15487
15488 Network infrastructure.
15489 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
15490
15491 * include/grub/net/arp.h: New file.
90162423
MRA
15492 * include/grub/net/device.h: Likewise.
15493 * include/grub/net/ethernet.h: Likewise.
15494 * include/grub/net/ip.h: Likewise.
15495 * include/grub/net/netbuff.h: Likewise.
15496 * include/grub/net/tftp.h: Likewise.
15497 * include/grub/net/udp.h: Likewise.
15498 * include/grub/ieee1275/ofnet.h: Likewise.
15499 * include/grub/emu/export.h: Likewise.
15500 * include/grub/net.h: Likewise.
15501 * grub-core/net/arp.c: Likewise.
15502 * grub-core/net/ethernet.c: Likewise.
15503 * grub-core/net/ip.c: Likewise.
15504 * grub-core/net/udp.c: Likewise.
15505 * grub-core/net/tftp.c: Likewise.
15506 * grub-core/net/netbuff.c: Likewise.
15507 * grub-core/net/net.c: Likewise.
15508 * grub-core/net/drivers/emu/emunet.c: Likewise.
15509 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
15510 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
15511 export.h.
15512 * grub-core/Makefile.core.def (net): New module.
15513 (tftp): Likewise.
15514 (ofnet): Likewise.
15515 (emunet): Likewise.
15516 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
15517 network protocols.
15518 * grub-core/kern/device.c (grub_net_open) : New variable.
15519 (grub_device_open): Handle network device.
15520 (grub_device_close): Likewise.
15521 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
15522 (grub_grubnet_fini): Likewise.
15523 (grub_file_seek): Seek in network device.
15524 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
15525 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
15526 network root.
15527 (grub_machine_fini): Call grub_grubnet_fini.
15528 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
15529 network.
15530 (grub_ieee1275_get_aliasdevname): New function.
15531 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
15532 Add unofficial Solaris network info.
15533 (grub_multiboot_make_mbi): Likewise.
15534 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
15535 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
15536 * include/grub/device.h (grub_fs): Removed.
15537 * include/grub/err.h (grub_err_t): Add network-related values.
15538 * include/grub/i386/pc/pxe.h: Removed bootp parts.
15539 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
15540 (grub_ieee1275_get_aliasdevname): New proto.
15541 * include/grub/net.h: Rewritten.
423a1849 15542
031f22a0
VS
155432011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
15544
15545 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
15546 names.
15547
4388ca72
VS
155482011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
15549
15550 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
15551 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
15552 it truncates the output.
15553 Reported by: Ximin Luo.
15554
98e2f506
VS
155552011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
15556
15557 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
15558
2a5e94d8
VS
155592011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
15560
15561 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
15562 partmap before abstraction.
15563
535c1910
AK
155642011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
15565
15566 * util/grub-mkconfig_lib.in: Add missing quotes.
15567
bc09e1a2
VS
155682011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
15569
15570 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
15571 old method if mountinfo would return /dev/root and /dev/root doesn't
15572 exist.
15573
290766fb
VS
155742011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
15575
15576 ZFS zlib support
15577
15578 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
15579 (decomp_table): Add zlib entries.
15580 (zio_read): USe 8 bits for compression function rather than 3.
15581 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
15582
155832011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
15584
15585 * grub-core/disk/ahci.c: Add missing license statements.
15586 * grub-core/fs/romfs.c: Likewise.
15587 * grub-core/lib/ia64/setjmp.S: Likewise.
15588 * grub-core/loader/i386/pc/freedos.c: Likewise.
15589 * grub-core/loader/ia64/efi/linux.c: Likewise.
15590 * grub-core/video/colors.c: Likewise.
15591 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
15592
5ab3f48a
VS
155932011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15594
15595 AHCI support.
15596
15597 * grub-core/Makefile.core.def (ata_pthru): Removed.
15598 (ahci): New module.
15599 (pata): Likewise.
15600 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
15601 on unload.
15602 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
15603 readwrite.
15604 (grub_hdparm_do_check_powermode_cmd): Likewise.
15605 (grub_hdparm_do_smart_cmd): Likewise.
15606 (grub_hdparm_set_val_cmd): Likewise.
15607 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
15608 * grub-core/disk/ahci.c: New file.
15609 * grub-core/disk/ata.c: Factor out the low-level part into ...
15610 * grub-core/disk/pata.c: ... here.
15611 * grub-core/disk/ata_pthru.c: Contents moved to ...
15612 * grub-core/disk/pata.c: ... here.
15613 * grub-core/disk/scsi.c (grub_scsi_names): New array.
15614 (grub_scsi_iterate): Use grub_scsi_names.
15615 (grub_scsi_open): Likewise.
15616 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
15617 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
15618 (grub_ata_regs_t): New struct.
15619 (grub_disk_ata_pass_through_parms): Likewise.
15620 (grub_ata_device): Renamed to ...
15621 (grub_ata): ... this.
15622 (grub_ata_dev): New struct.
15623 Removed all low-level inline functions.
15624 * include/grub/scsi.h: Add PATA and AHCI subsystems.
15625 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
15626 iterate hooks and open. All users updated.
15627 * util/grub-install.in: Handle AHCI disk module.
15628
c31dc5f5
SJ
156292011-06-23 Szymon Janc <szymon@janc.net.pl>
15630
15631 Add support for DRI and RSTn markers in JPEG files.
15632
15633 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
15634 (JPEG_MARKER_RST0): Likewise.
15635 (JPEG_MARKER_RST1): Likewise.
15636 (JPEG_MARKER_RST2): Likewise.
15637 (JPEG_MARKER_RST3): Likewise.
15638 (JPEG_MARKER_RST4): Likewise.
15639 (JPEG_MARKER_RST5): Likewise.
15640 (JPEG_MARKER_RST6): Likewise.
15641 (JPEG_MARKER_RST7): Likewise.
15642 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
15643 (grub_jpeg_decode_dri): New function.
15644 (grub_jpeg_decode_sos): Move image data related part into
15645 grub_jpeg_decode_data function.
15646 (grub_jpeg_decode_data): New function.
15647 (grub_jpeg_reset): New function.
15648 (grub_jpeg_decode_jpeg): Handle new markers.
15649
fe12fd5b
VS
156502011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15651
15652 * util/ieee1275/ofpath.c (check_sas): Close fd.
15653 (main): Free of_path.
15654 Reported by: David Volgyes <dvolgyes>.
15655
03147f46
VS
156562011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15657
15658 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
15659 Reported by: David Volgyes <dvolgyes>.
15660
cad3237f
VS
156612011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15662
15663 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
15664 file after stat.
15665 Reported by: David Volgyes <dvolgyes>.
15666
13548d26
VS
156672011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15668
15669 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
15670
15671 Reported by: David Volgyes <dvolgyes>.
15672
e061a1b5
VS
156732011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15674
15675 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
15676 Prevent memory leak.
15677
1abe47dc
VS
156782011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15679
15680 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
15681 (main): Close file.
e061a1b5 15682 Reported by: David Volgyes <dvolgyes>.
1abe47dc 15683
fbc62666
VS
156842011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15685
15686 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
15687 to continue if allocation is failed.
15688
15689 Reported by: David Volgyes <dvolgyes>.
15690
e98c83e9
DV
156912011-06-23 David Volgyes <dvolgyes>
15692
15693 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
15694 dereference.
15695
a199a8cd
VS
156962011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15697
15698 Fix spurious warning.
15699
15700 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
15701 (acorn_partition_map_find): Use .bin member.
15702
e2d1dba0
VS
157032011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15704
15705 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
15706 /dev/root as a valid device.
15707
8a5d6919
JM
157082011-06-23 Jim Meyering <meyering@redhat.com>
15709
e2d1dba0
VS
15710 Avoid NULL deref in grub_device_open.
15711
8a5d6919
JM
15712 * grub-core/kern/device.c (grub_device_open): Don't dereference
15713 a NULL pointer upon failed grub_env_get.
15714
f7db6f4a
VS
157152011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15716
15717 Support non-512B sectors and agglomerate reads.
15718
15719 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
15720 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
15721 (disk_io_guid): Removed.
15722 (make_devices): Locate solely by BlockIO.
15723 (grub_efidisk_open): Fill log_sector_size and total_sectors.
15724 (grub_efidisk_read): Use read_blocks.
15725 (grub_efidisk_write): Use write_blocks.
15726 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
15727 log_sector_size.
15728 (get_safe_sectors): Handle non-512B sectors.
15729 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
15730 sectors.
15731 (grub_biosdisk_write): Handle non-512B sectors.
15732 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
15733 (grub_scsi_read): Remove special non-512B block handling (now handled
15734 one level up).
15735 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
15736 and do sanity checks.
15737 (grub_disk_adjust_range): Handle non-512B sectors.
15738 (transform_sector): New function.
15739 (grub_disk_read_small): Likewise.
15740 (grub_disk_read): Rewritten.
15741 (grub_disk_write): Handle non-512B sectors.
15742 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
15743 log_sector_size.
15744 (open_device): Use log_sector_size.
15745 (grub_util_biosdisk_read): Likewise.
15746 (grub_util_biosdisk_write): Likewise.
15747 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
15748 non-512B sectors.
15749 (pc_partition_map_embed): Likewise.
15750 * include/grub/disk.h (grub_disk): New field log_sector_size.
15751 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
15752 (GRUB_DISK_CACHE_BITS): Increased to 6.
15753 * util/grub-fstest.c (fstest): New command testload.
15754 (argp_parser): Likewise.
15755
881ac815
RM
157562011-06-16 Robert Millan <rmh@gnu.org>
15757
15758 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
15759 `ata' driver on kernel of FreeBSD 9.
15760
15761 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
15762 (get_ataraid_disk_name): New functions.
15763 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
15764 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
15765 get_ataraid_disk_name() and get_ada_disk_name().
15766
1e9aef7d
CW
157672011-06-13 Colin Watson <cjwatson@ubuntu.com>
15768
15769 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
15770 input format.
15771
351c7c8a
CW
157722011-05-29 Colin Watson <cjwatson@ubuntu.com>
15773
15774 * docs/grub.texi (Obtaining and Building GRUB): Substitute
15775 `ftp.gnu.org' for `alpha.gnu.org'.
15776
6b4e6430
CW
157772011-05-27 Colin Watson <cjwatson@ubuntu.com>
15778
15779 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
15780 partitions under /dev/disk/by-id/.
15781
c64db050
CW
157822011-05-27 Colin Watson <cjwatson@ubuntu.com>
15783
15784 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
15785 after ten consecutive open failures. Scanning all the way up to
15786 10000 is excessive and can cause serious performance problems in
15787 some configurations.
15788 Fixes Ubuntu bug #787461.
15789
245f4aba
VS
157902011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
15791
15792 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
15793 opening new one.
15794
f767c929
VS
157952011-05-21 Colin Watson <cjwatson@ubuntu.com>
157962011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
15797
15798 Don't stat devices unless we have to.
15799
15800 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
15801 dir == /dev/mapper.
15802 (grub_guess_root_device): Use already known os_dev if possible.
15803 * grub-core/kern/emu/hostdisk.c
15804 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
15805 if device is known to be a dm one.
15806
f35fa3a6
CW
158072011-05-20 Colin Watson <cjwatson@ubuntu.com>
15808
15809 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
15810 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
15811 Reported by: Pawel Tecza.
15812
9a79fcf2
VS
158132011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
15814
15815 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
15816 (lsefisystab): Likewise.
15817 (lssal): Likewise.
15818 (lsefimmap): Likewise.
15819 (hdparm): Enable on qemu-mips.
15820 (setjmp): Add ia64 nodist.
15821 (serial): Simplify tags.
15822
63e3eea9
CW
158232011-05-18 Colin Watson <cjwatson@ubuntu.com>
15824
15825 * Makefile.util.def (grub-ofpathname): Install manual page.
15826
09728256
CW
158272011-05-18 Colin Watson <cjwatson@ubuntu.com>
15828
15829 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
15830
8b63a142
CW
158312011-05-18 Colin Watson <cjwatson@ubuntu.com>
15832
15833 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
15834
e775d8ed
VS
158352011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15836
15837 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
15838 into dprintf.
15839
bf947d36
VS
158402011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15841
15842 Use full 64-bit division.
15843
15844 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
15845 (grub_divmod64): ... this.
15846 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
15847 version.
15848
b84f26c5
CW
158492011-05-18 Colin Watson <cjwatson@ubuntu.com>
15850
15851 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
15852 `source'.
15853
5626056f
CW
158542011-05-18 Colin Watson <cjwatson@ubuntu.com>
15855
15856 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
15857 to avoid accidents when debugging with 'sh -x'.
15858 * grub-core/gensyminfo.sh.in: Likewise.
15859 * tests/example_scripted_test.in: Likewise.
15860 * tests/grub_cmd_regexp.in: Likewise.
15861 * tests/grub_script_blanklines.in: Likewise.
15862 * tests/grub_script_dollar.in: Likewise.
15863 * tests/grub_script_expansion.in: Likewise.
15864 * tests/grub_script_final_semicolon.in: Likewise.
15865 * tests/partmap_test.in: Likewise.
15866 * tests/util/grub-shell-tester.in: Likewise.
15867 * tests/util/grub-shell.in: Likewise.
15868
e2965f4a
CW
158692011-05-18 Colin Watson <cjwatson@ubuntu.com>
15870
15871 Move gfxmenu color handling to video, so that gfxterm can use it
15872 too.
15873
15874 * grub-core/gfxmenu/named_colors.c: Move to ...
15875 * grub-core/video/colors.c: ... here. Rename
15876 grub_gui_get_named_color to grub_video_get_named_color.
15877 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
15878 * grub-core/video/colors.c (my_isxdigit): ... here.
15879 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
15880 Move to ...
15881 * grub-core/video/colors.c (parse_hex_color_component): ... here.
15882 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
15883 to ...
15884 * grub-core/video/colors.c (grub_video_parse_color): ... here.
15885
15886 * include/grub/gui.h (grub_gui_color_t): Move to ...
15887 * include/grub/video.h (grub_video_rgba_color_t): ... here.
15888 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
15889 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
15890 * include/grub/gui.h (grub_gui_map_color): Move to ...
15891 * include/grub/video.h (grub_video_map_rgba_color): ... here.
15892 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
15893 to ...
15894 * include/grub/video.h (grub_video_get_named_color): ... here.
15895 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
15896 * include/grub/video.h (grub_video_parse_color): ... here.
15897
15898 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
15899 video/colors.c.
15900 (gfxmenu): Remove gfxmenu/named_colors.c.
15901 (video) [videomodules]: Add video/colors.c.
15902
15903 Add a background_color command.
15904
15905 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
15906 function.
15907 (GRUB_MOD_INIT): Register background_color command.
15908 (GRUB_MOD_FINI): Unregister background_color command.
15909 (redraw_screen_rect): Allow blend/replace of text layer to be
15910 controlled independently from whether there is a background bitmap.
15911 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
15912 changing bitmap.
15913
1e4b4390
VS
159142011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15915
26618ff0
VS
15916 Patch BPB in ntldr and chainloader --bpb.
15917
1e4b4390
VS
15918 * grub-core/fs/fat.c: Include grub/fat.h.
15919 (grub_fat_bpb): Moved to ...
15920 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
15921 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
15922 grub/ntfs.h.
15923 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
15924 Moved from here...
15925 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
15926 here.
15927 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
15928 New function.
15929 (grub_chainloader_cmd): Patch BPB if --bpb is given.
15930 (GRUB_MOD_INIT): Show --bpb.
15931 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
15932 * grub-core/normal/main.c (features): New variable.
15933 (GRUB_MOD_INIT): Set feature_* variables.
15934 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
15935 proto.
15936 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
15937
cf02731e
VS
159382011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15939
15940 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
15941 for cleanness.
15942
e3a1073f
VS
159432011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15944
15945 FreeDOS direct loading support.
15946
15947 * docs/grub.texi (Supported OS): Add FreeDOS.
15948 * grub-core/Makefile.core.def (freedos): New module.
15949 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
15950 variable.
15951 (grub_relocator16_boot): Handle %ebx.
15952 * grub-core/lib/i386/relocator16.S: Likewise.
15953 * grub-core/loader/i386/pc/freedos.c: New file.
15954
05caa461
VS
159552011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15956
15957 Long Linux command line support.
15958
15959 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
15960 (maximal_cmdline_size): New variable.
15961 (allocate_pages): Use maximal_cmdline_size.
15962 (grub_cmd_linux): Set and use maximal_cmdline_size.
15963 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
15964 (allocate_pages): Use maximal_cmdline_size.
15965 (grub_cmd_linux): Set and use maximal_cmdline_size.
15966 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
15967 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
15968 and cmdline_size.
15969
a2491e23
VS
159702011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
159712011-05-18 Colin Watson <cjwatson@ubuntu.com>
15972
15973 Improve devmapper support
15974
15975 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
15976 (grub_util_is_lvm): New function.
15977 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
15978 than lvm if not dmraid.
15979 Handle mapped md nodes.
15980 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
15981 (grub_util_device_is_mapped): ... this. Make always available. All users
15982 updated.
15983 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
15984 (convert_system_partition_to_system_disk): Handle lvm, mpath and
15985 dmraid nodes.
15986 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
15987
6ad6223e
VS
159882011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15989
15990 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
15991
15992 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
15993 * grub-core/modinfo.sh.in: New file.
15994 * grub-core/Makefile.core.def (modinfo.sh): New script.
15995 * util/grub-mknetdir.in: Use modinfo.sh.
15996 * util/grub-mkrescue.in: Likewise.
15997
543a8f6e
VS
159982011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15999
16000 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
16001 Fix potential usage of Elf32 instead of Elf64 when compiling on
16002 32-bit architecture. Add endianness macros while on it.
16003
4959e111
VS
160042011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16005
16006 Use mipsel- rather than mips- in directories involving mipsel ports to
16007 allow both endiannesses coexist.
16008
16009 * configure.ac: proparate target_cpu=mipsel rather than resetting to
16010 mips. All conditions adjusted.
16011 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
16012 variable.
16013 * util/grub-install.in: Adjust conditions to take renaming into account.
16014 * util/grub-mkimage.c (image_targets): Likewise. New target
16015 mips-qemu_mips-elf for bigendian mips.
16016
35341bbc
VS
160172011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16018
16019 Avoid unnecessary copying on MIPS.
16020
16021 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
16022 early if src == dest.
16023 * util/grub-mkimage.c (generate_image): Arange for src == dest if
16024 compression is none.
16025
b772baed
VS
160262011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16027
16028 Reduce memory footprint on SGI by putting modules before the kernel
16029 as opposed to after.
16030
16031 * grub-core/Makefile.core.def (kernel): Increase linking address.
16032 (none_decompress): Likewise.
16033 (xz_decompress): Likewise.
16034 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
16035 address.
16036 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
16037 layout change.
16038 (grub_arch_modules_addr): New function.
16039 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
16040 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
16041 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
16042 here.
16043 * grub-core/kern/mips/startup.S (total_size): Rename to ...
16044 (grub_total_modules_size): ... this. Make global.
16045 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
16046 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
16047 New definition.
16048 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
16049 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
16050 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
16051 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
16052 * util/grub-mkimage.c (image_target_desc): New flag
16053 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
16054 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
16055 (generate_image): Handle images with modules before kernel.
16056
566a1917
VS
160572011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16058
16059 Prevent potential loss of memory map by overwrite on qemu-mips.
16060
16061 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
16062 Save ram size in $s4.
16063 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
16064 All users changed to grub_arch_memsize.
16065 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
16066 Loongson.
16067 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
16068 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
16069 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
16070 external variable.
16071
5d420cd9
CW
160722011-05-17 Colin Watson <cjwatson@ubuntu.com>
16073
16074 * .bzrignore: Remove grub-dumpbios.
16075
d064b830
CW
160762011-05-17 Colin Watson <cjwatson@ubuntu.com>
16077
16078 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
16079 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
16080 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
16081 existing options which append).
16082 * docs/grub.texi (Simple configuration): Document new options.
16083 Reported by: Ian Jackson. Fixes Debian bug #617538.
16084
3ca2b466
CW
160852011-05-17 Colin Watson <cjwatson@ubuntu.com>
16086
16087 * util/grub-fstest.c (cmd_cat): New function.
16088 (fstest): Handle CMD_CAT.
16089 (options): Add cat.
16090 (argp_parser): Handle cat.
16091
24c9143a
CW
160922011-05-17 Colin Watson <cjwatson@ubuntu.com>
16093
16094 * Makefile.util.def (grub-bin2h): Don't install.
16095 * docs/man/grub-bin2h.h2m: Remove.
16096
90f7ac19
VS
160972011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16098
16099 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
16100 place.
16101
8d4a5178
VS
161022011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16103
16104 Reenable qemu-mips port.
16105
16106 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
16107 Fix small arc bug while on it.
16108 * gentpl.py: Handle qemu_mips.
16109 * grub-core/Makefile.am: Likewise.
16110 * grub-core/Makefile.core.def: Likewise.
16111 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
16112 inappropriate includes.
16113 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
16114 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
16115 * grub-core/kern/main.c (grub_modules_get_end)
16116 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
16117 * grub-core/kern/mips/qemu-mips: Moved to ..
16118 * grub-core/kern/mips/qemu_mips: ... this.
16119 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
16120 (grub_machine_init): Call terminfo_init and serial_init.
16121 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
16122 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
16123 New variable.
16124 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
16125 parameter passing.
16126 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
16127 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
16128 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
16129 * include/grub/mips/qemu_mips/cmos.h: New file.
16130 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
16131 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
16132 Removed.
16133 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
16134 Use correct mips-style address.
16135 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
16136 (GRUB_TICKS_PER_SECOND): Removed.
16137 (grub_get_rtc): Likewise.
16138 (grub_cpu_idle): Likewise.
16139 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
16140 New definition.
16141 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
16142 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
16143 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
16144 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
16145 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
16146 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
16147 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
16148 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
16149
400b9371
VS
161502011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16151
16152 SGI ARCS port.
16153
16154 * Makefile.util.def (libgrubmods.a): Add dvh.c.
16155 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
16156 platforms.
16157 * configure.ac: New target mips-arc.
16158 * gentpl.py: Likewise.
16159 * grub-core/Makefile.am: Likewise.
16160 * grub-core/Makefile.core.def: Likewise.
16161 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
16162 (none_decompress): Likewise.
16163 (lsdev): New module.
16164 (datetime): Use lib/arc/datetime.c on ARC.
16165 (part_dvh): New module.
16166 * grub-core/commands/arc/lsdev.c: New file.
16167 * grub-core/disk/arc/arcdisk.c: Likewise.
16168 * grub-core/kern/mips/arc/init.c: Likewise.
16169 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
16170 aligned addresses.
16171 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
16172 support.
16173 (grub_arch_dl_relocate_symbols): Likewise.
16174 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
16175 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
16176 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
16177 platforms.
16178 * grub-core/lib/arc/datetime.c: New file.
16179 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
16180 pci.h on non-loongson.
16181 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
16182 (grub_linux_boot): Set unused registers to 0.
16183 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
16184 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
16185 * grub-core/mmap/mips/uppermem.c: ...here.
16186 * grub-core/partmap/dvh.c: New file.
16187 * grub-core/term/arc/console.c: Likewise.
16188 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
16189 (grub_terminfo_set_current): Add terminal "arc".
16190 (grub_terminfo_readkey): Support ARC sequences.
16191 * include/grub/arc/arc.h: New file.
16192 * include/grub/arc/console.h: Likewise.
16193 * include/grub/disk.h (grub_disk_dev_id): Add
16194 GRUB_DISK_DEVICE_ARCDISK_ID.
16195 * include/grub/mips/arc/kernel.h: New file.
16196 * include/grub/mips/arc/memory.h: Likewise.
16197 * include/grub/mips/arc/time.h: Likewise.
16198 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
16199 * include/grub/mips/kernel.h (grub_halt): ... here.
16200 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
16201 here...
16202 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
16203 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
16204 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
16205 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
16206 proto.
16207 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
16208 from here ...
16209 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
16210 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
16211 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
16212 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
16213 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
16214 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
16215 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
16216 (grub_phys_addr_t): Moved from here ...
16217 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
16218 (grub_vtop): Moved from here ...
16219 * include/grub/mips/memory.h (grub_vtop): ... here.
16220 (grub_map_memory): Moved from here ...
16221 * include/grub/mips/memory.h (grub_map_memory): ... here.
16222 (grub_unmap_memory): Moved from here ...
16223 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
16224 (grub_machine_mmap_iterate): Moved from here ...
16225 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
16226 (grub_mmap_get_lower): Moved from here ...
16227 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
16228 (grub_mmap_get_upper): Moved from here ...
16229 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
16230 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
16231 here ...
16232 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
16233 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
16234 here ...
16235 * include/grub/mips/time.h (grub_get_rtc): ... here.
16236 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
16237 here ...
16238 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
16239 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
16240 here ...
16241 * include/grub/mips/time.h (grub_cpu_idle): ... here.
16242 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
16243 definition.
16244 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
16245 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
16246 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
16247 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
16248 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
16249 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
16250 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
16251 (GRUB_MACHINE_LINK_ADDR): Likewise.
16252 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
16253 to 6.
16254 * util/grub-install.in: Run dvhtool on ARC.
16255 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 16256 (generate_image): Handle ECOFF output for mips-arc.
400b9371 16257
c8ecc840
VS
162582011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
16259
16260 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
16261 blocks.
16262
153a4b55
VS
162632011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
16264
16265 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
16266 after enabling port.
16267
ff44d107
VS
162682011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
16269
16270 Skip incorrect USB devices.
16271
16272 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
16273 configcnt == 0.
16274 * include/grub/usb.h (grub_usb_err_t): New enum value
16275 GRUB_USB_ERR_BADDEVICE.
16276
638dbe4f
VS
162772011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
16278
16279 Fuloong video init support.
16280
16281 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
16282 well.
16283 (grub_vga_read_arx): New function.
16284 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
16285 definition.
16286 (framebuffer): New members io, mmioptr and mmiobase.
16287 (read_sis_cmd): New function.
16288 (write_sis_cmd): Likewise.
16289 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
16290 rather than 640x400.
16291 * grub-core/video/sis315_init.c: New file.
16292
c3fc520c
VS
162932011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
16294
16295 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
16296 non-loongson.
16297 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
16298 to grub_dl_register_symbol.
16299
67b1e5c9
VS
163002011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
16301
16302 Fix compilation errors.
16303
16304 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
16305 potentially unused.
16306 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
16307 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
16308 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
16309 to loongson machines.
16310
b756f75f
VS
163112011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
16312
16313 Several FS mtime support.
16314
16315 * grub-core/fs/affs.c (grub_affs_time): New struct.
16316 (grub_affs_file): New field mtime.
16317 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
16318 type. Removed 'size'. New field 'di'. All users updated.
16319 (grub_affs_mount): Simplify checsum checking.
16320 (grub_affs_iterate_dir): New helper grub_affs_create_node.
16321 (grub_affs_dir): Handle mtime.
16322 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
16323 (grub_cpio_dir): Likewise.
16324 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
16325 (grub_hfs_filerec): New field mtime.
16326 (grub_hfs_dir): Handle mtime.
16327 (grub_hfs_mtime): New function.
16328 (grub_hfs_fs): Register grub_hfs_mtime.
16329 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
16330 (grub_iso9660_dir): New field mtime.
16331 (grub_fshelp_node): New field dirent.
16332 (iso9660_to_unixtime): New function.
16333 (iso9660_to_unixtime2): Likewise.
16334 (grub_iso9660_read_symlink): Use node->dirent.
16335 (grub_iso9660_iterate_dir): Likewise.
16336 (grub_iso9660_dir): Set mtime.
16337 (grub_iso9660_mtime): New function.
16338 (grub_iso9660_fs): Register grub_iso9660_mtime.
16339 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
16340 (grub_jfs_inode): New fields atime, ctime and mtime.
16341 (grub_jfs_dir): Set mtime.
16342 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
16343 * grub-core/fs/ntfs.c (list_file): Set mtime.
16344 (grub_ntfs_dir): Likewise.
16345 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
16346 (grub_reiserfs_iterate_dir): Set mtime.
16347 (grub_reiserfs_dir): Likewise.
16348 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
16349 (grub_fshelp_node): Likewise.
16350 (grub_sfs_iterate_dir): Set mtime.
16351 (grub_sfs_dir): Likewise.
16352 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
16353 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
16354 (grub_xfs_inode): New fields atime, mtime, ctime.
16355 (grub_xfs_dir): Set mtime.
16356 * include/grub/datetime.h (grub_datetime2unixtime): New function.
16357 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
16358 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
16359
16360 Support UDF symlinks.
16361
16362 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
16363 (grub_ufs_read_symlink): New function. All users updated.
16364
16365 Check amiga partmap checksum.
16366
16367 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
16368 (grub_amiga_partition): Likewise.
16369 (amiga_partition_map_checksum): New function.
16370 (amiga_partition_map_iterate): Check checksum.
16371
5470225d
VS
163722011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
16373
16374 ROMFS support.
16375
16376 * Makefile.util.def (libgrubmods.a): Add romfs.
16377 * grub-core/Makefile.core.def (romfs): New module.
16378 * grub-core/fs/romfs.c: New file.
16379
d4680a35
VS
163802011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
16381
16382 Squashfs v4 support.
16383
16384 * Makefile.util.def (libgrubmods.a): Add squash4.
16385 * grub-core/Makefile.core.def (squash4): New module.
16386 * grub-core/fs/squash4.c: New file.
16387 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
16388 disk_input_start, disk_input.
16389 (get_byte): Handle disk_input.
16390 (grub_zlib_disk_read): New function.
16391 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
16392
bcb18e74
FZ
163932011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
163942011-05-15 Feiran Zheng <famcool@gmail.com>
16395
16396 * Makefile.util.def (libgrubmods.a): Add minix3.
16397 * grub-core/Makefile.core.def (minix3): New module.
16398 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
16399 (GRUB_MINIX_BSIZE): Removed.
16400 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
16401 (grub_minix_ino_t): New type.
16402 (grub_minix_le_to_cpu_ino): New macro.
16403 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
16404 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
16405 (grub_minix_data): New field block_size.
16406 (grub_minix_read_file): Handle 64-bit correctly.
16407 * grub-core/fs/minix3.c: New file.
16408
32297d5f
TG
164092011-05-15 Tristan Gingold <gingold@free.fr>
164102011-05-15 Robert Millan <rmh.grub@aybabtu.com>
164112011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
16412
16413 IA64 support.
16414
16415 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
16416 * configure.ac: Add ia64-efi target.
16417 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
16418 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
16419 * gentpl.py: Add ia64_efi platform.
16420 Rename x86_efi to efi and Add ia64-efi. All users updated.
16421 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
16422 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
16423 Remove kern/generic/rtc_get_time_ms.c on EFI.
16424 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
16425 kern/ia64/dl_helper.c on ia64-efi.
16426 Add kern/emu/cache.c on emu.
16427 (linux): Use on loader/ia64/efi/linux.c on ia64.
16428 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
16429 whether symbol is a function.
16430 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
16431 (grub_symbol): New field 'isfunc'.
16432 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
16433 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
16434 (grub_dl_load_segments): Place all sections into the same region.
16435 [__ia64__]: Create trampolines and got.
16436 [GRUB_MACHINE_EMU]: Call mprotect.
16437 (grub_dl_resolve_symbols): Resolve symbol type as well.
16438 [__ia64__]: Create function descriptors.
16439 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
16440 (grub_rtc_get_time_ms): ... this. Expressions simplified.
16441 (grub_get_rtc): New function.
16442 * grub-core/kern/emu/cache.c [__ia64__]: New file.
16443 * grub-core/kern/emu/cache.S: Renamed to ...
16444 * grub-core/kern/emu/cache_s.S: ... this.
16445 [__ia64__]: Add a nop.
16446 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
16447 [__ia64__]: New function.
16448 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
16449 * grub-core/kern/ia64/dl.c: New file.
16450 * grub-core/kern/ia64/dl_helper.c: Likewise.
16451 * grub-core/kern/ia64/efi/init.c: New file.
16452 * grub-core/kern/ia64/efi/startup.S: Likewise.
16453 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
16454 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
16455 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
16456 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
16457 * grub-core/loader/ia64/efi/linux.c: New file.
16458 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
16459 (GRUB_MOD_DEP): Likewise.
16460 (grub_dl) [__ia64__]: New fields got and tramp.
16461 (grub_dl): New field 'base'.
16462 (grub_dl_register_symbol): New argument isfunc. All users updated.
16463 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
16464 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
16465 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
16466 (grub_ia64_dl_get_tramp_got_size): New proto.
16467 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
16468 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
16469 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
16470 * include/grub/efi/api.h: Skip call wrappers on ia64.
16471 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
16472 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
16473 * include/grub/elf.h (ELF_ST_INFO): New definition.
16474 * include/grub/ia64/efi/kernel.h: New file.
16475 * include/grub/ia64/efi/memory.h: Likewise.
16476 * include/grub/ia64/efi/time.h: Likewise.
16477 * include/grub/ia64/kernel.h: Likewise.
16478 * include/grub/ia64/setjmp.h: Likewise (from glibc).
16479 * include/grub/ia64/time.h: New file.
16480 * include/grub/ia64/types.h: Likewise.
16481 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
16482 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
16483 New protos.
16484 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
16485 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
16486 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
16487 * util/grub-mkimage.c (image_target_desc): New field pe_target.
16488 All users updated.
16489 (EFI64_HEADER_SIZE): New definition. All users updated.
16490 (image_targets): Add ia64-efi.
16491 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
16492 jumpers_addr. All users updated.
16493 Create function descriptors.
16494 (count_funcs): New function.
16495 (unaligned_uint32): New struct.
16496 (MASK20): New definition.
16497 (MASK19): Likewise.
16498 (MASKF21): Likewise.
16499 (add_value_to_slot_20b): New function.
16500 (add_value_to_slot_21_real): Likewise.
16501 (add_value_to_slot_21): Likewise.
16502 (ia64_kernel_trampoline): New struct.
16503 (nopm): New variable.
16504 (jump): Likewise.
16505 (make_trampoline): New function.
16506 (relocate_addresses): Handle ia64.
16507 (make_reloc_section): Likewise.
16508 (load_image): Likewise.
16509
983b414d
VS
165102011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
16511
16512 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
16513 warning. Move variables before code while on it.
16514
5d063cdc
VS
165152011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
16516
16517 Fuloong support.
16518
16519 * configure.ac: Rename yeeloong platform to loongson. All users updated.
16520 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
16521 * grub-core/boot/mips/loongson/fuloong.S: New file.
16522 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
16523 Explicitly init CS5536.
16524 [FULOONG]: Don't use serial until CS5536 is available.
16525 Set GPIO based on dumps.
16526 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
16527 [FULOONG]: Handle GPIO and memory controller differences.
16528 Parse machine type in $a2.
16529 * grub-core/boot/mips/startup_raw.S: Determine and save the
16530 architecture.
16531 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
16532 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
16533 init on architecture type.
16534 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
16535 SIS315E. Don't init at_keyboard on fuloong.
16536 (grub_halt): Support Fuloong.
16537 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
16538 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
16539 (loongson_machtypes): New array.
16540 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
16541 type.
16542 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
16543 config. All users updated. Handle CS5536 serial.
16544 * grub-core/term/serial.c (grub_serial_register): Conditionalise
16545 default port on machine type. Register serial as inactive.
16546 * grub-core/video/sis315pro.c: New file.
16547 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
16548 definition.
16549 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
16550 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
16551 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
16552 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
16553 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
16554 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
16555 to ...
16556 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
16557 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
16558 definition.
16559 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
16560 (grub_arch_machine): New extern var.
16561 * include/grub/mips/loongson/serial.h
16562 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
16563 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
16564 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
16565 (GRUB_MACHINE_SERIAL_PORT0): ... this.
16566 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
16567 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
16568 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
16569 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
16570 * include/grub/term.h (grub_term_register_input_inactive): New inline
16571 function.
16572 (grub_term_register_output_inactive): Likewise.
16573 * include/grub/video.h (grub_video_driver_id): New value
16574 GRUB_VIDEO_DRIVER_SIS315PRO.
16575 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
16576 New field "names". All users updated.
16577 New field value IMAGE_FULOONG_FLASH.
16578 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
16579
6ada82d1
JU
165802011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
16581
16582 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
16583 and add some clarification.
16584
90c571a4
VS
165852011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16586
16587 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
16588 platforms if kernel is compressed.
16589
de04eecf
VS
165902011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16591
16592 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
16593 unused modules since currently referrence counter isn't reliable and
16594 there isn't much memory to recover there anyway.
16595
57688121
VS
165962011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16597
16598 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
16599 rather than resetting it to allow modules to reference themselves
16600 in init.
16601
3d2c7e35
VS
166022011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16603
16604 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
16605 counter on dependencies since grub_dl_unref already handles this.
16606
b25db218
VS
166072011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16608
16609 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
16610 on error if not already done.
16611
25a45338
VS
166122011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16613
16614 Fix few potential memory misusage.
16615
16616 * grub-core/font/font.c (load_font_index): Don't free char_index to
16617 avoid double free.
b25db218
VS
16618 (grub_font_load): Zero-fill font at alloc for safety.
16619 Close file on error.
16620 (free_font): Free bmp_idx.
25a45338 16621
0cac83df
VS
166222011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16623
16624 * docs/grub.texi (Installation): Fix several outdated claims.
16625
2217a143
VS
166262011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16627
16628 Handle module_license on windows.
16629
16630 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
16631 sections shifted.
16632 (insert_string): Make argument const char * instead of char *.
16633 (write_section_data): Handle long section names.
16634 Handle module_license.
16635
d4de6b01
VS
166362011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16637
16638 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
16639 handle class-free menuentries.
16640 (grub_normal_add_menu_entry): Add a check to be sure.
16641
4c2a3b43
VS
166422011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16643
16644 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
16645 PgUp and PgDown.
16646
85c6210f
VS
166472011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16648
16649 * configure.ac: Bump version to 1.99.
16650
36084912
VS
166512011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16652
16653 Give ATA device a bit more time on first try in order to allow disks
16654 to spin up.
16655
16656 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
16657 if dev->present is 1. Reset dev->present on failure.
16658 (grub_ata_device_initialize): Set dev->present to 1.
16659 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
16660 (grub_ata_device): New member 'present'.
16661
bda0e219
VS
166622011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16663
16664 * util/grub-mkimage.c (generate_image): Update hash.
16665
19e1c41b
VS
166662011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16667
16668 Flush caches on DMA memory.
16669
16670 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
16671 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
16672 (grub_dma_free): Likewise.
16673 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
16674
91bbcc0c
VS
166752011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16676
16677 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
16678 to avoid asm treating ld and sd as macros.
16679
60ddfad3
VS
166802011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16681
16682 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
16683 decompressor.
16684
a298aa04
VS
166852011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16686
16687 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
16688 grub_decompress_core since later would fail if grub_decompress_core
16689 is too far.
16690
9b44feca
VS
166912011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16692
16693 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
16694 R_MIPS_JALR since it's used by newer compiler.
16695
56dbe7b4
VS
166962011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
16697
16698 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
16699
52856af2
VS
167002011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16701
16702 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
16703 file_path to 0 for surety.
16704 (grub_chainloader_boot): Set exit_data to NULL.
16705 Unset the loader once done.
16706 (grub_cmd_chainloader): Fix confusing error message if file is empty.
16707
9c9bfc6d
VS
167082011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16709
16710 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
16711 unknown key into a dprintf.
16712
dd94a3df
VS
167132011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16714
16715 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
16716 on first non-existant partition.
16717
fa68d99c
VS
167182011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16719
16720 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
16721 openning fails.
16722 Reported by: Mark Korenberg.
16723
157effb7
VS
167242011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16725
16726 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
16727 overflow.
16728
ea75312f
VS
167292011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16730
16731 * util/grub-mkimage.c (main): Explicitely flush and sync the output
16732 before closing to ensure that it will be readable by grub-setup.
16733
072b5d31
VS
167342011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16735
16736 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
16737 (devpath_1): Use MAKE_PIWG_PATH.
16738 (devpath_2): Likewise.
16739 (devpath_3): Likewise.
16740 (devpath_4): Likewise.
16741 (devpath_5): Likewise.
16742 (devpath_6): Likewise.
16743
16744 The appleldr.mod was checked that to be binary identical to previous
16745 version.
16746
7fae0051
Z
167472011-05-05 Zach <mikezackles>
16748
16749 Support 2010 Macbooks.
16750
16751 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
16752 (devs): Add devpath_6.
16753
7c515bee
VS
167542011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16755
16756 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
16757 /dev/random. /dev/urandom is good enough for our purposes (salting).
16758
ed660bd8
VS
167592011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16760
16761 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
16762
ee5614b7
VS
167632011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16764
16765 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
16766 hexadecimal.
16767
664889a6
VS
167682011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16769
16770 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
16771 and not 0 on failure.
16772
bd405bbc
CW
167732011-05-03 Colin Watson <cjwatson@ubuntu.com>
16774
16775 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
16776 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
16777 disk; otherwise grub_fs_probe will not fall back to the next
16778 filesystem.
16779 (grub_pxefs_open): Likewise, for consistency.
16780 Reported and tested by: Ezekiel Grave.
16781
4ebff753
CW
167822011-05-03 Colin Watson <cjwatson@ubuntu.com>
16783
16784 * tests/partmap_test.in: Don't hardcode path to parted.
16785 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
16786
8f942553
CW
167872011-05-01 Colin Watson <cjwatson@ubuntu.com>
16788
16789 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
16790 of `ls' to find out which devices are available.
16791
3c62402d
VS
167922011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
16793
16794 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
16795 than source address for efi mmap buffer.
16796
723f63f2
VS
167972011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
16798
16799 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
16800 wrong action on non-detecting the magic.
16801
68797f92
VS
168022011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
16803
16804 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
16805 already supplied by another part of the module (fixes compilation on
16806 FreeBSD).
16807
6be8715d
VS
168082011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
16809
16810 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
16811 match the one used by mdadm.
16812
e91dba5b
CW
168132011-04-21 Colin Watson <cjwatson@ubuntu.com>
16814
16815 * po/README: Add instructions for creating po/LINGUAS.
16816
c85140b3
CW
168172011-04-21 Colin Watson <cjwatson@ubuntu.com>
16818
16819 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
16820 #551428.
16821
16822 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
16823 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
16824 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
16825 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
16826 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
16827 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
16828 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
16829 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
16830 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
16831 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
16832 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
16833 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
16834 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
16835 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
16836 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
16837 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
16838 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
16839 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
16840 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
16841 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
16842 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
16843 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
16844
92051871
CW
168452011-04-21 Colin Watson <cjwatson@ubuntu.com>
16846
16847 * grub-core/kern/emu/getroot.c
16848 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
16849 test that was incorrectly reintroduced in r3214.
16850 Reported by: Ian Dall. Fixes Savannah bug #33133.
16851
b13f79a4
CW
168522011-04-21 Colin Watson <cjwatson@ubuntu.com>
16853
16854 Fix stack pointer handling in 16-bit relocator.
16855
16856 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
16857 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
16858 Fixes Ubuntu bug #683904.
16859
9b710a88
VS
168602011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
16861
16862 * configure.ac: Bump version to 1.99~rc2.
16863
d97e7b59
VS
168642011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
16865
16866 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
16867 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
16868 * grub-core/lib/x86_64/setjmp.S: Likewise.
16869 * grub-core/lib/mips/setjmp.S: Likewise.
16870 * grub-core/lib/powerpc/setjmp.S: Likewise.
16871 * grub-core/lib/sparc64/setjmp.S: Likewise.
16872
0624551c
VS
168732011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
16874
16875 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
16876 * grub-core/lib/efi/datetime.c: Likewise.
16877
e8f28d4c
VS
168782011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
16879
16880 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
16881 New function.
16882 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
16883 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
16884 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
16885
bba79a15
VS
168862011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
16887
16888 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
16889 bitmap.
16890 (grub_gfxterm_term_init): Likewise.
16891
abc474ef
VS
168922011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
16893
16894 Take into account the decorations the computing menu entry width.
16895
16896 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
16897 (grub_gfxmenu_create_box): Register get_border_width.
16898 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
16899 if available.
16900 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
16901 get_border_width.
16902
e74b3947
EP
169032011-04-18 Endres Puschner <code@e7p.de>
16904
16905 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
16906 Don't skip first class.
16907
34faa595
VS
169082011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16909
16910 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
16911 chunks.
16912 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
16913
93a777e3
VS
169142011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16915
16916 Complete 64-bit division support.
16917
16918 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
16919 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
16920 * include/grub/misc.h (grub_divmod64): Rename to ...
16921 (grub_divmod64_full): ... this.
16922 (grub_divmod64): New inline function.
16923
a5102d94
VS
169242011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16925
16926 * util/grub-mkimage.c (generate_image): Add forgotten comma.
16927
f3fb7b36
VS
169282011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16929
16930 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
16931 performing the necessary test.
16932
9ac718b0
VS
169332011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
16934
16935 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
16936 (kfreebsd.elf): Likewise.
16937 (pc-chainloader.elf): Likewise.
16938 (ntldr.elf): Likewise.
16939
50d2cc5a
VS
169402011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
16941
16942 Identify RAID by its UUID rather than (guessed) name.
16943
16944 * grub-core/disk/raid.c (ascii2hex): New function.
16945 (grub_raid_open): Accept mduuid/%s specification.
16946 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
16947 (get_mdadm_uuid): ... this.
16948 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
16949
e03f7bea
VS
169502011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
16951
16952 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
16953 to negative size.
16954
e74c3112
CW
169552011-04-13 Colin Watson <cjwatson@ubuntu.com>
16956
16957 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
16958 btrfs subvolume.
16959 * util/grub.d/20_linux_xen.in: Likewise.
16960
78fa584f
CW
169612011-04-13 Colin Watson <cjwatson@ubuntu.com>
16962
16963 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
16964 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
16965
16966 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
16967 Build a list of relevant visible mounts using the mnt_id and
16968 parent_mnt_id fields, and then scan that list at the end.
16969
9d5f8162
CW
169702011-04-12 Colin Watson <cjwatson@ubuntu.com>
16971
16972 * docs/grub.texi (normal): New section.
16973 (normal_exit): New section.
16974 (Embedded configuration): Add reference to normal.
16975 (GRUB only offers a rescue shell): Likewise.
16976 * docs/grub-dev.texi (Error Handling): Fix typo.
16977
09a9d66f
CW
169782011-04-12 Colin Watson <cjwatson@ubuntu.com>
16979
16980 * NEWS: Drop obsolete entry about probe-only btrfs support.
16981
0c676933
CW
169822011-04-12 Colin Watson <cjwatson@ubuntu.com>
16983
16984 * util/import_gcry.py: Fix typo.
16985
ec9f5e0d
VS
169862011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16987
16988 * NEWS: Add btrfs support.
16989
fe6b2cba
VS
169902011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
169912011-04-11 Colin Watson <cjwatson@ubuntu.com>
16992
16993 BtrFS support. Written by me (Vladimir) with important bugfixes and
16994 even more important testing by Colin.
16995
16996 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
16997 * grub-core/Makefile.core.def (btrfs): Add crc.c.
16998 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
16999 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
17000 mem_input_off and mem_input. All users updated to accept in-RAM input.
17001 (gzio_seek): New function.
17002 (test_zlib_header): Likewise.
17003 (grub_gzio_read): Likewise.
17004 (grub_zlib_decompress): Likewise.
17005 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
17006 Accept partial and non-virtual mounts.
17007 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
17008 avoid receiving /dev/dm-X as device.
17009 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
17010 Handle bind and partial mounts.
17011 * grub-core/lib/crc.c: New file.
17012 * include/grub/deflate.h: Likewise.
17013 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
17014 proto.
17015 * include/grub/lib/crc.h: New file.
17016
e745cf0c
VS
170172011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
17018
17019 Implement automatic module license checking according to new GNU
17020 guidelines.
17021
17022 * grub-core/kern/dl.c (grub_dl_check_license): New function.
17023 (grub_dl_load_core): Use grub_dl_check_license.
17024 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
17025 (GRUB_MOD_LICENSE): Likewise.
17026 (GRUB_MOD_DUAL_LICENSE): Likewise.
17027 All modules updated.
17028
2a9bc016
CW
170292011-04-11 Colin Watson <cjwatson@ubuntu.com>
17030
17031 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
17032 reserved_first_sector to 1. btrfs reserves plenty of space for boot
17033 loaders.
17034 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
17035
8a3bc88e
VS
170362011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
17037
17038 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
17039
af869a4a
VS
170402011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
17041
17042 * util/grub-fstest.c (read_file): Report GRUB error if file opening
17043 failed.
17044
9ee8d94f
VS
170452011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
17046
17047 * grub-core/kern/file.c (grub_file_open): Don't take into account the
17048 parenthesis in the middle of the filename.
17049
b01abe3e
VS
170502011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17051
17052 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
17053 rather than trying to put initrd way too high.
17054 Reported by: Ryan Lortie <desrt@desrt.ca>
17055
335bda1e
VS
170562011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17057
17058 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
17059 improperly removed string.
17060
5ca1a64d
VS
170612011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17062
17063 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
17064 is_disk.
17065 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
17066 (open_device) Likewise.
17067 (grub_util_biosdisk_close): Likewise.
d8ce9995 17068 Reported by: Mark Korenberg.
5ca1a64d 17069
cbac5b1e
AK
170702011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
17071
17072 * util/grub-mkconfig_lib.in: Add missing quotes.
17073
088cdb65
CW
170742011-04-10 Colin Watson <cjwatson@ubuntu.com>
17075
17076 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
17077 is NULL.
17078
8b8a81fa
VS
170792011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17080
17081 Dynamically count the number of lines for the lower banner.
17082
17083 * grub-core/normal/menu_entry.c (per_term_screen): New member
17084 num_entries.
17085 (print_down): Use num_entries.
17086 (update_screen): Likewise.
17087 (grub_menu_entry_run): Set num_entries.
17088 * grub-core/normal/menu_text.c (menu_viewer_data): New member
17089 num_entries.
17090 (grub_print_message_indented): Move real part to ...
17091 (grub_print_message_indented_real): ... here. Additional argument
17092 dry_run.
17093 (draw_border): Additional argument num_entries.
17094 (print_message): Additional argument dry_run.
17095 (print_entries): Receive menu viewer data.
17096 (grub_menu_init_page): New argment num_entries.
17097 (menu_text_set_chosen_entry): Use num_entries.
17098 (grub_menu_try_text): Likewise.
17099 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
17100 All users updated.
17101 (grub_ucs4_count_lines): New function.
17102 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
17103 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
17104 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
17105 (grub_term_border_height): Likewise.
17106 (grub_term_num_entries): Likewise.
17107
277f955b
VS
171082011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17109
17110 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
17111 Remove now unused string.
17112
536ce85a
CW
171132011-04-09 Colin Watson <cjwatson@ubuntu.com>
17114
17115 * docs/grub-dev.texi (Finding your way around): Update for 1.99
17116 build system.
17117 (Getting started): GRUB is developed in Bazaar now, not Subversion.
17118
17119 (Comment): Fix typo.
17120 (Getting started): General copy-editing.
17121 (Typical Development Experience): Likewise.
17122 (Error Handling): Likewise.
17123 (Video API): Likewise.
17124
2cf09e32
CW
171252011-04-09 Colin Watson <cjwatson@ubuntu.com>
17126
17127 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
17128 throughout.
17129
1ec652f4
VS
171302011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17131
17132 * util/grub-mkimage.c (main): Handle special naming of yeeloong
17133 directory.
17134
2c583728
CW
171352011-04-08 Colin Watson <cjwatson@ubuntu.com>
17136
17137 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
17138 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
17139 "development".
17140
d7a565e9
VS
171412011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17142
17143 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
17144 grub_strcpy since the lines aren't necessarily 0-terminated.
17145
7c2e4909
VS
171462011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17147
17148 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
17149 root on legacy.
17150
34c09785
VS
171512011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17152
17153 * grub-core/commands/probe.c (options): Argument to set isn't optional.
17154 (GRUB_MOD_INIT): DEVICE isn't optional.
17155
6a6f8058
VS
171562011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17157
17158 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
17159 word on new line if it's too long anyway. Fixes a hang.
17160
2e335e90
VS
171612011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17162
17163 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
17164 const.
17165 * util/grub-setup.c (main): Reuse md device name if available.
17166 * util/raid.c (grub_util_raid_getmembers): Receive device name and
17167 not GRUB name as argument.
17168 Based on patch by: Florian Wagner <fwagner>.
17169
10a7a867
VS
171702011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17171
17172 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
17173 Place mbi on low memory for better compatibility.
17174
7a3d6cd9
VS
171752011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17176
17177 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
17178
18dd6b47
VS
171792011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
171802011-04-08 Colin Watson <cjwatson@ubuntu.com>
17181
17182 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 17183 * conf/Makefile.common: Likewise.
18dd6b47 17184
3c0e3f14
VS
171852011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17186
f7148863
VS
17187 * grub-core/normal/menu.c: Add missing include.
17188
171892011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17190
17191 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 17192
6d1fa41f
MZ
171932011-04-08 Martin Zuther <mzuther@mzuther.de>
17194
17195 * util/grub-mkconfig.in: Ignore emacsen backup.
17196
478182a8
VS
171972011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17198
17199 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
17200 on open.
17201 (grub_util_biosdisk_close): Likewise.
17202
72a89a54
VS
172032011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
17204
17205 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
17206 const attribute and use grub_isdigit.
17207
b5ebecfa
A
172082011-04-06 Andrey <dev_null@ukr.net>
17209
17210 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
17211 gcc warning.
17212
7755f66e
VS
172132011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
17214
17215 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
17216 useful grub_dprintf's.
17217
461121ff
VS
172182011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
17219
17220 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
17221
2a961775
VS
172222011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
17223
17224 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
17225
adf594cc
VS
172262011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
17227
17228 Output errors if theme loading failed.
17229
17230 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
17231 grub_gfxterm_fullscreen on error paths to ...
17232 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
17233 theme loading error.
17234
665900a3
VS
172352011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
17236
17237 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
17238 space for older compilers.
17239 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
17240
a562b479
VS
172412011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
17242
17243 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
17244 and report them as not RAID members since they are useless for GRUB.
17245 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
17246
850e9373
VS
172472011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
17248
17249 Increase LVM implementation robustness in order not to crash on
17250 configurations like pvmove. Previously code assumed that in some places
17251 only lvs or only pvs are used whereas it seems that they are used
17252 interchangeably.
17253
17254 * grub-core/disk/lvm.c (read_node): New function.
17255 (read_lv): Use read_node.
17256 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
17257 Match volumes only at the end when all lvs are found. Take both
17258 pvs (first) and lvs (second) into account.
17259 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
17260 mirror_* into node_*. All users updated.
17261 (grub_lvm_stripe): Merge this ...
17262 (grub_lvm_mirror): ... and this ...
17263 (grub_lvm_node): ... into this. All users updated.
17264
6f332153
VS
172652011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
17266
17267 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
17268 of function to allow further scanning for LVMs.
17269
829ea451
VS
172702011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
17271
17272 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
17273 on failed seek as it breaks open fd reusage.
17274
09ceb9a5
VS
172752011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
17276
17277 * util/grub-install.in: Add a recommendation to use --recheck before
17278 reporting bugs.
17279
67e11623
VS
172802011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
17281
17282 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
17283 are obtained.
17284
caee5efd
VS
172852011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
17286
17287 GRUB developper manual based on existing Internals section and
17288 contributions by the various authors with active copyright assignment.
17289
17290 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
17291 * docs/font_char_metrics.png: New file.
17292 * docs/font_char_metrics.txt: Likewise.
17293 * docs/grub-dev.texi: Likewise.
17294 * docs/grub.texi (Internals): Move from here ...
17295 * docs/grub-dev.texi: ... here.
17296
2cccc747
CW
172972011-04-01 Colin Watson <cjwatson@ubuntu.com>
17298
17299 Store the loopback device as data on loopback grub_disk structures,
17300 rather than the file it points to. This fixes use of freed memory
17301 if an existing loopback device is replaced.
17302
17303 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
17304 disk->data, not dev->file.
17305 (grub_loopback_read): Adjust file assignment to match.
17306 Fixes Ubuntu bug #742967.
17307
186ae367
CW
173082011-04-01 Colin Watson <cjwatson@ubuntu.com>
17309
17310 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
17311 when replacing an existing device.
17312
cfed2ad0
VS
173132011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
17314
17315 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
17316 memory corruptions.
17317
17318 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
17319 unsigned.
17320 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
17321 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
17322 (grub_jfs_read_inode): Likewise.
17323 (grub_jfs_opendir): Likewise. Remove now useless casts.
17324 (grub_jfs_getent): Likewise.
17325 Make ino a grub_uint32_t rather than int.
17326 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
17327 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
17328 division and module with bit operations.
17329 (grub_jfs_find_file): Make ino a grub_uint32_t.
17330 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
17331
05d2ed32
CW
173322011-04-01 Colin Watson <cjwatson@ubuntu.com>
17333
17334 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
17335 warning. (This was in fact always initialised before use, but GCC
17336 wasn't smart enough to prove that.)
17337 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
17338
91dc6073
VS
173392011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
17340
17341 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
17342 stack alignment.
17343 (efi_wrap_1): Likewise.
17344 (efi_wrap_2): Likewise.
17345 (efi_wrap_3): Likewise.
17346 (efi_wrap_4): Likewise.
17347 (efi_wrap_5): Likewise.
17348 (efi_wrap_6): Likewise.
17349 (efi_wrap_10): Likewise.
17350 Based on information by: Red Hat/Peter Jones.
17351
a8afc1d1
CW
173522011-03-31 Colin Watson <cjwatson@ubuntu.com>
17353
17354 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
17355 set-but-not-used variable.
17356
a826cc7d
CW
173572011-03-31 Colin Watson <cjwatson@ubuntu.com>
17358
17359 * docs/grub.texi (Simple configuration): Be more explicit about
17360 GRUB_DEFAULT, and add an example.
17361 Reported by: Leslie Rhorer.
17362
875b67ba
CW
173632011-03-30 Colin Watson <cjwatson@ubuntu.com>
17364
17365 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
17366 shell".
17367
fd7cd914
AS
173682011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
17369
17370 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
17371 * util/grub.d/20_linux_xen.in: Likewise.
17372
090b1b6a
VS
173732011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
17374
17375 * util/grub.d/10_linux.in: Try alternative config filenames where
17376 we parse config file.
17377 * util/grub.d/20_linux_xen.in: Likewise.
17378
baad885c
AS
173792011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
17380
17381 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
17382 * util/grub.d/20_linux_xen.in: Likewise.
17383
241e41f5
VS
173842011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
17385
17386 * grub-core/disk/raid.c (insert_array): Add few potentially
17387 useful grub_util_info.
17388 (grub_raid_register): Likewise.
17389
56445fb2
VS
173902011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
17391
17392 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
17393 Preserve partition number in mdadm code path.
17394
c871b1c6
VS
173952011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
17396
17397 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
17398 few potentially useful grub_util_info.
17399
5e631b4f
CW
174002011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
17401
17402 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
17403
2d5d0333
CW
174042011-03-30 Colin Watson <cjwatson@ubuntu.com>
17405
17406 * docs/grub.texi (default): Use @example rather than nested
17407 itemized lists to avoid breaking gendocs.
17408
3d7ed04e
CW
174092011-03-30 Colin Watson <cjwatson@ubuntu.com>
17410
17411 * docs/grub.texi (Future): Update.
17412
abf04200 174132011-03-30 Colin Watson <cjwatson@ubuntu.com>
17414
17415 * docs/grub.texi (Environment): New chapter.
17416 (Changes from GRUB Legacy): Link to "Environment block" section for
17417 details of limitations.
17418 (Simple configuration): Likewise. Link to documentation of gfxmode
17419 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
17420 respectively.
17421 (Shell-like scripting): Note that normal variables are stored in the
17422 environment.
17423 (gettext): Link to documentation of lang and locale_dir.
17424 (list_env): New section.
17425 (load_env): New section.
17426 (save_env): New section.
17427
17428 (Reporting bugs): Fix typo.
17429
e1ad0edd
VS
174302011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
17431
17432 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
17433 the example.
17434
5d803174
VS
174352011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
17436
17437 * grub-core/term/at_keyboard.c (set_scancodes)
17438 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
17439
2a2da1d0
CW
174402011-03-30 Colin Watson <cjwatson@ubuntu.com>
17441
17442 * docs/grub.texi (Menu-specific commands): Remove some semantics
17443 that were true in GRUB Legacy but not in GRUB 2.
17444 (submenu): New section.
17445 (false): New section.
17446 (read): New section.
17447 (true): New section.
17448
a7527639
CW
174492011-03-30 Colin Watson <cjwatson@ubuntu.com>
17450
17451 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
17452
174532011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
17454
17455 * docs/grub.texi (Simple configuration): Explain some of the
17456 current limitations of grub-mkconfig.
8a748df2 17457 Reported by: Leslie Rhorer.
e30af029 17458
fc858482
VS
174592011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17460
17461 Old macs search for boot.efi rather than for bootia32.efi.
17462
17463 * util/grub-install.in: Copy bootia32.efi to boot.efi.
17464 * util/grub-mkrescue.in: Likewise.
17465 Suggested by: Peter Jones.
17466
e1eb511d
VS
174672011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17468
17469 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
17470
70e75364
VS
174712011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17472
17473 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
17474 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
17475 (grub_lvm_mirror): New struct.
17476 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
17477 (grub_lvm_iterate): Iterate only visible volumes.
17478 (grub_lvm_read): Factor out to ..
17479 (read_lv): ... this. Support mirrors.
17480 (grub_lvm_read): New wrapper function.
17481 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
17482 stripped or mirrored.
17483
fc18f6a3
VS
174842011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17485
17486 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
17487
5c650f4c
CW
174882011-03-29 Colin Watson <cjwatson@ubuntu.com>
17489
17490 * docs/grub.texi (loopback): New section.
17491
61d7156b
CW
174922011-03-29 Colin Watson <cjwatson@ubuntu.com>
17493
17494 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
17495 removed -p option.
17496
994b8264
CW
174972011-03-29 Colin Watson <cjwatson@ubuntu.com>
17498
17499 * docs/grub.texi (BIOS installation): New section, partly based on
17500 previous text in other sections.
17501 (Installing GRUB using grub-install): Replace BIOS discussion with a
17502 cross-reference.
17503 (Images): Likewise.
17504
9e4d19e0
VS
175052011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17506
17507 * grub-core/kern/emu/hostdisk.c (find_partition_start)
17508 [HAVE_DIOCGDINFO]: Add safety checks.
17509
a307c0b2
VS
175102011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17511
17512 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
17513 per default compiled in kernel and prior to 8.0 isn't shipped at all.
17514
b4db4f39
CW
175152011-03-29 Colin Watson <cjwatson@ubuntu.com>
17516
17517 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
17518 real_sb->size is zero (e.g. RAID-0), get the disk size from
17519 real_sb->data_size instead.
17520 Fixes Ubuntu bug #743136.
17521
35e5f84c
VS
175222011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17523
17524 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
17525 printf clauses for printing size and start.
17526
d2e29d81
VS
175272011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17528
17529 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
17530 Reported and tested by: Timothy Nikkel.
17531
ed5587af
VS
175322011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17533
17534 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
17535 (dirty_region_add_real): ... this.
17536 (dirty_region_add): Don't discard margin refresh when performing
17537 scheduled repaint.
17538
a1dc717c
VS
175392011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17540
17541 * grub-core/lib/relocator.c (allocate_regstart)
17542 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
17543 terminals are capabple of malloc-free operation.
17544 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
17545 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
17546
9f3677d3
VS
175472011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
17548
17549 * util/grub-setup.c: Copy the partition table zone if floppy support
17550 is disabled, even if no partition table is found.
17551
17552 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
17553 during POST if an invalid partition table is contained in the PBR
17554 of the active partition when GRUB is installed to a partition.
17555
24148725
CW
175562011-03-28 Colin Watson <cjwatson@debian.org>
17557
17558 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
17559 comment.
17560
f329eda7
CW
175612011-03-28 Colin Watson <cjwatson@debian.org>
17562
17563 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
17564 to be specific about what kind of RAID device we're scanning for.
17565
c482ad98
SG
175662011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
17567
17568 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
17569 return freed string.
17570
5ee04984
VS
175712011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
17572
17573 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
17574
f4727da9
VS
175752011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
17576
17577 Use libgeom on FreeBSD to detect partitions.
17578
17579 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
17580 (grub-mkrelpath): Likewise.
17581 (grub-script-check): Likewise.
17582 (grub-editenv): Likewise.
17583 (grub-mkpasswd-pbkdf2): Likewise.
17584 (grub-fstest): Likewise.
17585 (grub-mkfont): Likewise.
17586 (grub-mkdevicemap): Likewise.
17587 (grub-probe): Likewise.
17588 (grub-setup): Likewise.
17589 (grub-ofpathname): Likewise.
17590 (grub-mklayout): Likewise.
17591 (example_unit_test): Likewise.
17592 (grub-menulst2cfg): Likewise.
17593 * grub-core/Makefile.core.def (grub-emu): Likewise.
17594 (grub-emu-lite): Likewise.
17595 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
17596 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
17597 define HAVE_DIOCGDINFO.
17598 (follow_geom_up) [FreeBSD]: New function.
17599 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
17600 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
17601 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
17602 unconditionally of HAVE_DIOCGDINFO.
17603
82fe6c75
VS
176042011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
17605
17606 Fix FreeBSD compilation problem.
17607
17608 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
17609 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
17610
4c6c9431
CW
176112011-03-24 Colin Watson <cjwatson@ubuntu.com>
17612
17613 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
17614 Switch back to page zero before loading a kernel, since some kernel
17615 drivers expect that.
17616 Thanks to: Felix Kuehling.
17617
c7064d94
VS
176182011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
17619
17620 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
17621 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
17622 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
17623
3f71cded
VS
176242011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
17625
17626 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
17627 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
17628
ef6de21a
VS
176292011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
17630
17631 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
17632 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
17633 malloc is disabled.
17634
8bc66a2c
VS
176352011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
17636
17637 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
17638 for modules headers when counting the needed allocation size.
17639
5657722c
VS
176402011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17641
17642 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
17643 if no ASCII character is found to prevent crash.
17644
41a85f55
AK
176452011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
17646
17647 * grub-core/video/bitmap.c (match_extension): Ignore case.
17648
59e1e5f1
VS
176492011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17650
17651 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
17652
bd4d051a
VS
176532011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17654
17655 * grub-core/script/parser.y: Declare "time" as valid argument.
17656
bae7fcc1
PJ
176572011-03-23 Peter Jones <pjones@redhat.com>
17658
17659 Fix incorrect assert failure reporting.
17660
17661 * grub-core/tests/example_functional_test.c (example_test): Add
17662 a failure comment.
17663 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
17664 (failure_start): ...this. Check that malloc succeeded.
17665 Don't call xvasprintf. Return failure struct.
17666 (failure_append_vtext): New function.
17667 (failure_append_text): Likewise.
17668 (add_failure): Likewise.
17669 (grub_test_assert_helper): Likewise.
17670 * include/grub/test.h (grub_test_assert_helper): New declaration.
17671 (grub_test_assert): Macro rewritten.
17672
537dc9be
VS
176732011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17674
17675 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
17676
fa3e01bf
VS
176772011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17678
17679 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
17680
b1d28404
VS
176812011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17682
17683 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
17684 into GRUB-style one.
17685
2e3e2e09
VS
176862011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17687
17688 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
17689 error and not grub_errno.
17690 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
17691
ed57e557
VS
176922011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17693
17694 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
17695 GRUB_USB_SPEED_NONE in case of failure and not the error code.
17696
d1611f01
VS
176972011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17698
17699 * grub-core/efiemu/i386/pc/cfgtables.c
17700 (grub_machine_efiemu_init_tables): Make declaration a prototype.
17701 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
17702 (grub_xnu_unlock): Likewise.
17703 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
17704
7d4e39d6
VS
177052011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17706
17707 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
17708 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
17709 * grub-core/commands/hashsum.c (aliases): Likewise.
17710 * grub-core/commands/setpci.c (pci_registers): Likewise.
17711 * grub-core/disk/usbms.c (attach_hook): Likewise.
17712 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
17713 (zio_checksum_table): Likewise.
17714 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
17715 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
17716 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
17717 * grub-core/lib/relocator.c (leftovers): Likewise.
17718 (extra_blocks): Likewise.
17719 * grub-core/loader/i386/bsd.c (relocator): Likewise.
17720 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
17721 (modules_last): Likewise.
17722 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
17723 (devices): Likewise.
17724 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
17725 (modules_last): Likewise.
17726 * grub-core/normal/auth.c (users): Likewise.
17727 * grub-core/normal/context.c (initial_menu): Likewise.
17728 (current_menu): Likewise.
17729 * grub-core/normal/crypto.c (crypto_specs): Likewise.
17730 * grub-core/term/serial.c (grub_serial_ports): Likewise.
17731 (grub_serial_terminfo_input_template): Likewise.
17732 (grub_serial_terminfo_output_template): Likewise.
17733 (grub_serial_terminfo_input): Likewise.
17734 (grub_serial_terminfo_output): Likewise.
17735 (registered): Likewise.
17736 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
17737
40fc4659
VS
177382011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17739
17740 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
17741 grub_video_mode_type_t.
17742 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
17743 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
17744 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
17745
2da48d28
VS
177462011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17747
17748 * util/grub-install.in: Correct the x86-64 name as x86_64.
17749
9b43bf39
CW
177502011-03-11 Colin Watson <cjwatson@ubuntu.com>
17751
17752 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
17753 initial chunk read from the kernel always includes GRUB's multiboot
17754 header, which is now outside the first sector.
17755
be1a7ce0
CW
177562011-03-09 Colin Watson <cjwatson@ubuntu.com>
17757
17758 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
17759 cached mmap_size, so that this works correctly when called multiple
17760 times.
17761 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
17762
83a3c48d
CW
177632011-03-09 Colin Watson <cjwatson@ubuntu.com>
17764
17765 * docs/grub.texi (Simple configuration): Tidy up formatting.
17766
57d75699
SJ
177672011-03-07 Szymon Janc <szymon@janc.net.pl>
17768
17769 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
17770 Set-but-not-used variable removed.
17771
028501a0
VS
177722011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
17773
17774 Workaround yet another IEEE1275 bug.
17775
17776 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
17777 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
17778 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
17779 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
17780 is set.
17781 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
17782 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
17783
d998657d
VS
177842011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
17785
17786 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
17787 error.
17788
fee7cdd4
CW
177892011-02-11 Colin Watson <cjwatson@ubuntu.com>
17790
17791 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
17792 empty, since in that case we can only generate either nothing or a
17793 syntactically invalid configuration file.
17794 Reported by: Michal Suchanek. Fixes Debian bug #612898.
17795
97286eb5
CW
177962011-02-09 Colin Watson <cjwatson@ubuntu.com>
17797
17798 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
17799 (Making a GRUB bootable CD-ROM): Likewise.
17800 (Invoking grub-mkrescue): New section.
17801 Reported by: Yann Dirson. Fixes Debian bug #612585.
17802
22b28eb3
CW
178032011-02-09 Colin Watson <cjwatson@ubuntu.com>
17804
17805 * util/grub-install.in: Remove unnecessary brackets from tr
17806 arguments.
17807 * util/grub.d/10_hurd.in: Likewise.
17808 * util/grub.d/10_kfreebsd.in: Likewise.
17809 * util/grub.d/10_linux.in: Likewise.
17810 * util/grub.d/20_linux_xen.in: Likewise.
17811 Reported by: Jamie Heilman. Fixes Debian bug #612564.
17812
7e735e43
CW
178132011-02-08 Colin Watson <cjwatson@ubuntu.com>
17814
17815 * include/grub/file.h (not_easly_seekable): Rename to ...
17816 (not_easily_seekable): ... this. Update all users.
17817
800f1881
CW
178182011-01-28 Colin Watson <cjwatson@ubuntu.com>
17819
17820 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
17821 grub-mkrescue.
17822
3281d3d6
VS
178232011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
17824
17825 * util/grub-mkimage.c (generate_image): Refuse to create the images
17826 bigger than the actual flash (512K) in Loongson machines. 512K is also
17827 the biggest chip supported by them.
17828
3533413c
VS
178292011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17830
17831 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
17832
73ae4f4f
VS
178332011-01-22 Anthony DeRobertis <anthony@derobert.net>
17834
17835 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
17836 super_offset field.
17837
37f4f608
VS
178382011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17839
17840 * util/grub-install.in: Ignore install device on platforms
17841 where it doesn't make sense. Always use UUIDs except on pc, efi and
17842 sparc64.
17843 Reported by: Daniel Kahn Gillmor.
17844
03a4ccb5
VS
178452011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17846
17847 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
17848
ffc8f4d8
VS
178492011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17850
17851 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
17852 (iterate_real): Don't rely on partition being non-NULL.
17853
80f23be7
VS
178542011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17855
17856 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
17857 supported platforms. Put a compile time assert for this rather than
17858 generate a warning with 32-bit shift.
17859
5d4f4dd5
VS
178602011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17861
17862 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
17863 logical expression more readable.
17864
e489601a
VS
178652011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17866
17867 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
17868 even if some elements have a name.
17869 Reported by: Alexander GQ Gerasiov.
17870
96e0a6ea
CW
178712011-01-22 Colin Watson <cjwatson@ubuntu.com>
17872
17873 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
17874 path unreadable if `grub-probe -t abstraction' fails, for example if
17875 memberlist fails on an LVM volume group.
17876 Reported by: Darius Jahandarie.
17877
81431e2b
CW
178782011-01-22 Colin Watson <cjwatson@ubuntu.com>
17879
17880 * docs/grub.texi (Simple configuration): Document
17881 GRUB_PRELOAD_MODULES.
17882
5e79d66a
CW
178832011-01-17 Colin Watson <cjwatson@ubuntu.com>
17884
17885 * .bzrignore: Remove nonexistent grub-pbkdf2.
17886
646ada34
VS
178872011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
17888
17889 * configure.ac: Bump version to 1.99~rc1.
17890
04360337
VS
178912011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
17892
17893 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
17894 for safety.
17895
46c9db88
VS
178962011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
17897
17898 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
17899 module.
17900
179012011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
17902
17903 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
17904
4fbf1852
VS
179052011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
17906
17907 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
17908 diskdevid.
17909
f1632d4d
VS
179102011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
17911
17912 Fix compilation on cygwin.
17913
17914 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
17915 -R .drectve on cygwin.
17916 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
17917 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
17918 (COND_CYGWIN): New condition.
17919 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
17920 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
17921 not @TARGET_OBJ2ELF@.
17922 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
17923 type to determine whether aux is to be used.
17924
0b5e127b
VS
179252011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17926
17927 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
17928 realpath'ed device string.
17929 Handle floppy (somewhat).
17930 Issue error in unknown case rather than garbage.
17931 Reported by: Axel Beckert.
17932
173b71e9
VS
179332011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17934
17935 * util/grub.d/00_header.in (load_video): Handle the case when no video
17936 drivers available.
17937 Thanks to: Axel Beckert.
17938
f8f479db
VS
179392011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17940
17941 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
17942 variable. Fixes problem on big endian platforms.
17943
8fc0a245
VS
179442011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17945
17946 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
17947 It doesn't work well there.
17948
b8494fbe
VS
179492011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17950
17951 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
17952 warning.
17953 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
17954 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
17955 counter.
17956
b44a558c
VS
179572011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17958
17959 Use alias->path rather than buggy "canon".
17960
17961 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
17962 (ofdisk_hash_add): New argument curcan. All users updated.
17963
51fa856c
CW
179642011-01-11 Colin Watson <cjwatson@ubuntu.com>
17965
17966 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
17967
9da068a5
VS
179682011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
17969
17970 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
17971 loadmask before doing any calculations. Use correct type for offset.
17972 (grub_linux_load64): Likewise.
17973
86205c94
CW
179742011-01-11 Colin Watson <cjwatson@ubuntu.com>
17975
17976 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
17977 with NULL.
17978 (console_grub_equivalences_unshift): Likewise.
17979 Reported by: Daniel Dehennin.
17980
4531a206
VS
179812011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
17982
17983 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
17984 (set_env_limn_ro): Likewise.
17985 (GRUB_MOD_INIT): Likewise.
17986 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
17987 ARRAY_SIZE while on it.
17988 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
17989 * grub-core/normal/context.c (grub_env_export): Move from here ...
17990 * grub-core/kern/env.c (grub_env_export): ... here.
17991 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
17992 prefix.
17993 * grub-core/kern/main.c (grub_main): Export root and prefix.
17994 * include/grub/env.h (grub_env_export): Export.
17995 Reported by: Seth Goldberg.
17996
45146057
VS
179972011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
17998
17999 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
18000 Take into account space used by ELF sections and multiboot palette.
18001 Reported by: Grégoire Sutre.
18002
f093110b
VS
180032011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
18004
18005 * BUGS: New file.
18006
3395fe52
VS
180072011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18008
18009 Pass more appropriate video id to Linux.
18010
18011 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
18012 grub_video_get_driver_id and variable gfxpayloadforcelfb to
18013 fill have_vga.
18014 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
18015 shift params->lfb_size.
18016 * include/grub/i386/linux.h: Make an enume out of have_vga values.
18017
c2fa6cbb
VS
180182011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18019
18020 * util/grub-menulst2cfg.c: Add missing include of misc.h.
18021
b3ff6ff0
VS
180222011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18023
18024 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
18025 separator and pass bootpath/devid even if only one of them is available.
18026 Reported by: Seth Goldberg.
18027
ae67942e
VS
180282011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18029
18030 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
18031 implementations bug on them.
18032
18033 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
18034 memory.
18035 (filter_memory_map): Likewise.
18036
d570097a
VS
180372011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18038
18039 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
18040 Reported by: nebuchadnezzar.
18041
a508e776
VS
180422011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18043
18044 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
18045 Reported by: nebuchadnezzar.
18046
dcb883b1
VS
180472011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18048
18049 Submenu default support.
18050
18051 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
18052 auto_boot. All users updated.
18053 Declared static.
18054 Handle chosen and default with submenus.
18055 (grub_menu_execute_with_fallback): Declared static.
18056 Don't notify failure if autobooted. Upper level does it.
18057 (menuentry_eq): New function.
18058 (get_entry_number): Use menuentry_eq.
18059 (show_menu): New parameter "autobooted". All users updated.
18060 (grub_show_menu): Likewise.
18061 * include/grub/normal.h (grub_show_menu): Likewise.
18062 * include/grub/menu.h (grub_menu_execute_entry): Removed.
18063 (grub_menu_execute_with_fallback): Likewise.
18064
6fef99b4
VS
180652011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18066
18067 * util/grub-mklayout.c (usage): Update help text.
18068
47a77af5
VS
180692011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18070
18071 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
18072
ce6bb3ee
VS
180732011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18074
18075 * util/grub-menulst2cfg.c (main): Trim the line.
18076
db87be2a
VS
180772011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18078
18079 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
18080 (grub_machine_init): Don't check amount of low memory as reportedly
18081 INT 12h can be broken and if low memory is too low we wouldn't have
18082 gotten into grub_machine_init anyway.
18083
c49849cc
VS
180842011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18085
18086 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
18087 (grub_machine_mmap_iterate): Take low memory into account
18088
b1969b30
VS
180892011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18090
18091 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
18092 badfs.
18093 Reported by: TiCPU.
18094
cf0eaf13
VS
180952011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18096
18097 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
18098 members errors.
18099
1f060f39
GS
181002011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
18101
18102 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
18103 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
18104
a21e5672
GS
181052011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
18106
18107 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
18108 openbsd and netbsd types being in part_bsd module.
18109
c88172fa
VS
181102011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
18111
18112 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
18113 (_FILE_OFFSET_BITS): Likewise.
18114 Reported by: Seth Goldberg.
18115
53798c4b
GS
181162011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
18117
18118 * configure.ac: Check for libdevmapper header.
18119
e7121b69
VS
181202011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
18121
18122 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
18123 avoid aliasing.
18124 (fzap_lookup): Likewise.
18125 (dnode_get): Likewise.
18126 (make_mdn): Likewise.
18127 (zfs_mount): Likewise.
18128 (fzap_iterate): Use temporary pointer to avoid aliasing.
18129 (grub_zfs_read): Likewise.
18130 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
18131 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
18132 pointers to avoid aliasing.
18133 (grub_cmd_xnu_kernel64): Likewise.
18134 (grub_xnu_load_driver): Likewise.
18135
fc836af9
VS
181362011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
18137
18138 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
18139 aliasing warning.
18140 (grub_cmd_terminal_output): Likewise.
18141 Reported and tested by: Grégoire Sutre.
18142
f9f37648
VS
181432011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
18144
18145 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
18146 warning.
18147 Reported and tested by: Grégoire Sutre.
18148
ec1dfd63
VS
181492011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
18150
18151 * configure.ac: Do CPU substitution even if it's specified explicitly.
18152 Reported and tested by: Alain Greppin.
18153
9462775a
VS
181542011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
18155
18156 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
18157 Reported and tested by: Alain Greppin.
18158
0fd48e35
VS
181592011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
18160
18161 Satisfy some bison versions need for inttypes.h.
18162
18163 * grub-core/lib/posix_wrap/inttypes.h: New file.
18164 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
18165 (int16_t): Likewise.
18166 (int32_t): Likewise.
18167 (int64_t): Likewise.
18168 Reported and tested by: Alain Greppin.
18169
43f1bc83
VS
181702011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
18171
18172 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
18173 Silence spurious warning.
18174 Reported and tested by: Alain Greppin.
18175
64d1f041
SJ
181762011-01-07 Szymon Janc <szymon@janc.net.pl>
18177
18178 * docs/grub.texi (Support automatic decompression): Update with xz
18179 decompression support.
18180
25953e10
SJ
181812011-01-07 Szymon Janc <szymon@janc.net.pl>
18182
18183 Improve loaders' kernel command line handling.
18184
18185 * grub-core/lib/cmdline.c: New file.
18186 * include/grub/lib/cmdline.h: Likewise.
18187 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
18188 grub_create_loader_cmdline to create kernel command line.
18189 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
18190 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
18191 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
18192 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
18193 (linux): Add lib/cmdline.c on common.
18194
e72d259f
VS
181952011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
18196
18197 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
18198 inopos might be unaligned.
18199
c0cf26da
VS
182002011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
18201
18202 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
18203 endian transformations.
18204 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
18205 Based on report by: Doug Nazar.
18206
0ca09e6c
DN
182072011-01-07 Doug Nazar <nazard.michi@gmail.com>
18208
18209 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
18210 array->members[i].start_sector.
18211 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
18212
014b6806
VS
182132011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
18214
18215 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
18216 Reported and tested by: Grégoire Sutre.
18217
415502c2
CW
182182011-01-06 Colin Watson <cjwatson@ubuntu.com>
18219
18220 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
18221 avoid causing test failures by clearing the screen.
18222
71b6a2b7
CW
182232011-01-06 Colin Watson <cjwatson@ubuntu.com>
18224
18225 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
18226 Fix prefix check to handle the case where dir ends with a slash
18227 (most significantly, "/" itself).
18228 Reported by: Michael Vogt.
18229
b3f8d28a
VS
182302011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
18231
18232 Run terminfo_cls on initing terminfo output to clear the screen and
18233 move the cursor to (0,0).
18234
18235 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
18236 Call grub_terminfo_output_init.
18237 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
18238 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
18239 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
18240
4c3e4f37
VS
182412011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
18242
18243 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
18244 only when needed.
18245
488f71f1
VS
182462011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
18247
18248 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
18249 CTRL.
18250
18a38098
VS
182512011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
18252
18253 The E820 type 5 is BADRAM, not EXEC_CODE.
18254
18255 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
18256 (GRUB_E820_BADRAM): New define.
18257 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
18258 into reserved. Propagate BADRAM.
18259 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
18260 (GRUB_E820_BADRAM): New define.
18261
9eae2084
VS
182622011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
18263
18264 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
18265 Ignore the memory post-4G.
18266 (grub_relocator_firmware_alloc_region): Additional debug statement.
18267
ebc71d28
VS
182682011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
18269
18270 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
18271 names.
18272 Reported by: David Pravec.
18273
446fa400
VS
182742011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
18275
18276 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
18277 BIOSes.
18278
a0159f37
VS
182792011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
18280
18281 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
18282 Prevent overflow.
18283 (grub_reed_solomon_recover): Likewise.
18284
e5146ca1
VS
182852011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
18286
18287 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
18288
182892011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
18290
18291 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
18292 variable.
18293
5b1bdf12
CW
182942011-01-04 Colin Watson <cjwatson@ubuntu.com>
18295
18296 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
18297 descriptions of extract_legacy_entries_source and
18298 extract_legacy_entries_configfile.
18299 Reported by: Seung Soo, Ha.
18300
99d925aa
CW
183012011-01-03 Colin Watson <cjwatson@ubuntu.com>
18302
18303 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
18304 on devices that do not implement function 0.
18305
4af0504b
DV
183062011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
18307
18308 * grub-core/fs/hfsplus.c: Make parent unsigned.
18309 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
18310 overflows.
18311 (grub_hfsplus_cmp_extkey): Likewise
18312
469ee10a
VS
183132011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
18314
18315 * util/grub-install.in: Correctly use bootloader_id and not
18316 GRUB_DISTRIBUTOR on efibootmgr line.
18317
323a8e9c
VS
183182011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
18319
18320 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
18321
1b394975
IC
183222010-12-31 Ian Campbell <ijc@hellion.org.uk>
18323
18324 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
18325 Xen and reorder menu item wording to make it clearer that this entry
18326 will launch Xen. Print separate messages when loading Xen and
18327 Linux.
18328
275bff5f
VS
183292010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
18330
18331 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
18332 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
18333 loop in case of incorrect amiga partmap.
18334
307806cb
VS
183352010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
18336
18337 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
18338 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
18339 Reported by:EHeM.
18340
b12b923e
VS
183412010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
18342
18343 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
18344 spurious warning.
18345 Reported by: crocket
18346
14b48a19
VS
183472010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
18348
18349 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
18350 Preload EFIemu.
18351 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
18352
693db2df
VS
183532010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
18354
18355 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
18356 is loaded
18357 (grub_cmd_xnu_kextdir): Likewise.
18358 (grub_cmd_xnu_splash): Likewise.
18359
c7638645
VS
183602010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
18361
18362 Avoid using Reed-Solomon with 0 redundancy.
18363
18364 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
18365 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
18366 or 0 redundancy.
18367 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
18368 (grub_reed_solomon_recover): Likewise.
18369
25dd4780
VS
183702010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
18371
18372 Don't use disk subsystem in freebsd_boot.
18373
18374 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
18375 (freebsd_biosdev): Likewise.
18376 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
18377 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
18378
0b2db943
VS
183792010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
18380
18381 Handling of files of unknown size is currently limited. They can't be
18382 used e.g. for initrd or modules. Moreover gzip handling of not
18383 easily seekable files is buggy. Disable unknown file size for now. May
18384 be inefficient but works.
18385
18386 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
18387 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
18388
5c408d0f
MP
183892010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
18390
18391 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
18392 floppy probe.
18393
190a011a
JD
183942010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
18395
18396 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
18397
022d01b8
SL
183982010-12-25 Shea Levy <shlevy>
18399
18400 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
18401
c4855fdc
VS
184022010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
18403
18404 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
18405 Windows Server 2008.
18406 Reported by: Devin Giddings.
18407
0354b867
VS
184082010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
18409
18410 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
18411 writing an error message because of async power management.
18412 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
18413 (grub_reboot): Likewise.
18414
ab66c69f
JU
184152010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
18416
18417 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
18418 keep unit tests from failing when they shouldn't.
18419
1426ef35
CW
184202010-12-21 Colin Watson <cjwatson@ubuntu.com>
18421
18422 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
18423 previous patch increased the size of the RS code by 20 bytes (at
18424 least with gcc-4.4), so increase this by 20 bytes to match.
18425 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
18426
20641b6b
CW
184272010-12-21 Colin Watson <cjwatson@ubuntu.com>
18428
18429 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
18430 scratch area. Make sure to initialise chosen in standalone mode as
18431 well as non-standalone.
18432 Reported by: Robert Hooker and Andy Whitcroft.
18433 Tested by: Andy Whitcroft.
18434
d060ad60
CW
184352010-12-21 Colin Watson <cjwatson@ubuntu.com>
18436
18437 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
18438 constructing a new unescaped string and passing it to grub_xputs in
18439 one go, rather than passing characters to grub_printf one at a time.
18440
b889cfad
CW
184412010-12-21 Colin Watson <cjwatson@ubuntu.com>
18442
18443 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
18444 initialising utf16.
18445
4e01b6c8
CW
184462010-12-21 Colin Watson <cjwatson@ubuntu.com>
18447
18448 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
18449 comment. Add an extra layer of quotation, requiring the output of
18450 this function to be used in a printf format string.
18451 (gettext_printf): New function.
18452 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
18453 Extract translatable strings from here-documents and use a temporary
18454 variable instead, so that xgettext can find them.
18455 * util/grub.d/10_kfreebsd.in: Likewise.
18456 * util/grub.d/10_linux.in: Likewise.
18457 * util/grub.d/20_linux_xen.in: Likewise.
18458
18459 * po/grub.d.sed: New file.
18460 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
18461 arguments. Set c-format flags on all strings extracted from
18462 util/grub.d/ (xgettext refuses to include these itself for strings
18463 it extracted from a shell file, but these really are c-format).
18464
5318fe98
VS
184652010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
18466
18467 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
18468 Avoid next pointing to nowhere.
18469
6c85b743
VS
184702010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
18471
18472 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
18473 rather than assuming than rootblock is exactly in the middle.
18474 (grub_affs_label): Likewise.
18475
a2a08a35
VS
184762010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
18477
18478 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
18479 reserved_first_sector to 0.
18480 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
18481 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
18482 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
18483
7059d1ec
VS
184842010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
18485
18486 Fix handling of UTF-16 UDF labels.
18487
18488 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
18489 (read_string): .. here.
18490 (grub_udf_label): Use read_string.
18491
30aff4cb
BC
184922010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
18493
18494 * grub-core/normal/menu_entry.c (run): Execute commands from menu
18495 editor under argument scope.
18496 Reported by: Jordan Uggla
18497
5cf86f4b
VS
184982010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
18499
18500 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
18501
32570200
CW
185022010-12-18 Colin Watson <cjwatson@ubuntu.com>
18503
18504 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
18505 line, and other keys scroll an entire page (previous handling was
18506 for \r and \n to scroll a page and other keys to scroll two lines).
18507
e1dffcf2
VS
185082010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
18509
18510 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
18511 Set ptrdest to correct get_physical_target_address rather than
18512 incorrect get_virtual_current_address.
18513
b04298cf 185142010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
18515
18516 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
18517 correct cat to grub_uint8_t * rather than grub_uint32_t *.
18518
5367ecd3
CW
185192010-12-10 Colin Watson <cjwatson@ubuntu.com>
18520
18521 * .bzrignore: Ignore grub-core/rs_decoder.S.
18522
1fb430f8
CW
185232010-12-10 Colin Watson <cjwatson@ubuntu.com>
18524
18525 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
18526 .mo/.mo.gz opening sequence to ...
18527 (grub_mofile_open_lang): ... here.
18528 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
18529 * util/grub.d/00_header.in (grub_lang): Include country part of
18530 locale.
18531 Reported by: Mario Limonciello.
18532
a94a6671
RM
185332010-12-09 Robert Millan <rmh@gnu.org>
18534
18535 * NEWS: Document addition of ZFS support.
18536
24b7938b
CW
185372010-12-04 Colin Watson <cjwatson@ubuntu.com>
18538
18539 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
18540 rather than `/ 2', as the latter requires -Wa,--divide which would
18541 require bumping our minimum binutils version.
18542
bddc3ef6
BC
185432010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
18544
18545 * util/grub-script-check.c (main): Print script line number on
18546 error.
18547
bf78d5b2
RM
185482010-12-01 Robert Millan <rmh@gnu.org>
18549
18550 * grub-core/fs/zfs/zfs.c: New file.
18551 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
18552 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
18553 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
18554 * grub-core/fs/zfs/zfsinfo.c: Likewise.
18555
18556 * include/grub/zfs/dmu.h: Likewise.
18557 * include/grub/zfs/dmu_objset.h: Likewise.
18558 * include/grub/zfs/dnode.h: Likewise.
18559 * include/grub/zfs/dsl_dataset.h: Likewise.
18560 * include/grub/zfs/dsl_dir.h: Likewise.
18561 * include/grub/zfs/sa_impl.h: Likewise.
18562 * include/grub/zfs/spa.h: Likewise.
18563 * include/grub/zfs/uberblock_impl.h: Likewise.
18564 * include/grub/zfs/vdev_impl.h: Likewise.
18565 * include/grub/zfs/zap_impl.h: Likewise.
18566 * include/grub/zfs/zap_leaf.h: Likewise.
18567 * include/grub/zfs/zfs.h: Likewise.
18568 * include/grub/zfs/zfs_acl.h: Likewise.
18569 * include/grub/zfs/zfs_znode.h: Likewise.
18570 * include/grub/zfs/zil.h: Likewise.
18571 * include/grub/zfs/zio.h: Likewise.
18572 * include/grub/zfs/zio_checksum.h: Likewise.
18573
18574 * Makefile.util.def: Build ZFS into libgrubmods.
18575 * grub-core/Makefile.core.def: Build zfs.mod.
18576
3f0f3831
SJ
185772010-11-30 Szymon Janc <szymon@janc.net.pl>
18578
18579 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
18580 variable.
18581 * grub-core/commands/wildcard.c (match_files): Likewise.
18582
3a4253b2
RM
185832010-11-30 Robert Millan <rmh@gnu.org>
18584
18585 * grub-core/loader/i386/bsd.c
18586 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
18587 whether kernel is loaded using grub_loader_is_loaded(), rather
18588 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
18589 certain error conditions.
18590
8c317b27
RM
185912010-11-30 Robert Millan <rmh@gnu.org>
18592
c5c9cd3e
RM
18593 * grub-core/commands/echo.c: Include `<grub/term.h>'.
18594 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 18595
49d3ab46
VS
185962010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
18597
18598 Avoid using tricks for initialising endian variables.
18599
18600 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
18601 Make const.
18602 (GRUB_MOD_INIT): Don't byte-swap.
18603 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
18604 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
18605 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
18606 (grub_swap_bytes32_compile_time): Likewise.
18607 (grub_cpu_to_le32_compile_time): Likewise.
18608 (grub_cpu_to_le16_compile_time): Likewise.
18609
f420a804
VS
186102010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
18611
18612 * util/grub-setup.c (setup): Stop recommending --force. People who
18613 understand the dangers of blocklists are able to find this option
18614 anyway and the ones who don't shouldn't use it anyway.
18615
4e7db17b
RM
186162010-11-26 Robert Millan <rmh@gnu.org>
18617
18618 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
18619 Update all users.
18620
9be57a0d
CW
186212010-11-26 Colin Watson <cjwatson@ubuntu.com>
18622
18623 Fix LVM-on-RAID probing.
18624
18625 * util/grub-probe.c (probe): Remember which disk was detected as
18626 RAID (perhaps an LVM physical volume). Use that disk's raidname
18627 rather than that of the top-level disk.
18628
2c7859b3 186292010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 18630
d7647bb6
BC
18631 Fix cmdline argument quotes for setparams command of menuentry
18632 definitions.
7e623b0d
BC
18633
18634 * grub-core/commands/menuentry.c (setparams_prefix): Use single
18635 quotes for arguments.
f866fe80 18636 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 18637 grub_strchrsub function instead.
f866fe80 18638
7955bea0 18639 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 18640
74f72a64
CW
186412010-11-24 Colin Watson <cjwatson@ubuntu.com>
18642
18643 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
18644 effort by skipping "." and ".." entries up-front.
18645 Suggested by: Michael Lazarev.
18646
5a407278
CW
186472010-11-24 Colin Watson <cjwatson@ubuntu.com>
18648
18649 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
18650 ldflags to ldadd, to fix link line ordering.
18651 (none_decompress): Likewise.
18652
3030d8ec
CW
186532010-11-24 Colin Watson <cjwatson@ubuntu.com>
18654
18655 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
18656 platforms.
18657 (grub-emu-lite): Remove kern/emu/cache.S.
18658
b7fbac12
CW
186592010-11-23 Colin Watson <cjwatson@ubuntu.com>
18660
18661 * util/deviceiter.c (compare_devices): If the by-id link for a
18662 device couldn't be resolved, fall back to sorting by the by-id link
18663 rather than segfaulting.
18664 Reported and tested by: Daniel Mierswa.
18665
5225f328
CW
186662010-11-23 Colin Watson <cjwatson@ubuntu.com>
18667
18668 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
18669 ldflags, to fix link line ordering.
18670
038b3ce8
CW
186712010-11-23 Colin Watson <cjwatson@ubuntu.com>
18672
18673 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
18674 linkers are picky about this.
18675
bf16e98e
CW
186762010-11-23 Colin Watson <cjwatson@ubuntu.com>
18677
18678 * grub-core/Makefile.am (command.lst): Adjust sed expression
18679 ordering so that extended and priority commands aren't treated as
18680 ordinary commands.
18681
7242bab6
CW
186822010-11-23 Colin Watson <cjwatson@ubuntu.com>
18683
18684 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
18685 Remove byte-swapping function calls, which are not valid in
18686 structure initialisers.
18687 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
18688 non-const.
18689 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
18690 grub_gpt_partition_type_bios_boot.
18691
14e8b279
CW
186922010-11-22 Colin Watson <cjwatson@ubuntu.com>
18693
18694 Fix test program build on GNU/kFreeBSD.
18695
18696 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
18697 $(LIBNVPAIR)' library dependencies.
18698
e6f63338 186992010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
18700
18701 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
18702
cf8ffc38
CW
187032010-11-22 Colin Watson <cjwatson@ubuntu.com>
18704
18705 * util/grub-install.in: Remove excessive quoting that broke
18706 installations to RAID devices.
18707
7f8b0fd7
VS
187082010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
18709
18710 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
18711 bootloader version instead of 0.
18712
dfd240b1
VS
187132010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
18714
18715 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
18716 warning.
18717
7b61e609
VS
187182010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
18719
18720 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
18721 retrieve the metadat sector if size isn't known.
18722 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
18723
9dfe92d0
RM
187242010-11-18 Robert Millan <rmh@gnu.org>
18725
18726 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
18727 with grub_memcmp().
18728
41cc919e
VS
187292010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
18730
18731 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
18732 arrow.
18733 Reported by: Jordan Uggla.
18734
1afcc914
VS
187352010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
18736
18737 Make better UTF compliant.
18738
18739 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
18740 sequences as incorrect.
18741 (grub_is_valid_utf8): Likewise.
18742 (grub_utf8_to_ucs4): Likewise.
18743 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
18744 (grub_ucs4_to_utf8_alloc): Likewise.
18745 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
18746
f1808884
VS
187472010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
18748
18749 Make legacy_source behave like source.
18750
18751 * grub-core/commands/legacycfg.c (legacy_file): Don't call
18752 grub_show_menu.
18753 (grub_cmd_legacy_source): Call grub_show_menu if needed.
18754
24ec575b
CW
187552010-11-16 Colin Watson <cjwatson@debian.org>
18756
18757 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
18758 (-Wunused implies -Wunused-parameter, but not vice versa).
18759
72b7c7aa
CW
187602010-11-16 Colin Watson <cjwatson@ubuntu.com>
18761
18762 * configure.ac: Make error messages less confusing by testing for
18763 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
18764 accepted, but produces a diagnostic if something else is wrong).
18765
e98937aa
VS
187662010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
18767
18768 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
18769 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
18770 (now unused).
18771 (grub_keyboard_controller_init)
18772 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
18773 read the initial state since controller isn't inited yet.
18774
f6bbabc3
VS
187752010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
18776
18777 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
18778 allocate_regbeg may need to create new chunk header.
18779
22e7dbb2
VS
187802010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18781
18782 Fix quoting in legacy parser.
18783
18784 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
18785 single quotes.
18786 (grub_legacy_parse): Likewise.
18787 Reported by: Jordan Uggla.
18788 Tested by: Jordan Uggla.
18789
03f80960
VS
187902010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18791
18792 Don't add -lgcc on i386 and x86_64.
18793
18794 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
18795 * conf/Makefile.common (LDADD_KERNEL): Likewise.
18796 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
18797
779dc15b
VS
187982010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18799
18800 * configure.ac: Add -Wno-trampolines when supported.
18801
d20a3b37
MV
188022010-11-14 Modestas Vainius <modax@debian.org>
18803
18804 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
18805 fakeraid.
18806
e5360933
GC
188072010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
18808
18809 Add generic logical block size support for UDF.
18810
18811 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
18812 (GRUB_UDF_BLKSZ): Removed.
18813 (struct grub_udf_data): New field "lbshift" to hold the logical block
18814 size of the file system in log2 format. All users updated.
18815 (sblocklist): Change type to unsigned.
18816 (grub_udf_mount): Change type of "sblklist" to unsigned.
18817 Move AVDP search before VRS recognition, because the latter requires
18818 knowledge of the logical block size, which is detected during the
18819 former.
18820 Detect and validate logical block size during AVDP search, adding
18821 support for block sizes 512, 1024 and 4096.
18822 Make VRS recognition independent of block size.
18823
cb0229c5
GC
188242010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
18825
18826 Properly handle deleted files on UDF.
18827
18828 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
18829 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
18830 set.
18831
406858a8
GC
188322010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
18833
18834 Support reading files larger than 2 GiB.
18835
18836 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
18837 "offset" to grub_off_t.
18838 (grub_udf_read_file): Likewise for parameter "pos".
18839
130da6a7
VS
188402010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18841
18842 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
18843 unavailable.
18844 (Simple configuration): Refer to Changes from GRUB Legacy about
18845 save_env availability.
18846
65e93f6b
VS
188472010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18848
18849 * util/grub-install.in: Ignore empty partition table detection
18850 instead of trying to include part_ module.
18851
1fd08bf1
VS
188522010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18853
18854 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
18855 LVM on RAID support.
18856
de1a024f
VS
188572010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18858
18859 Properly define WORDS_BIGENDIAN in wrapped environments.
18860
18861 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
18862 definition.
18863 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
18864
18865 Reported by: Manoel Rebelo Abranches.
18866 Tested by: Manoel Rebelo Abranches.
18867
bc5dd0b9
VS
188682010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
18869
18870 * util/grub-mkconfig.in: Fix quoting.
18871
58c184be
VS
188722010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
18873
18874 Support big ext2 files.
18875
18876 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
18877 (grub_ext2_read_block): Support triple indirect blocks.
18878 (grub_ext2_read_file): Use 64-bit types and read size_high.
18879 (grub_ext2_open): Read size_high.
18880 Reported by: Ximin Luo.
18881 Tested by: Manoel Rebelo Abranches.
18882
5f0c02b3
VS
188832010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
18884
18885 * util/grub-install.in: Handle filenames containing spaces.
18886 Reported by: Jordan Uggla.
18887 Tested by: Jordan Uggla.
18888
4417aae6
VS
188892010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
18890
18891 * util/grub-mkconfig.in (grub_script_check): New variable.
18892 Use grub_script_check instead of grub-script-check.
18893 Reported by: Barry Jackson.
18894
7625a68e
VS
188952010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
18896
18897 * docs/grub.texi (menu): Correct the order.
18898 Reported by: D. Hugh Redelmeier.
18899
10001ac5
VS
189002010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
18901
18902 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
18903 jump.
18904
9c4cf53b
MRA
189052010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
18906
10001ac5
VS
18907 * include/grub/elfload.h (grub_elf32_size): New parameter.
18908 All users updated.
9c4cf53b
MRA
18909 Return maximum segments alignment.
18910 (grub_elf64_size): Likewise.
18911 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
18912 Return maximum segments alignment.
18913 (grub_elf64_size): Likewise.
18914 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
18915 (grub_linux_claimmap_iterate): New function. Uses the
18916 "available" property in the "memory" node for memory allocation
18917 for kernel in the PowerPC loader.
9c4cf53b
MRA
18918 (grub_linux_load32): Correctly find linux entry point offset.
18919 (grub_linux_load64): Likewise.
18920
d2bf06bf
RM
189212010-11-07 Robert Millan <rmh@gnu.org>
18922
18923 On mips-yeeloong, build with -march=loongson2f when this flag is
18924 available (GCC >= 4.4).
18925 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
18926 `-march=mips3'.
18927 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
18928 or otherwise add -march=mips3.
18929
898c99a2
BC
189302010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
18931
87220a68
BC
18932 Suppress shell expansion on echo '*' and echo "*" like cases.
18933 Reported by: Jordan Uggla.
898c99a2
BC
18934
18935 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
18936 string arguments before shell expansion.
18937 * tests/grub_cmd_echo.in: New testcases.
18938
4f9b406a
RM
189392010-11-07 Robert Millan <rmh@gnu.org>
18940
18941 * conf/mips-qemu-mips.rmk: Remove stale file from previous
18942 transition.
18943
80c6d25e
VS
189442010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
18945
18946 * grub-core/kern/emu/hostdisk.c
18947 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
18948
4a1a0153
VS
189492010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
18950
18951 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
18952 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
18953 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
18954
34706ddc
VS
189552010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
18956
18957 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
18958
6972dea9
VS
189592010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
18960
18961 * util/grub-install.in: Replace useless recomendation to pass
18962 --modules with a recomendation to report a bug.
18963
9c693bd6
VS
189642010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
18965
18966 Properly register serial terminfo.
18967 Reported by: Jordan Uggla
18968
18969 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
18970 const.
18971 (grub_serial_terminfo_output_template): Likewise.
18972 (grub_cmd_serial): Register "serial" with terminfo.
18973 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
18974 grub_serial_terminfo_output.
18975
6c9e4c0c
RM
189762010-11-05 Robert Millan <rmh@gnu.org>
18977
18978 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
18979 needed).
18980
b9b3839f
RM
189812010-11-05 Robert Millan <rmh@gnu.org>
18982
18983 On Yeeloong, pass machine type information to Linux.
18984
18985 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
18986 (LOONGSON_MACHTYPE): New macro, set to
18987 "machtype=lemote-yeeloong-2f-8.9inches".
18988 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
18989 additional argument to Linux.
18990
1a3aaff4
RM
189912010-11-04 Robert Millan <rmh@gnu.org>
18992
18993 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
18994 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
18995 (its SATA disks are detected as slaveless IDE master drives on
18996 kFreeBSD).
18997 Reported by Carsten Aulbert.
18998
a75f4f62
CW
189992010-11-02 Colin Watson <cjwatson@ubuntu.com>
19000
19001 * util/bin2h.c (main): Fix spelling error in generated output.
19002
33b4b0c6
GS
190032010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
19004
19005 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
19006
2b36fbf4
VS
190072010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
19008
19009 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
19010 vga= option is supplied.
19011
74aaf558
VS
190122010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
19013
19014 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
19015 * util/grub.d/10_kfreebsd.in: Likewise.
19016 * util/grub.d/10_linux.in: Likewise.
19017 * util/grub.d/20_linux_xen.in: Likewise.
19018
6428dec3
VS
190192010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
19020
19021 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
19022 argument as an argument to no-argument option.
19023
f8729d98
VS
190242010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
19025
19026 * util/grub.d/10_linux.in: Add missing load_video with explicit
19027 GRUB_GFXPAYLOAD_LINUX.
19028
89d68fa6
VS
190292010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
19030
19031 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
19032
3a1197cd
VS
190332010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
19034
19035 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
19036 elements with invlid index.
19037 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
19038 * grub-core/disk/raid.c (insert_array): Automatically reallocate
19039 members.
19040 * include/grub/raid.h (grub_raid_member): New struct.
19041 (grub_raid_array): Transform devices and start_sector into usage of
19042 grub_raid_member. All users updated
19043 (allocated_devs): New member.
19044
71574288
VS
190452010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
19046
19047 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
19048 is modified
19049
8d40ec65
BC
190502010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
19051
19052 NetBSD build fix for getline function conflict from gnulib.
19053
19054 * Makefile.util.def (libgrubkern.a): New library for grub kernel
19055 components that depend on gnulib headers.
19056 (libgrubmods.a): Renamed from earlier libgrub.a.
19057 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
19058
95b9257e
VS
190592010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
19060
19061 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
19062 install rather than creating a broken install.
19063
26c53dc6
VS
190642010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
19065
19066 * util/grub-setup.c (argp): Remove misleading example of installing to
19067 a partition.
19068
4171b3c5
VS
190692010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
19070
19071 * util/grub-setup.c (setup): Clarify the error message.
19072
18568d18
VS
190732010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
19074
19075 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
19076
4f6a2e21
VS
190772010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
19078
19079 * grub-core/kern/emu/misc.c
19080 (grub_make_system_path_relative_to_its_root)
19081 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
19082
190832010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
19084
19085 * grub-core/kern/emu/misc.c
19086 (grub_make_system_path_relative_to_its_root): Revert r2882.
19087
e138c458
VS
190882010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
19089
19090 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
19091 useless field head. All users updated.
19092 (free_subchunk): Correct handling of IN_REGION subchunk.
19093
0cbcdf0e
CW
190942010-10-22 Colin Watson <cjwatson@ubuntu.com>
19095
19096 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
19097 (Supported kernels): Likewise.
19098
b65ea155
GS
190992010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
19100
19101 Make mktemp invocations portable.
19102
19103 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
19104 exit if mktemp fails.
19105 * tests/grub_script_blockarg.in: Likewise.
19106 * tests/partmap_test.in: Likewise.
19107 * tests/util/grub-shell-tester.in: Likewise.
19108 * tests/util/grub-shell.in: Likewise.
19109 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
19110 * Makefile.am: Likewise, and chain shell commands with `&&'
19111 instead of ';'.
19112 * util/grub-mkrescue.in: Use the same explicit template as above, and
19113 exit if mktemp fails.
19114
05f43cdd
BC
191152010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
19116
19117 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
19118 Linux kernel, reported by Dennis Schridde.
19119
800e6a9b
SJ
191202010-10-17 Szymon Janc <szymon@janc.net.pl>
19121
19122 * grub-core/normal/auth.c (grub_auth_check_authentication):
19123 Set-but-not-used variable removed.
19124
d82df574
VS
191252010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
19126
19127 * docs/grub.texi (GNU/Linux): Document APM unavailability with
19128 32-bit linux protocol.
19129
7bced458
VS
191302010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
19131
19132 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
19133 cursor shape for sanity.
19134
5b027690
VS
191352010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
19136
19137 * docs/grub.texi (Installation): Document buggy BIOS install.
19138
ba5f65cf
VS
191392010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
19140
19141 * docs/grub.texi (Installation): Indent.
19142
fdf2ec9c
VS
191432010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
19144
19145 * util/grub-setup.c (setup): New parameter allow_floppy.
19146 (arguments): New member allow_floppy.
19147 (argp_parser): Handle --allow-floppy.
19148 (main): Pass allow_floppy.
19149 * util/grub-install.in: New option --allow-floppy passed though to
19150 grub-setup.
19151
861dfd4c
VS
191522010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
19153
19154 * util/grub-install.in: Handle partitionless disks.
19155
f77a8c24
VS
191562010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
19157
19158 * util/grub-setup.c (setup): Don't clean blocklists before readability
19159 verfification.
19160
27d9ee32
VS
191612010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
19162
19163 * docs/grub.texi (Installation): Document embedding zone. Remove
19164 obsolete grub-install example.
19165
6bdda8f8
SJ
191662010-10-16 Szymon Janc <szymon@janc.net.pl>
19167
19168 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
19169 Set-but-not-used variable ifdef'ed.
19170 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
19171 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
19172 variable removed.
19173 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
19174 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
19175 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
19176 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
19177 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
19178 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
19179 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
19180 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
19181 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
19182 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
19183 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
19184 Likewise.
19185
e19b016b
VS
191862010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
19187
19188 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
19189 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
19190 enum value.
19191
6c8d3002
VS
191922010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
19193
19194 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
19195 synonym to _S5_. Needed for some DSDTs.
19196
c32b51c9
VS
191972010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
19198
19199 Userspace ACPI parser debugging.
19200
19201 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
19202 headers and add relevant defines. Don't include standard headers.
19203 (main) [GRUB_DSDT_TEST]: New function.
19204 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
19205 Don't declare functions.
19206
fbfbeb39
VS
192072010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
19208
19209 Remove dead grub_efi_mm_fini.
19210
19211 * grub-core/kern/efi/mm.c (allocated_page): Removed.
19212 (ALLOCATED_PAGES_SIZE): Likewise.
19213 (MAX_ALLOCATED_PAGES): Likewise.
19214 (allocated_pages): Likewise.
19215 (grub_efi_allocate_pages): Don't record allocated pages.
19216 (grub_efi_free_pages): Likewise.
19217 (grub_efi_mm_init): Likewise.
19218 (grub_efi_mm_fini): Removed.
19219
65f7ed7c
VS
192202010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
19221
19222 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
19223 (grub_efi_mm_init): Take into account the memory map size increase.
19224
24977b44
VS
192252010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
19226
19227 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
19228 (serial_hw_put): Wait based on real time rather than port reads. Don't
19229 roken ports.
19230 * include/grub/serial.h (grub_serial_port): New field broken.
19231
1eb01cd2
RM
192322010-10-16 Robert Millan <rmh@gnu.org>
19233
19234 * grub-core/kern/emu/misc.c
19235 (grub_make_system_path_relative_to_its_root): Fix premature return
19236 when processing non-root ZFS filesystems.
5f8b440b 19237 Reported by Sergio Talens-Oliag.
1eb01cd2 19238
2d5fed60
RM
192392010-10-15 Robert Millan <rmh@gnu.org>
19240
19241 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
19242 guarantee compressed ones are processed first.
19243
d0f4c1ea
VS
192442010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
19245
19246 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
19247 grub_efiemu_autocore.
19248
d87c681f
VS
192492010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
19250
19251 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
19252 rather than 0x1b.
19253 (grub_console_getkey): Use correct jae opcode rather than ja.
19254
219b3564
RM
192552010-10-12 Robert Millan <rmh@gnu.org>
19256
19257 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
19258 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
19259 variable. All references updated.
19260
19261 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
19262
20c6bb7e
VS
192632010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
19264
19265 Correctly distinguish mdraid flavours.
19266
19267 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
19268 (insert_array): New argument raid.
19269 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
19270 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
19271 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
19272
74baff84
VS
192732010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
19274
19275 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
19276 handling of special keys.
19277
3ef068df 192782010-10-02 Aleš Nesrsta <starous@volny.cz>
19279
c7980ad9
VS
19280 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
19281 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 19282
a9455194 192832010-10-02 Aleš Nesrsta <starous@volny.cz>
19284
c7980ad9
VS
19285 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
19286 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
19287 users updated.
a9455194 19288 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 19289 Use right endpoint when querying descriptor.
a9455194 19290
441cfe65
VS
192912010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
19292
19293 Clear out 0x80 color bit on EFI.
19294 Tested by: decoder
19295 Reported by: decoder and meta tech.
19296
19297 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
19298 (grub_console_setcolorstate): Clear out 0x80 bit.
19299 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
19300 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
19301 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
19302
bf26bcc4
VS
193032010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
19304
19305 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
19306 Set to "auto".
19307
6e3c515d
VS
193082010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
19309
19310 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
19311 mo_file after freeing.
19312
e6d983ba
VS
193132010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
19314
19315 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
19316
74ccb5b5
VS
193172010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
19318
19319 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
19320 flags.
19321
17821956
VS
193222010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
19323
19324 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
19325 usage.
19326
ee74fa48
VS
193272010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
19328
19329 Put terminfo into core on ieee1275 and yeeloong (needed for console).
19330
19331 * gentpl.py: New groups terminfoinkernel and terminfomodule.
19332 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
19333 and terminfo.h when needed.
19334 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
19335 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
19336 (terminfo): Enable only on terminfokernel.
19337 (extcmd): Likewise.
19338 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
19339 * include/grub/lib/arg.h: Likewise.
19340 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
19341 incorrect usage of ->.
19342
aa438e68
VS
193432010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
19344
19345 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
19346 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
19347
57994012
VS
193482010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
19349
19350 Fix coreboot compilation.
19351
19352 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
19353 Take VBE info into account even if only text is supported.
19354 (fill_vbe_info): Take into account the case when only VGA text
19355 is supported.
19356 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
19357 on coreboot, multiboot and qemu.
19358
2a406611
VS
193592010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
19360
19361 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
19362 debug messages.
19363 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
19364
d33613fc
VS
193652010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
19366
19367 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
19368 parameters.
19369
44a1b432
VS
193702010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
19371
19372 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
19373 if they were BSD-style.
19374
edde54e6
VS
193752010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
19376
19377 * grub-core/boot/i386/pc/lnxboot.S: Replace
19378 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
19379 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
19380
b65830fa
VS
193812010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
19382
19383 Write embedding zone using Reed-Solomon.
19384
19385 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
19386 * grub-core/Makefile.am (rs_decoder.S): New target.
19387 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
19388 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
19389 (multiboot): Move to RS part.
19390 (post_reed_solomon): New label.
19391 (grub_boot_drive): Move to non-RS part since it's modified in memory
19392 on boot.
19393 Include rs_decoder.S.
19394 * grub-core/lib/reed_solomon.c: New file.
19395 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
19396 New definition.
19397 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
19398 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
19399 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
19400 * include/grub/partition.h (grub_partition_map): Change prototype of
19401 embed to allow returning additional sectors.
19402 * include/grub/reed_solomon.h: New file.
19403 * util/grub-setup.c (setup): Handle Reed-Solomon.
19404
0b4b227f
CW
194052010-09-28 Colin Watson <cjwatson@ubuntu.com>
19406
19407 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
19408 i386 and x86-64 definedness tests.
19409
f772623b
YB
194102010-09-27 Yves Blusseau <blusseau@zetam.org>
19411
19412 Fix generation of kernel_syms.lst
19413
19414 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
19415 ASM_PREFIX
19416
8e57a6ca
RM
194172010-09-26 Robert Millan <rmh@gnu.org>
19418
19419 Support degraded ZFS arrays in "grub-probe -t device" resolution.
19420
19421 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
19422 the pool is an array of devices, iterate through it and return the
19423 first device that passes a stat() test (instead of blindly returning
19424 the first one).
19425
f9130836
RM
194262010-09-26 Robert Millan <rmh@gnu.org>
19427
19428 Build fixes for GNU/kFreeBSD.
19429
19430 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
19431 to programs that require ZFS conversion.
19432 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
19433 kernels that don't have FLOPPY_MAJOR.
19434
96510faf
BC
194352010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
19436
19437 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
19438
449333eb
BC
194392010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
19440
19441 Fix grub-emu build.
19442
19443 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
19444 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
19445 mdraid09 and mdraid1x.
19446
e1fd1939
CW
194472010-09-24 Colin Watson <cjwatson@ubuntu.com>
19448
19449 Re-enable grub-extras.
19450
19451 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
19452 avoid confusing Automake. Run autogen only twice, once for the top
19453 level and once for grub-core. Add Makefile.util.def and
19454 Makefile.core.def from extra modules to the appropriate autogen
19455 invocations. If Makefile.common exists in an extra module, include
19456 it in both Makefile.util.am and grub-core/Makefile.core.am;
19457 similarly, include any Makefile.util.common file in Makefile.util.am
19458 and any Makefile.core.common file in grub-core/Makefile.core.am.
19459 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
19460 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
19461 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
19462 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
19463
19464 * gentpl.py (gvar_add): Turn GVARS into a set.
19465 (global_variable_initializers): Sort global variables on output.
19466 (vars_init): New function.
19467 (first_time): Likewise.
19468 (library): Ensure that non-global variable initialisations are
19469 emitted before the first time we emit code for a library block.
19470 Append to variables rather than setting them. Only emit
19471 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
19472 each conditional path.
19473 (program): installdir() emits an Autogen macro, so must be passed to
19474 var_add rather than gvar_add.
19475 (data): Likewise.
19476 (script): Likewise.
19477 (rules): New function, centralising handling for different target
19478 types. Set up Guile association lists for first_time and vars_init,
19479 and send most output to a diversion so that variable initialisations
19480 can be emitted first.
19481 (module_rules): Use new rules function.
19482 (kernel_rules): Likewise.
19483 (image_rules): Likewise.
19484 (library_rules): Likewise.
19485 (program_rules): Likewise.
19486 (script_rules): Likewise.
19487 (data_rules): Likewise.
19488
19489 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
19490
19491 * .bzrignore: Add contrib and grub-core/contrib. Remove
19492 grub-core/Makefile.gcry.am.
19493
1d12cf29
YB
194942010-09-24 Yves Blusseau <blusseau@zetam.org>
19495
19496 * grub-core/lib/LzFind.c: Add missing include.
19497 * grub-core/lib/LzmaEnc.c: Likewise.
19498 * grub-core/script/lexer.c: Likewise.
19499 * grub-core/script/yylex.l: Likewise.
19500 * util/grub-macho2img.c: Likewise.
19501 * util/grub-menulst2cfg.c: Likewise.
19502 * util/grub-mklayout.c: Likewise.
19503 * util/grub-mkpasswd-pbkdf2.c
19504 * util/grub-mkrelpath.c: Likewise.
19505 * util/resolve.c: Likewise.
19506
dd363028
BC
195072010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
19508
19509 * Makefile.util.def (example_unit_test): Add
19510 grub-core/gnulib/libgnu.a.
19511
f5a109e2
GS
195122010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
19513
19514 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
19515
6d0fa83c
VS
195162010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
19517
19518 Support xz compression on yeeloong.
19519
19520 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
19521 * configure.ac: Check for LZMA.
19522 * grub-core/Makefile.core.def (xz_decompress): New target.
19523 (none_decompress): Likewise.
19524 * grub-core/boot/decompressor/minilib.c: New file.
19525 * grub-core/boot/decompressor/none.c: Likewise.
19526 * grub-core/boot/decompressor/xz.c: Likewise.
19527 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
19528 * grub-core/kern/mips/cache_flush.S: Likewise.
19529 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
19530 * grub-core/kern/mips/startup.S: Move first stage to ...
19531 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
19532 nomacro.
19533 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
19534 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
19535 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
19536 Allocate statically.
19537 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
19538 Allocate statically or use scratch. Don't check CRC32.
19539 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
19540 Allocate statically. Don't check CRC32.
19541 * include/grub/decompressor.h: New file.
19542 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
19543 Removed.
19544 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
19545 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
19546 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
19547 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
19548 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
19549 * util/grub-mkimage.c (grub_compression_t): New type.
19550 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
19551 (image_target_desc): New field default_compression.
19552 (image_targets): Adjust yeeloong targets.
19553 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
19554 (compress_kernel): New parameter comp.
19555 (generate_image): Likewise. Handle new compression case.
19556 (options): New option --compression
19557 (help): Likewise.
19558 (main): Handle new option.
19559
1b655af6
GS
195602010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
19561
19562 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
19563
8f03f0b5
CW
195642010-09-22 Colin Watson <cjwatson@ubuntu.com>
19565
19566 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
19567 typo in __i386__ conditional.
19568
7835dfd3
VS
195692010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
19570
19571 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
19572 include.
19573
e255597e
VS
195742010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
19575
6d0fa83c 19576 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
19577
19578 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
19579 new tags as supported.
19580 (acpiv2_size): New function.
19581 (grub_multiboot_get_mbi_size): Take new tags into account.
19582 (grub_multiboot_make_mbi): Add new tags.
19583 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 19584
6cc14051 195852010-09-21 Aleš Nesrsta <starous@volny.cz>
19586
19587 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
19588 Added missing configuration of USB device.
19589
df7769d8
CW
195902010-09-21 Colin Watson <cjwatson@ubuntu.com>
19591
19592 * grub-core/normal/menu_entry.c (run): Make sure we always return
19593 a value.
19594
b031012d
CW
195952010-09-21 Colin Watson <cjwatson@ubuntu.com>
19596
19597 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
19598 NumberOfPages is UINT64 according to the UEFI specification, not
19599 UINTN. Fix printf format.
19600
174de8f3
CW
196012010-09-21 Colin Watson <cjwatson@ubuntu.com>
19602
19603 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
19604 `err' to grub_usb_err_t.
19605 Reported and tested by: KESHAV P.R.
19606
d7dbe923
CW
196072010-09-21 Colin Watson <cjwatson@ubuntu.com>
19608
19609 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
19610 tpart non-const, so that we can assign to it. (Since this is a
19611 typedef, the constness refers to the pointer rather than what it
19612 points to.)
19613
8d5e2af3
CW
196142010-09-21 Colin Watson <cjwatson@ubuntu.com>
19615
19616 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
19617 $(top_srcdir)/grub-core/gnulib as well as
19618 $(top_builddir)/grub-core/gnulib.
19619 Reported by: KESHAV P.R.
19620
5c527783
CW
196212010-09-21 Colin Watson <cjwatson@ubuntu.com>
19622
19623 * util/grub-install.in: Fix the bootloader ID option to be
19624 consistently --bootloader-id, not --bootloader_id.
19625 Reported by: KESHAV P.R.
19626
d309a16e
CW
196272010-09-21 Colin Watson <cjwatson@ubuntu.com>
19628
19629 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
19630 check hash checksum." consistently translatable.
19631
b830cd16
YB
196322010-09-21 Yves Blusseau <blusseau@zetam.org>
19633
19634 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
19635 $(top_builddir).
19636
c4fe27a8
CW
196372010-09-21 Colin Watson <cjwatson@ubuntu.com>
19638
19639 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
19640 (GRUB_MOD_INIT): Register sha1sum command.
19641 (GRUB_MOD_FINI): Unregister sha1sum command.
19642
a4c1d277
YB
196432010-09-21 Yves Blusseau <blusseau@zetam.org>
19644
19645 Keep boot and grub directory names in sync with utils scripts
19646
19647 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
19648 * config.h.in: Add previous macros.
19649 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
19650 * util/grub-install.in: Use $bootdir and $grubdir variables.
19651
4eff79d2
CW
196522010-09-21 Colin Watson <cjwatson@ubuntu.com>
19653
19654 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
19655 convert partition names to disk names if the new `convert' parameter
19656 is set.
19657 (grub_util_biosdisk_get_grub_dev): If opening the disk device
19658 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
19659 disk in its own right. This can happen with Xen disk images.
19660
934d7e44
YB
196612010-09-21 Yves Blusseau <blusseau@zetam.org>
19662
19663 * util/grub-editenv.c: Update strings to avoid warnings when generating
19664 grub.pot file.
19665 * util/grub-setup.c: Likewise.
934d7e44 19666
df3367cc
VS
196672010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
19668
19669 * configure.ac: Change version to 1.99~beta0.
19670
77a94e98
VS
196712010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
19672
19673 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
19674 Add BADRAM.
19675 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
19676 Likewise.
19677 * include/multiboot.h: Resynced with specification.
19678 * include/multiboot2.h: Likewise.
19679
269004c1
CW
196802010-09-21 Colin Watson <cjwatson@ubuntu.com>
19681
19682 Fix po directory handling.
19683
19684 * configure.ac: Create po/Makefile.in rather than po/Makefile.
19685 * grub-core/gnulib/Makefile.am: Import gettext module.
19686 * m4/gnulib-cache.m4: Likewise.
19687 * m4/gnulib-comp.m4: Likewise.
19688 * m4/gettext.m4: New file, from gnulib.
19689 * m4/glibc2.m4: Likewise.
19690 * m4/iconv.m4: Likewise.
19691 * m4/intdiv0.m4: Likewise.
19692 * m4/intl.m4: Likewise.
19693 * m4/intldir.m4: Likewise.
19694 * m4/intlmacosx.m4: Likewise.
19695 * m4/intmax.m4: Likewise.
19696 * m4/inttypes-pri.m4: Likewise.
19697 * m4/lcmessage.m4: Likewise.
19698 * m4/lib-ld.m4: Likewise.
19699 * m4/lib-link.m4: Likewise.
19700 * m4/lib-prefix.m4: Likewise.
19701 * m4/lock.m4: Likewise.
19702 * m4/nls.m4: Likewise.
19703 * m4/po.m4: Likewise.
19704 * m4/printf-posix.m4: Likewise.
19705 * m4/progtest.m4: Likewise.
19706 * m4/threadlib.m4: Likewise.
19707 * m4/uintmax_t.m4: Likewise.
19708 * m4/visibility.m4: Likewise.
19709 * po/Makefile.am: Remove.
19710 * po/Makefile.in.in: New file, from gettext.
19711 ($(DOMAIN).pot-update): Support POTFILES-shell.
19712 * po/Makevars: New file.
19713 * po/POTFILES-shell: Rename to ...
19714 * po/POTFILES-shell.in: ... this. Update.
19715 * po/POTFILES: Rename to ...
19716 * po/POTFILES.in: ... this. Update.
19717 * po/Rules-quot: New file, from gettext.
19718 * po/boldquot.sed: Likewise.
19719 * po/en@boldquot.header: Likewise.
19720 * po/en@quot.header: Likewise.
19721 * po/insert-header.sin: Likewise.
19722 * po/quot.sed: Likewise.
19723 * po/remove-potcdate.sin: Likewise.
19724
3e0fa5d0
VS
197252010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19726
19727 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
19728
ade9bd66
VS
197292010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19730
19731 * util/grub.d/20_linux_xen.in: Use submenus.
19732
fc55cc4c
VS
197332010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19734
19735 Support submenus.
19736
19737 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
19738 parameter submenu. All users updated.
19739 * grub-core/normal/main.c (free_menu): Rename to ...
19740 (grub_normal_free_menu): ... this. Made global.
19741 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
19742 if requested.
19743 * grub-core/normal/menu_entry.c (screen): New field submenu.
19744 (make_screen): Set submenu.
19745 (run): Open new context if requested.
19746 * include/grub/menu.h (grub_menu_entry): New field submenu.
19747 * include/grub/normal.h (grub_normal_free_menu): New proto.
19748
600cedf7
VS
197492010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19750
19751 Menu entries extractor.
19752
19753 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
19754 variants.
19755 (GRUB_MOD_INIT): Register new variants.
19756 (GRUB_MOD_FINI): Unregister new variants.
19757 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
19758 into grub_cmd_legacy_source.
19759 (grub_cmd_legacy_source): Implement extractor variants.
19760 (GRUB_MOD_INIT): Register new variants.
19761 (GRUB_MOD_FINI): Unregister new variants.
19762 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
19763 as an extractor.
19764 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
19765 search as an extractor.
19766 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
19767 test as an extractor.
19768 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
19769 as an extractor.
19770 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
19771 (grub_env_new_context): New function.
19772 (grub_env_context_open): Likewise.
19773 (grub_env_extractor_open): Likewise.
19774 (grub_env_extractor_close): Likewise.
19775 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
19776 grub_extractor_level.
19777 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
19778 * include/grub/env.h (grub_env_extractor_open): New proto.
19779 (grub_env_extractor_close): Likewise.
19780 * include/grub/normal.h (grub_extractor_level): New external variable.
19781
7bda3a87
VS
197822010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19783
19784 Make cutmem accept a region specification.
19785 Suggested by: Samuel Thibault
19786
19787 * grub-core/mmap/mmap.c (parsemem): New function.
19788 (grub_cmd_cutmem): Handle new arguments.
19789
2ea57f88
VS
197902010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19791
19792 New command cutmem.
19793
19794 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
19795 (GRUB_MOD_INIT): Register new command.
19796 (GRUB_MOD_FINI): Unregister new command.
19797
74342e31
VS
197982010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19799
19800 Support some annoying BSD and Minix subpartitions.
19801
19802 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
19803 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
19804 Properly handle concatenation.
19805 * grub-core/kern/device.c (grub_device_iterate): Likewise.
19806 * grub-core/normal/completion.c (iterate_partition): Likewise.
19807 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
19808 contain partition. All users updated.
19809 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
19810 struct.
19811 (grub_openbsdlabel_partition_map): Likewise.
19812 (bsdlabel_partition_map_iterate): Rename to ..
19813 (iterate_real): ... this. New arguments sector, freebsd and pmap.
19814 (bsdlabel_partition_map_iterate): New function.
19815 (netopenbsdlabel_partition_map_iterate): Likewise.
19816 (netbsdlabel_partition_map_iterate): Likewise.
19817 (openbsdlabel_partition_map_iterate): Likewise.
19818 (GRUB_MOD_INIT): Register new partmaps.
19819 (GRUB_MOD_FINI): Unregister new partmaps.
19820 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
19821 (grub_partition_msdos_iterate): ... this. All users updated.
19822 Don't support embedding other than in a minix partition.
19823 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
19824 proto.
19825 * include/grub/partition.h (grub_partition): New field msdostype.
19826 * util/grub-install.in: Handle openbsd and netbsd types being in
19827 part_bsd module.
19828
1e8d555b
VS
198292010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19830
19831 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
19832
19833 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
19834 * grub-core/Makefile.core.def (mdraid): Renamed to ...
19835 (mdraid09): ... this.
19836 (mdraid1x): New module.
19837 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
19838 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
19839
899d8af4
VS
198402010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19841
19842 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
19843 vsprintf.
19844
40901acd
CW
198452010-09-20 Colin Watson <cjwatson@ubuntu.com>
19846
19847 * grub-core/commands/efi/lsefimmap.c: Correct header.
19848 * NEWS: Update.
19849
dfe3b247
CW
198502010-09-20 Colin Watson <cjwatson@ubuntu.com>
19851
19852 * util/grub-editenv.c (argp_parser): Don't pass translated strings
19853 as printf format strings; the translations might contain '%' which
19854 could cause a crash.
19855 (main): Likewise.
19856 * util/grub-fstest.c (argp_parser): Likewise.
19857 * util/grub-setup.c (argp_parser): Likewise.
19858 (main): Likewise.
19859
3286a4b4
VS
198602010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19861
19862 Use argp in grub-fstest.
19863
19864 * util/grub-fstest.c: Don't include getopt.h.
19865 Include argp.h.
19866 (root): New variable.
19867 (args_count): Likewise.
19868 (nparm): Likewise.
19869 (num_disks): Likewise.
19870 (images): Likewise.
19871 (cmd): Likewise.
19872 (debug_str): Likewise.
19873 (args): Likewise.
19874 (options): Transformed to argp.
19875 (usage): Removed.
19876 (main): Split argument parsing into ...
19877 (argp_parser): ... this. Changed to argp format.
19878 (argp): New variable.
19879 (main): Use argp_parse.
19880
3dccbe4b
TG
198812010-09-20 Tristan Gingold <gingold@free.fr>
198822010-09-20 Robert Millan <rmh.grub@aybabtu.com>
198832010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19884
19885 * grub-core/commands/efi/lsefimmap.c: New file.
19886 * grub-core/Makefile.core.def (lsefimmap): New module.
19887 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
19888
38c259a7
VS
198892010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19890
19891 Pause the execution (10s max) if any errors are displayed so the user
19892 has a chance to see them.
19893
19894 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
19895 (grub_print_error): Increment grub_err_printed_errors.
19896 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
19897 execution if any errors were displayed.
19898 (show_menu): Remove old code for pause.
19899 * grub-core/normal/menu_entry.c (run): Likewise.
19900 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
19901 users updated.
19902 (grub_normal_get_char_counter): Likewise.
19903 * include/grub/err.h (grub_err_printed_errors): New external variable.
19904 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
19905
f218b09c
VS
199062010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19907
19908 Support multiboot VBE info.
19909
19910 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
19911 Take VBE info into account.
19912 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
19913 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
19914 Call fill_vbe_info when appropriate.
19915 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
19916 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
19917 as supported.
19918 (grub_multiboot_get_mbi_size): Take new tags into account.
19919 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
19920 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
19921 Call fill_vbe_tag when appropriate.
19922 (grub_multiboot_make_mbi): Properly align tags.
19923 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
19924 function.
19925 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
19926 proto.
19927 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
19928
a9cc5438
VS
199292010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19930
19931 Suport manual terminal geometry specification.
19932
19933 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
19934 Save state in grub_ofconsole_terminfo_output.
19935 (grub_ofconsole_term): Use grub_terminfo_getwh.
19936 (grub_ofconsole_getwh): Removed.
19937 * grub-core/term/serial.c (grub_serial_getwh): Removed.
19938 (grub_serial_term): Use grub_terminfo_getwh.
19939 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
19940 (options): New struct.
19941 (OPTION_*): New enum.
19942 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
19943 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
19944 width and height.
19945 (grub_terminfo_getwh): New proto.
19946 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
19947
1a8fed20
VS
199482010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19949
19950 Handle legacy "terminal" command.
19951
19952 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
19953 and FLAG_TERMINAL.
19954 (legacy_commands): Add terminal and title.
19955 (grub_legacy_parse): Handle terminal. Simplify title handling.
19956
41e9c57d
VS
199572010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19958
19959 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
19960 parameters overflow.
19961
61c874c5
CW
199622010-09-20 Colin Watson <cjwatson@ubuntu.com>
19963
19964 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
19965 widthspec.h.
19966
19967 * docs/grub.texi (Shell-like scripting): Document `!'.
19968 (Network): Simplify using new i386-pc-pxe format. Mention
19969 grub-mknetdir.
19970
19971 * NEWS: Update.
19972
943682b4
CW
199732010-09-20 Colin Watson <cjwatson@ubuntu.com>
19974
19975 * Makefile.am (SUBDIRS): Restore "."; it's important to force
19976 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
19977 when needed.
19978
6d3d698d
CW
199792010-09-20 Colin Watson <cjwatson@ubuntu.com>
19980
19981 * grub-core/commands/efi/lsefisystab.c: Correct header.
19982 * grub-core/commands/efi/lssal.c: Likewise.
19983 * grub-core/commands/testload.c: Likewise.
19984
c982589f
CW
199852010-09-20 Colin Watson <cjwatson@ubuntu.com>
19986
19987 * util/grub-mkrescue.in: Add explicit root argument to --set to
19988 prevent the UUID being interpreted as an argument to --set (matches
19989 previous change to prepare_grub_to_access_device).
19990
a63c31b6
CW
199912010-09-20 Colin Watson <cjwatson@ubuntu.com>
19992
19993 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
19994 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
19995 the verbosity of later #ifs.
19996 (find_partition_start): Define this function on FreeBSD too.
19997 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
19998 function.
19999 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
20000 on FreeBSD.
20001
6439b8ee
YB
200022010-09-20 Yves Blusseau <blusseau@zetam.org>
20003
20004 * util/grub-editenv.c: Use argp instead of getopt.
20005
c5930ec8
YB
200062010-09-20 Yves Blusseau <blusseau@zetam.org>
20007
20008 * util/grub-setup.c: Use argp instead of getopt.
20009
15c69261
YB
200102010-09-20 Yves Blusseau <blusseau@zetam.org>
20011
20012 Use gnulib-tool to create gnulib source files.
20013
20014 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
20015 grub-core/gnulib directories
20016 * .bzignore: Add **/.deps and autogenerated gnulib files
20017 * configure.ac: Assign auxiliary directory to build-aux, add invocation
20018 of gnulib macros, add grub-core/gnulib/Makefile
20019 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
20020 include m4 directory to aclocal.
20021 * Makefile.util.def: Remove direct compilation of gnulib source files
20022 and use the new grub-core/gnulib/libgnu.a.
20023 * build-aux/config.rpath: move config.rpath from top directory to
20024 build-aux
20025 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
20026 in gnulib headers
20027 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
20028 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
20029 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
20030 header.
20031 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
20032 string.
20033
e511c9f5
YB
200342010-09-20 Yves Blusseau <blusseau@zetam.org>
20035
20036 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
20037 grub-core/genmod.sh and grub-core/gensyminfo.sh
20038
c2dede05
BC
200392010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
20040
20041 Add a test for echo command options.
20042
20043 * tests/grub_cmd_echo.in: New test.
20044 * Makefile.util.def: Rules for new test.
20045
c55f5018
SJ
200462010-09-20 Szymon Janc <szymon@janc.net.pl>
20047
20048 Remove crc.mod and move crc command to hashsum.mod.
20049 Remove lib/crc.c - users updated to use gcrypt implementation.
20050
20051 * grub-core/commands/crc.c: Removed.
20052 * grub-core/Makefile.core.def (crc): Module removed.
20053 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
20054 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
20055 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
20056 * grub-core/lib/crc.c: Removed.
20057 * include/grub/lib/crc.h: Removed.
20058 * Makefile.util.def (crc): Remove lib/crc.c
20059 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
20060 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
20061 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
20062 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
20063 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
20064 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
20065
e0337366
VS
200662010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20067
20068 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
20069
742f9232
VS
200702010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
20071
20072 Split config.h for util and core.
20073
20074 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
20075 (ADDR32): Likewise.
20076 (DATA32): Likewise.
20077 (BSS_START_SYMBOL): Likewise.
20078 (END_SYMBOL): Likewise.
20079 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
20080 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
20081 * config.h.in: New file.
20082 * configure.ac: Use config-util.h as config define file.
20083 Rename MACHINE into GRUB_MACHINE. All users updated.
20084 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
20085 updated.
20086 (NESTED_FUNC_ATTR): Likewise.
20087 Substitue new variables.
20088 (COND_HAVE_ASM_USCORE): New conditional.
20089 * grub-core/Makefile.am (ASM_PREFIX): New variable.
20090 (kernel_syms.lst): Use ASM_PREFIX.
20091 * grub-core/kern/emu/console.c: Include config-util.h.
20092 * grub-core/kern/emu/misc.c: Likewise.
20093 * grub-core/kern/emu/mm.c: Likewise.
20094 * include/grub/emu/misc.h: Likewise.
20095 * include/grub/libgcc.h: Likewise.
20096
39feb0e8
VS
200972010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
20098
20099 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
20100 constants usage.
20101 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
20102 Fix GRUB_TERM_KEY_* constants usage.
20103 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
20104
9af6dac3
VS
201052010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
20106
20107 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
20108 print pointer.
20109 * grub-core/bus/usb/uhci.c: Remove empty define.
20110 (grub_uhci_check_transfer): Add missing cast.
20111 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
20112 print pointer.
20113 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
20114 PRIuGRUB_SIZE.
20115 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
20116
d6d94820
VS
201172010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
20118
20119 * grub-core/Makefile.core.def (legacycfg): Add
20120 lib/i386/pc/vesa_modes_table.c on emu.
20121
3572f2b6
BC
201222010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
20123
20124 Reduce number of temporary files generated by build system.
20125
20126 * grub-core/gencmdlist.sh: Removed.
20127 * grub-core/genfslist.sh: Removed.
20128 * grub-core/genhandlerlist.sh: Removed.
20129 * grub-core/genmodsrc.sh: Removed.
20130 * grub-core/genpartmaplist.sh: Removed.
20131 * grub-core/genparttoollist.sh: Removed.
20132 * grub-core/gentermiinallist.sh: Removed.
20133 * grub-core/genvideolist.sh: Removed.
20134
20135 * grub-core/genmod.sh.in: New file.
20136 * grub-core/gensyminfo.sh.in: New file.
20137
20138 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
20139 * conf/Makefile.extra-dist: Update with new files.
20140 * gentpl.py: Remove rules related to unnecessary temporary files.
20141 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
20142 and und-* files.
20143 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
20144 genmod.sh scripts.
20145 * grub-core/bus/usb/uhci.c: Remove empty #define.
20146 * grub-core/genmoddep.awk: Updated with new syminfo format.
20147 * util/bash-completion.d/Makefile.am: Add config.log to
20148 CLEANFILES.
20149
c836b030
YB
201502010-09-19 Yves Blusseau <blusseau@zetam.org>
20151
20152 * Makefile.util.def: Add forgotten $(LIBINTL) library.
20153
2f4e8053
BC
201542010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
20155
20156 * util/grub-mkconfig.in: Check the config script for syntax errors
20157 before saving.
20158
75831c34
CW
201592010-09-19 Colin Watson <cjwatson@ubuntu.com>
201602010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
20161
20162 * Makefile.util.def (grub-install): Use util/grub-install.in on all
20163 platforms.
20164 * util/grub-install.in: Add EFI and IEEE1275 support.
20165 * util/i386/efi/grub-install.in: Removed.
20166 * util/ieee1275/grub-install.in: Likewise.
20167
eaf41b25
VS
201682010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
20169
20170 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
20171 (grub_cmd_cmosclean): Likewise.
20172 (GRUB_MOD_INIT): Register command cmosclean.
20173 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
20174 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
20175
1a9130dd
CPE
201762010-09-18 Carles Pina i Estany <carles@pina.cat>
201772010-09-18 Aleš Nesrsta <starous@volny.cz>
201782010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
20179
20180 Add keyboard layouts support.
20181
20182 * Makefile.util.def (grub-mklayout): New file.
20183 (grub-kbdcomp): New script.
20184 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
20185 Add keyboard_layouts.h.
20186 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
20187 commands/boot.c on yeeloong.
20188 (keylayouts): New module.
20189 * grub-core/bus/usb/ohci.c
20190 * grub-core/bus/usb/uhci.c
20191 * grub-core/bus/usb/usbhub.c (rescan): New variable.
20192 (grub_usb_add_hub): Poll interrupt pipe for device handling.
20193 (attach_root_port): Likewise.
20194 (poll_nonroot_hub): Likewise.
20195 (grub_usb_poll_devices): Likewise.
20196 (detach_device): Close transfer.
20197 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
20198 function.
20199 (grub_usb_bulk_setup_readwrite): Likewise.
20200 (grub_usb_bulk_finish_readwrite): Likewise.
20201 * grub-core/commands/keylayouts.c: New file.
20202 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
20203 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
20204 aliases.
20205 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
20206 support scancode 2.
20207 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
20208 * include/grub/keyboard_layouts.h: New file.
20209 * util/grub-mklayout.c: New file.
20210 * util/grub-kbdcomp.in: Likewise.
20211
a1d84a5e
VS
202122010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
20213
20214 Unify memory types.
20215
20216 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
20217 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
20218 types.
20219 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
20220 (grub_upper_mem): Likewise.
20221 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
20222 * include/grub/memory.h (grub_memory_type_t): New enum.
20223 All users updated.
20224
9696382e
VS
202252010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
20226
20227 * grub-core/Makefile.core.def (lsapm): New module.
20228 * grub-core/commands/i386/pc/lsapm.c: New file.
20229 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
20230 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
20231 Likewise.
20232 * include/grub/i386/pc/apm.h: New file.
20233 * include/multiboot.h (multiboot_apm_info): New struct.
20234
202352010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
20236
20237 GRUB-legacy configuration file support.
20238
20239 * Makefile.util.def (grub-menulst2cfg): New util.
20240 * docs/man/grub-menulst2cfg.h2m: New file.
20241 * grub-core/Makefile.core.def (legacycfg): New module.
20242 * grub-core/commands/legacycfg.c: New file.
20243 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
20244 (grub_normal_add_menu_entry): ... this.
20245 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
20246 (grub_normal_set_password): ...this.
20247 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
20248 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
20249 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
20250 * grub-core/lib/legacy_parse.c: New file.
20251 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
20252 * include/grub/i386/pc/vesa_modes_table.h: New file.
20253 * include/grub/legacy_parse.h: Likewise.
20254 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
20255 * util/grub-menulst2cfg.c: New file.
20256
bf8d1338
CW
202572010-09-17 Colin Watson <cjwatson@ubuntu.com>
20258
20259 * grub-core/kern/emu/hostdisk.c
20260 (convert_system_partition_to_system_disk): Initialise node.
20261
9c0bad2e
CW
202622010-09-17 Colin Watson <cjwatson@ubuntu.com>
20263
20264 * grub-core/kern/emu/hostdisk.c
20265 (convert_system_partition_to_system_disk): Fix devmapper memory pool
20266 leak.
20267 Reported and based on patch by: Modestas Vainius.
20268
a939d135
CW
202692010-09-17 Colin Watson <cjwatson@ubuntu.com>
20270
20271 Fix DM-RAID probing with recent versions of device-mapper udev
20272 rules.
20273
20274 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
20275 canonicalise device paths under /dev/mapper/.
20276 (convert_system_partition_to_system_disk): Compare the
20277 uncanonicalised path to /dev/mapper/ rather than the canonicalised
20278 path, since device nodes under /dev/mapper/ are often symlinks.
20279
0f7ee3c9
YB
202802010-09-17 Yves Blusseau <blusseau@zetam.org>
20281
20282 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
20283
10854d0d
YB
202842010-09-16 Yves Blusseau <blusseau@zetam.org>
20285
20286 * configure.ac: Avoid some annoying error messages if freetype-config
20287 program is not found.
20288
108538d8
CW
202892010-09-16 Colin Watson <cjwatson@ubuntu.com>
20290
20291 Support RAID on virtio devices, and others.
20292
20293 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
20294 Rename to ...
20295 [__MINGW32__] (grub_find_device): ... this.
20296 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
20297 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
20298 reasonable default if dir is NULL.
20299 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
20300 ...
20301 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
20302 (grub_guess_root_device): Update callers.
20303 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
20304
20305 * util/raid.c (grub_util_getdiskname): Remove.
20306 (grub_util_raid_getmembers): Use grub_find_device rather than
20307 grub_util_getdiskname.
20308
e5bfc130
CW
203092010-09-16 Colin Watson <cjwatson@ubuntu.com>
20310
20311 * docs/grub.texi (serial): Remove obsolete comment about GRUB
20312 needing to be compiled with serial support.
20313 (ls): Indicate that multiple files are accepted.
20314 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
20315 indicate that multiple files are accepted.
20316
be458ae2
CW
203172010-09-16 Colin Watson <cjwatson@ubuntu.com>
20318
20319 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
20320 libgrub_a_init.c, and util/bash-completion.d/grub.
20321
cb731b5e
VS
203222010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
20323
20324 * util/grub-setup.c (setup): Fix incorrect container semantics.
20325
35139e8a
VS
203262010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
20327
20328 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
20329 misusage.
20330 Reported by: J. Nick Terry
20331
e50fca4a
VS
203322010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
20333
20334 Move embedding routines to partmap sources files.
20335
20336 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
20337 [GRUB_UTIL]: New variable.
20338 (gpt_partition_map_iterate): Set part.parent.
20339 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
20340 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
20341 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
20342 New function.
20343 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
20344 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
20345 (grub_partition_map) [GRUB_UTIL]: New field embed.
20346 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
20347 (setup): Use ->embed.
20348
f00478b7
VS
203492010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
20350
20351 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
20352 function.
20353 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
20354 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
20355
2b94e3ff
YB
203562010-09-15 Yves Blusseau <blusseau@zetam.org>
20357
20358 Add function to get completions from usage.
20359
20360 * util/bash-completion.d/grub-completion.bash.in: Add function to get
20361 completions from usage. Use LC_ALL=C to get options properly.
20362
2e04a006
VS
203632010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
20364
20365 * grub-core/gnulib/basename-lgpl.c: Imported.
20366 * grub-core/gnulib/basename.c: Likewise.
20367 * grub-core/gnulib/dirname-lgpl.c: Likewise.
20368 * grub-core/gnulib/dirname.c: Likewise.
20369 * grub-core/gnulib/dirname.h: Likewise.
20370 * grub-core/gnulib/stripslash.c: Likewise.
20371
5dcdf93a
VS
203722010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
20373
20374 * grub-core/gnulib/error.c: Resynced.
20375 * grub-core/gnulib/getopt.c: Likewise.
20376 * grub-core/gnulib/getopt_int.h: Likewise.
20377 * grub-core/gnulib/regex.h: Likewise.
20378 * grub-core/gnulib/regex_internal.c: Likewise.
20379 * grub-core/gnulib/regex_internal.h: Likewise.
20380
014f47b7
SJ
203812010-09-15 Szymon Janc <szymon@janc.net.pl>
20382
20383 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
20384 CRC calculations and validity checks.
20385 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
20386 calculations.
20387
dd521a4a
SJ
203882010-09-15 Szymon Janc <szymon@janc.net.pl>
20389
20390 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
20391
79c4eeb9
VS
203922010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20393
20394 Fix incorrect echo options handling.
20395 Reported by: Yves Blusseau.
20396
20397 * include/grub/command.h (grub_command_flags_t): New flags
20398 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
20399 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
20400 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
20401
ed80f7d5
VS
204022010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20403
20404 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
20405 users updated.
20406 (GRUB_COMMAND_FLAG_MENU): Likewise.
20407 (GRUB_COMMAND_FLAG_BOTH): Likewise.
20408 (GRUB_COMMAND_FLAG_TITLE): Removed.
20409 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
20410 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
20411 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
20412 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
20413 (grub_command_flags_t): New enum. All users updated.
20414
5fe7620a
SG
204152010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
20416
20417 Fix solaris compilation.
20418
20419 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
20420 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
20421 (grub-emu-list): Likewise.
20422
545b752f
VS
204232010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20424
20425 Remove deprecated root command.
20426
20427 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
20428 updated.
20429
6c1a338c
VS
204302010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20431
20432 * util/i386/pc/grub-setup.c: Merge this ...
20433 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
20434 * util/grub-setup.c: ... into this.
20435 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
20436 New struct.
20437
204382010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20439
20440 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
20441 possible.
20442
d2ea4551
VS
204432010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20444
20445 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
20446 allocate p.
20447
3c3b5040
VS
204482010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20449
20450 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
20451 explicit root argument to set to prevent UUID to be interpreted as
20452 argument to set.
20453
b71c3fae
VS
204542010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20455
20456 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
20457
275433e6
VS
204582010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20459
20460 Don't export grub_gate_a20.
20461
20462 * grub-core/kern/i386/pc/init.c: Remove leftovers.
20463 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
20464 to ...
20465 (grub_gate_a20): ... this. All users updated.
20466 * include/grub/i386/pc/init.h: Removed. All users updated.
20467
a5dbb1f1
VS
204682010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20469
20470 Create euro.pf2 which supports most European languages.
20471
20472 * Makefile.am (grubdata_DATA): Add euro.pf2.
20473 (euro.pf2): New target.
20474 (CLEANFILES): Add euro.pf2.
20475
62a747cb
VS
204762010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20477
20478 * configure.ac: Disable emu-usb by default to prevent inadvertent
20479 device takeover.
20480
608e43b1
VS
204812010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20482
20483 Disable usbserial on grub-emu since our libusb code isn't good enough
20484 yet.
20485
20486 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
20487 (usbserial_pl2303): Likewise.
20488 (usbserial_ftdi): Likewise.
20489
94564f81
VS
204902010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20491
20492 * include/grub/disk.h (grub_disk): Remove has_partitions.
20493 All users updated.
20494 * disk/loopback.c (grub_loopback): Remove has_partitions.
20495 All users updated.
20496 (options): Remove partitions. All users updated.
20497 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
20498 * util/i386/pc/grub-setup.c (setup): copy partition table only when
20499 actual partition table is found.
20500
3352800b
VS
205012010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20502
20503 Remove readability checks (too many false negatives).
20504
20505 * util/grub-install.in: Remove readability checks.
20506 * util/grub-mkconfig.in: Likewise.
20507 * util/grub.d/10_hurd.in: Likewise.
20508 * util/grub.d/10_kfreebsd.in: Likewise.
20509 * util/grub.d/10_linux.in: Likewise.
20510 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
20511 way.
20512
2419f17a
VS
205132010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20514
20515 Enable acpi shutdown on all ACPI platforms.
20516
20517 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
20518 on coreboo, multiboot and EFI.
20519 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
20520 (grub_acpi_halt): Likewise.
20521 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
20522 (grub_cmd_halt): Don't call grub_acpi_halt directly.
20523 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
20524 * grub-core/lib/i386/halt.c (grub_halt)
20525 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
20526
0575c7c3
VS
205272010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20528
20529 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
20530 context.
20531
54ac3cd1
VS
205322010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20533
20534 * grub-core/video/efi_gop.c: Fix over-80-chars line.
20535 * grub-core/video/efi_uga.c: Likewise.
20536
b2a30ac5
VS
205372010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20538
20539 Filter devaliases and never open same device twice.
20540
20541 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
20542 (last_ihandle): Likewise.
20543 (ofdisk_hash_ent): New member shortest.
20544 (ofdisk_hash_add): Add canonical path too.
20545 (scan): New function.
20546 (grub_ofdisk_iterate): Iterate over hashed entries.
20547 (compute_dev_path): Don't add :0.
20548 (grub_ofdisk_open): Don't really open the disk.
20549 (grub_ofdisk_close): Avoid closing unrelated disk.
20550 (grub_ofdisk_read): Implement reopen logic.
20551 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
20552 New function.
20553 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
20554 New proto.
20555
fb53b340
VS
205562010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20557
20558 Fix sparc64.
20559
20560 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
20561 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
20562 right address. Add sparc64_ieee1275_ldflags.
20563 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
20564 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
20565 to grub_host_to_target_addr
20566 (load_image): Likewise.
20567
f452b040
VS
205682010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20569
20570 * grub-core/normal/completion.c (complete_file): Handle device
20571 containing slash.
20572 Fix based on patch by Doug Nazar.
20573
9b5b2541
VS
205742010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20575
20576 grub-mknetdir script.
20577
20578 * Makefile.util.def (grub-mknetdir): New module.
20579 * tests/util/grub-shell.in: Support boot=net
20580 * util/grub-mknetdir.in: New file.
20581
9d2be652
VS
205822010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20583
20584 videoinfo on non-vbe.
20585
20586 * grub-core/Makefile.core.def (vbeinfo): Removed.
20587 (vbetest): Removed.
20588 (videoinfo): New module.
20589 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
20590 * grub-core/commands/i386/pc/vbetest.c: Removed.
20591 * grub-core/commands/videoinfo.c: New file.
20592 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
20593 specification.
20594 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
20595 as vbetest.
20596 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
20597 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
20598 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
20599 mode_number. New parameter mode. All users updated.
20600 (grub_video_gop_iterate): New function.
20601 (grub_video_efi_gop): New member iterate.
20602 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
20603 (grub_vbe_set_video_mode): Remove setting useless fields.
20604 (vbe2videoinfo): New function.
20605 (grub_video_vbe_iterate): Likewise.
20606 (grub_video_vbe_setup): Use vbe2videoinfo.
20607 (grub_video_vbe_print_adapter_specific_info): New function.
20608 (grub_video_vbe_adapter): New fields iterate and
20609 print_adapter_specific_info.
20610 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
20611 All users updated.
20612 (grub_video_mode_info): New field mode_number.
20613 (grub_video_adapter): New fields iterate and
20614 print_adapter_specific_info.
20615
179503f5
TG
206162010-09-13 Tristan Gingold <gingold@free.fr>
206172010-09-13 Robert Millan <rmh.grub@aybabtu.com>
206182010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20619
20620 * grub-core/commands/efi/lsefisystab.c: New file.
20621 * grub-core/commands/efi/lssal.c: Likewise.
20622 * grub-core/Makefile.core.def (lsacpi): New module.
20623 (lsefisystab): Likewise.
20624 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
20625 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
20626 (grub_efi_sal_system_table): New struct.
20627 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
20628 (grub_efi_sal_system_table_memory_descriptor): Likewise.
20629 (grub_efi_sal_system_table_platform_features): Likewise.
20630 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
20631 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
20632 (grub_efi_sal_system_table_ap_wakeup): Likewise.
20633 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
20634
cf9827de
VS
206352010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20636
20637 Support explicit user claim that a device is BIOS-visible.
20638
20639 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
20640 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
20641 * grub-core/kern/emu/hostdisk.c
20642 (convert_system_partition_to_system_disk): Support mdX.
20643 (find_system_device): New parameter add. All users updated.
20644 (grub_util_biosdisk_is_present): New function.
20645 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
20646 proto.
20647
53f0eb1f
VS
206482010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20649
20650 Search hints support.
20651
20652 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
20653 All users updated.
20654
b23ffd70
YB
206552010-09-13 Yves Blusseau <blusseau@zetam.org>
20656
20657 Bash completion script for util commands
20658
20659 * Makefile.am: Add util/bash-completion.d directory
20660 * configure.ac: Likewise.
20661 * util/bash-completion.d/Makefile.am: New file.
20662 * util/bash-completion.d/grub-completion.bash.in: Likewise.
20663
d547dc28
VS
206642010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
20665
20666 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
20667 (print_backlog): set backlog_ucs4 and backlog_glyphs.
20668 Reported by: Yves Blusseau.
20669
2fc8ccb9
VS
206702010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
20671
20672 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
20673 partition size and offset.
20674
d8a84076
VS
206752010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
20676
20677 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
20678
84fb3b3d
VS
206792010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
20680
20681 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
20682
768ec2e2
VS
206832010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
20684
20685 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
20686 (grub_xvasprintf): Likewise.
20687
4870900f
VS
206882010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
20689
20690 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
20691
faca6bec
VS
206922010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
20693
20694 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
20695 args ending with NULL.
20696
206972010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
20698
20699 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
20700 pointer.
20701
3c70f225
SJ
207022010-09-11 Szymon Janc <szymon@janc.net.pl>
20703
20704 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
20705
4df7996d
VS
207062010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
20707
20708 Shutdown using ACPI.
20709
20710 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
20711 * grub-core/commands/acpihalt.c: New file.
20712 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
20713 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
20714 (grub_acpi_halt): New proto.
20715 (GRUB_ACPI_SLP_EN): New const.
20716 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
20717 (GRUB_ACPI_OPCODE_*): New enum.
20718 (GRUB_ACPI_EXTOPCODE_*): Likewise.
20719
126b4c32
TG
207202010-09-11 Tristan Gingold <gingold@free.fr>
207212010-09-11 Robert Millan <rmh.grub@aybabtu.com>
207222010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
20723
20724 * commands/lsacpi.c: New file.
20725 * grub-core/Makefile.core.def (lsacpi): New module.
20726 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
20727 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
20728 (grub_acpi_madt_entry_header): New struct.
20729 (grub_acpi_madt): Likewise.
20730 (grub_acpi_madt_entry_interrupt_override): Likewise.
20731 (grub_acpi_madt_entry_sapic): Likewise.
20732 (grub_acpi_madt_entry_lsapic): Likewise.
20733 (grub_acpi_madt_entry_platform_int_source): Likewise.
20734 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
20735 (PRIuGRUB_UINT32_T): Likewise.
20736 (PRIxGRUB_UINT64_T): Likewise.
20737
1aa4fe88
VS
207382010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
20739
20740 Implement loading palette on ieee1275_fb.
20741
20742 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
20743 (have_setcolors): Likewise.
20744 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
20745 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
20746 (grub_video_ieee1275_set_palette): Implement.
20747
25761e13
VS
207482010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
207492010-09-11 Colin Watson <cjwatson@ubuntu.com>
20750
20751 * util/grub-install.in (grub_partition): New variable.
20752 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
20753 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
20754 Fixes a bug reported by Yves Blusseau.
20755
050abaea
VS
207562010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
20757
20758 Fix emu on mipsel.
20759
20760 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
20761 =grub_cpu_flush_cache on all mips and not only yeeloong.
20762 * configure.ac (COND_mips): New conditional.
20763 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
20764 platforms.
20765 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
20766 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
20767 [GRUB_LINKER_HAVE_INIT]: New function.
20768 (grub_emu_post_init): Likewise.
20769 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
20770 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
20771 * include/grub/cache.h (_mips): Include mips/cache.h.
20772 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
20773 LVM and RAID prototypes.
20774 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
20775 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
20776 function.
20777
5ed7d816
CW
207782010-09-10 Colin Watson <cjwatson@ubuntu.com>
20779
20780 * util/grub-install.in: Don't try to verify core.img until after
20781 running grub-mkimage to create it.
20782
90367e04
RM
207832010-09-10 Robert Millan <rmh@gnu.org>
20784
20785 * util/grub.d/10_hurd.in: Add misc readability checks.
20786 * util/grub.d/10_kfreebsd.in: Likewise.
20787 * util/grub.d/10_linux.in: Likewise.
20788
c452fa66
CW
207892010-09-10 Colin Watson <cjwatson@ubuntu.com>
20790
20791 * util/grub-install.in: ${imgext} won't be defined here until the
20792 install branch is merged. For the meantime, only verify core.img on
20793 i386-pc and sparc64-ieee1275 platforms.
20794
c38fe9f4
RM
207952010-09-10 Robert Millan <rmh@gnu.org>
20796
20797 Solaris support in grub_find_zpool_from_dir(). Thanks
20798 Seth Goldberg for referring to getextmntent() facility.
20799
20800 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
20801 `sys/mkdev.h'.
20802 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
20803 `<sys/mnttab.h>'.
20804 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
20805 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
20806 method for finding zpool name.
20807
905f7773
CW
208082010-09-10 Colin Watson <cjwatson@ubuntu.com>
20809
20810 grub-fstest needs the host and hostfs modules while other utilities
20811 actively require those modules to be absent, so grub-fstest needs
20812 its own initialisation and finalisation code.
20813
20814 * Makefile.am (grub_fstest.pp): New target.
20815 (grub_fstest_init.lst): Likewise.
20816 (grub_fstest_init.c): Likewise.
20817 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
20818
fb90b546
RM
208192010-09-10 Robert Millan <rmh@gnu.org>
20820
20821 * configure.ac: Check for `struct statfs.f_fstypename' and
20822 `struct statfs.f_mntfromname'.
20823
20824 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
20825 kFreeBSD-specific code.
20826
66d4bea5
RM
208272010-09-10 Robert Millan <rmh@gnu.org>
20828
20829 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
20830 on ZFS. Now non-main filesystems are supported as / too.
20831
b6a690ee
CW
208322010-09-09 Colin Watson <cjwatson@ubuntu.com>
20833
20834 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
20835 and grub-core/disk/host.c to ...
20836 (grub-fstest): ... here. Having the host disk implementation
20837 present confuses grub-probe and other utility programs.
20838
20839 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
20840 when writing to a file, not when writing to stdout.
20841
8901b00c 208422010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
20843
20844 * tests/partmap_test.in: New test for partitions.
20845 * Makefile.util.def: Rules for new test.
20846
7bf45fdd
RM
208472010-09-09 Robert Millan <rmh@gnu.org>
20848
20849 * util/grub-probe.c (probe): Fix a pair of unhandled error
20850 conditions.
20851
4dfbc574
RM
208522010-09-09 Robert Millan <rmh@gnu.org>
20853
20854 Basic Btrfs support (detection and UUID).
20855
20856 * grub-core/fs/btrfs.c: New file.
20857 * Makefile.util.def (library): Register btrfs.c.
20858 * grub-core/Makefile.core.def: Likewise.
20859
6b8e78ae
RM
208602010-09-08 Robert Millan <rmh@gnu.org>
20861
20862 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
20863 with (optional) parameters to specify device and relative path.
20864 * util/grub-install.in: Use is_path_readable_by_grub() to
20865 verify readability of a few critical files.
20866 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
20867 verify readability of grub.cfg.new.
20868
27f21a8b
VS
208692010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
20870
20871 Split minix.mod into minix.mod and minix2.mod.
20872
20873 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
20874 * grub-core/Makefile.core.def (minix2): New module.
20875 * grub-core/fs/minix.c: Use definitions instead of runtime version
20876 checking.
20877 * grub-core/fs/minix2.c: New file.
20878
c0e53ea5
YB
208792010-09-08 Yves Blusseau <blusseau@zetam.org>
20880
20881 Add new --boot-directory option to replace --root-directory
20882
20883 * util/grub-install.in: Add new --boot-directory option
20884 * util/grub-reboot.in: Likewise.
20885 * util/grub-set-default.in: Likewise.
20886
b9fe6ea2
YB
208872010-09-08 Yves Blusseau <blusseau@zetam.org>
20888
20889 * util/grub-mkconfig.in: Use new variable.
20890
d87aedff
YB
208912010-09-08 Yves Blusseau <blusseau@zetam.org>
20892
20893 * configure.ac: Define some useful variables.
20894
e55e8495
VS
208952010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
20896
20897 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
20898 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
20899 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
20900 Use terminfo and don't use cursor-on/cursor-off unless it's known
20901 to work.
20902 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
20903 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
20904
6fa6d675
CW
209052010-09-08 Colin Watson <cjwatson@ubuntu.com>
20906
20907 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
20908 starts with "(,", fill the drive containing the loaded image in
20909 between those two characters, but expect that a full partition
20910 specification including partition map names will follow.
20911
92f2aef0
RM
209122010-09-08 Robert Millan <rmh@gnu.org>
20913
20914 * configure.ac: Remove `--enable-grub-fstest' option.
20915 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
20916
20917 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
20918 `grub-fstest' instead of `grub-probe' for readability verification.
20919 * util/grub-probe.c (probe): Remove readability verification kludge.
20920
99fd620d
RM
209212010-09-08 Robert Millan <rmh@gnu.org>
20922
20923 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
20924 initializing `GRUB_FS'.
20925
058e30ac 209262010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
20927
20928 Not command (!) support to GRUB script.
20929
20930 * tests/grub_script_not.in: New test.
20931 * Makefile.util.def: Rules for new test.
20932
20933 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
20934 ! command as a special case.
20935 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
20936
b61d05ed 209372010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
20938
058e30ac 20939 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
20940 grub_free.
b61d05ed 20941
4d69c786 209422010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
20943
20944 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
20945
aa3119c4 209462010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
20947
20948 * docs/grub.texi (Shell-like scripting): Documentation for break,
20949 continue, shift and return commands.
20950
db0f7e3d
VS
209512010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
20952
20953 Rename CD-ROM to cd on BIOS.
20954
20955 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
20956 "cd".
20957 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
20958
88b87c93
VS
209592010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20960
20961 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
20962 * util/grub-probe.c (main): Likewise.
20963 * util/i386/pc/grub-setup.c (main): Likewise.
20964 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
20965 Reported and debugged by: alexxy
20966
294f324d
VS
209672010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20968
20969 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
20970 diagnostic info.
20971
d7ee3441
JS
209722010-09-05 Jo Shields <directhex@apebox.org>
20973
20974 * util/grub.d/30_os-prober.in: Add missing classes.
20975
d7e06c1f
VS
209762010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20977
20978 * docs/grub.texi (Theme file format): Document new position format.
20979
fc157e53
VS
209802010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20981
20982 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
20983 a table. Use @code instead of @verbatim.
20984
506e9a1c
CB
209852010-09-05 Colin D Bennett <colin@gibibit.com>
20986
20987 Gfxmenu documentation.
20988
20989 * docs/grub.texi (Theme file format): New chapter.
20990
f0aff67c
SJ
209912010-09-05 Szymon Janc <szymon@janc.net.pl>
20992
20993 * grub-core/Makefile.core.def (xzio): New module.
20994 * grub-core/io/xzio.c: New file.
20995 * grub-core/lib/xzembed/xz.h: New file (from xembed).
20996 * grub-core/lib/xzembed/xz_config.h: Likewise.
20997 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
20998 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
20999 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
21000 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
21001 * grub-core/lib/xzembed/xz_private.h: Likewise.
21002 * grub-core/lib/xzembed/xz_stream.h: Likewise.
21003 * include/grub/file.h (grub_file_filter_id): New compression filter
21004 GRUB_FILE_FILTER_XZIO.
21005
82a85062
VS
210062010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
21007
21008 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
21009 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
21010 size.
21011
3579415d
VS
210122010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
21013
21014 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
21015 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
21016
5124ae6d
VS
210172010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
21018
21019 Uncompressed checksum support.
21020
21021 * grub-core/commands/hashsum.c (options): Add option --uncompress.
21022 (check_list): New parameter uncompress.
21023 (grub_cmd_hashsum): Handle --uncompress.
21024
9aadb3d1
VS
210252010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
21026
21027 Reintroduce testload.
21028
21029 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
21030 from here ...
21031 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
21032 (GRUB_MOD_INIT): New function.
21033 (GRUB_MOD_FINI): Likewise.
21034 * grub-core/Makefile.core.def (testload): New module.
21035
a17792c3
SJ
210362010-09-05 Szymon Janc <szymon@janc.net.pl>
21037
21038 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
21039 (uint8_t): New type.
21040 (uint16_t): Likewise.
21041 (uint32_t): Likewise.
21042 (uint64_t): Likewise.
21043
b81e40a3
SJ
210442010-09-05 Szymon Janc <szymon@janc.net.pl>
21045
21046 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
21047
fc2ef117
VS
210482010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
21049
21050 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
21051 Made static.
21052 (grub_gzfile_open): Removed. All users updated.
21053 (GRUB_MOD_INIT): New function.
21054 (GRUB_MOD_FINI): Likewise.
21055 * grub-core/kern/file.c (grub_file_filters_all): New variable.
21056 (grub_file_filters_enabled): Likewise.
21057 (grub_file_open): Handle filters.
21058 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
21059 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
21060 * include/grub/file.h (grub_file_filter_id_t): New type.
21061 (grub_file_filter_t): Likewise.
21062 (grub_file_filters_all): New extern variable.
21063 (grub_file_filters_enabled): Likewise.
21064 (grub_file_filter_register): New inline function.
21065 (grub_file_filter_unregister): Likewise.
21066 (grub_file_filter_disable): Likewise.
21067 (grub_file_filter_disable_compression): Likewise.
21068 * include/grub/gzio.h: Removed.
21069
35ee15e0
BC
210702010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
21071
21072 Filename expansion support for wildcards in GRUB script.
21073
21074 * tests/grub_script_expansion.in: New test.
21075 * Makefile.util.def: Rule for new test.
21076
21077 * grub-core/commands/wildcard.c: New file, implements filename
21078 expansion support for GRUB script.
21079 * grub-core/Makefile.core.def: Rule update for regexp.mod.
21080 * grub-core/script/argv.c: Cosmetic changes.
21081 * grub-core/script/execute.c (grub_script_arglist_to_argv):
21082 Refactored to perform wildcard expansion on arguments.
21083 * include/grub/script_sh.h (grub_script_wildcard_translator): New
21084 struct.
21085
21086 * tests/util/grub-shell.in: Fix quoting for read input.
21087
5f0c4aca
BC
210882010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
21089
21090 Support for updating environment variables with matched substrings
21091 of regexp.
21092
21093 * tests/grub_cmd_regexp.in: New test.
21094 * Makefile.util.def: Rule for new test.
21095
21096 * grub-core/commands/regexp.c: New option -s to update environment
21097 variables with regexp matches.
21098
3759a35f
SJ
210992010-09-04 Szymon Janc <szymon@janc.net.pl>
21100
21101 * include/grub/file.h (grub_file): New member not_easly_seekable.
21102 (grub_file_seekable): New inline function.
21103 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
21104 easily seekable.
21105 (grub_gzio_open): Set not_easly_seekable.
21106 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
21107 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
21108
ed8c6dec
BC
211092010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
21110
21111 Support for options to appear multiple times on cmdline.
21112
21113 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
21114 * grub-core/commands/extcmd.c: Support for repeatable option.
21115 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
21116 repeatable option support.
21117
21118 Refactor menuentry into a regular command.
21119
21120 * grub-core/commands/menuentry.c: New file, menuentry command
21121 implementation.
21122 * grub-core/Makefile.core.def: Rule update for normal.mod.
21123 * grub-core/normal/main.c: Moved menuentry creation to
21124 grub-core/commands/menuentry.c.
21125 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
21126 (grub_menu_execute_entry_real): Removed.
21127 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
21128 function.
21129 (grub_script_execute_menuentry): Removed.
21130 * grub-core/script/parser.y (menuentry): Removed.
21131 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
21132 * grub-core/script/yylex.l (menuentry): Removed.
21133 * include/grub/menu.h (grub_menu_init): New prototype.
21134 (grub_menu_fini): New prototype.
21135 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
21136 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
21137 (grub_script_execute_sourcecode): New prototype.
21138
dacd0cf0
BC
211392010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
21140
21141 "return" command for GRUB script functions.
21142
21143 * tests/grub_script_return.in: New test.
21144 * Makefile.util.def: Rules for new test.
21145
21146 * grub-core/script/execute.c (grub_script_return): New function.
21147 * grub-core/script/main.c: Register/unregister return commaond.
21148 * include/grub/script_sh.h (grub_script_return): New prototype.
21149
52e72f9d
BC
211502010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
21151
21152 "setparams" command to update positional parameters.
21153
21154 * tests/grub_script_setparams.in: New test.
21155 * Makefile.util.def: Rules for new test.
21156
21157 * grub-core/script/argv.c (grub_script_argv_make): New function.
21158 * grub-core/script/execute.c (replace_scope): New function.
21159 (grub_script_setparams): New function.
21160 * grub-core/script/lexer.c: Remove unused variables.
21161 * grub-core/script/main.c: Register/unregister setparams command.
21162 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
21163 (grub_script_setparams): New prototype.
21164
25b60c91
BC
211652010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
21166
21167 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
21168 grub_free order.
21169
37e7bf68
BC
211702010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
21171
21172 Support for passing block of commands as an argument to extcmds.
21173
21174 * Makefile.util.def: Rules for new test.
21175 * tests/grub_script_blockarg.in: New test.
21176 * grub-core/tests/test_blockarg.c: New file, block argument
21177 command used in the test.
21178
21179 * include/grub/extcmd.h (grub_extcmd_context): New struct.
21180 (grub_register_extcmd_prio): New function prototype.
21181 (grub_extcmd_dispatcher): New function prototype.
21182 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
21183 type.
21184 * include/grub/script_sh.h (struct grub_script): New members
21185 `children', `next_siblings' and `refcnt' for block arguments and
21186 reference counting.
21187 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
21188 (grub_script_arg): New member `script' for block argument.
21189 (grub_script_argv): New member `script' for block argument.
21190 (grub_parser_param): New member `scripts' for block argument.
21191 (grub_script_mem_free): New extern function prototype.
21192 (grub_script_ref): New function prototype.
21193 (grub_script_unref): New function prototype.
21194
21195 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
21196 extcmd form to support block arguments.
21197 * grub-core/script/argv.c: Block arguments support.
21198 * grub-core/script/execute.c: Likewise.
21199 * grub-core/script/lexer.c: Likewise.
21200 * grub-core/script/main.c: Likewise.
21201 * grub-core/script/script.c: Likewise.
21202 * grub-core/script/parser.y: Likewise. New `block' and `block0'
21203 non-terminals.
21204
21205 * grub-core/commands/acpi.c: Update extcmd implementations with
21206 grub_extcmd_context_t.
21207 * grub-core/commands/cat.c: Likewise.
21208 * grub-core/commands/echo.c: Likewise.
21209 * grub-core/commands/extcmd.c: Likewise.
21210 * grub-core/commands/hashsum.c: Likewise.
21211 * grub-core/commands/hdparm.c: Likewise.
21212 * grub-core/commands/help.c: Likewise.
21213 * grub-core/commands/hexdump.c: Likewise.
21214 * grub-core/commands/i386/cpuid.c: Likewise.
21215 * grub-core/commands/i386/pc/drivemap.c: Likewise.
21216 * grub-core/commands/i386/pc/halt.c: Likewise.
21217 * grub-core/commands/i386/pc/sendkey.c: Likewise.
21218 * grub-core/commands/iorw.c: Likewise.
21219 * grub-core/commands/keystatus.c: Likewise.
21220 * grub-core/commands/loadenv.c: Likewise.
21221 * grub-core/commands/ls.c: Likewise.
21222 * grub-core/commands/lspci.c: Likewise.
21223 * grub-core/commands/memrw.c: Likewise.
21224 * grub-core/commands/probe.c: Likewise.
21225 * grub-core/commands/search_wrap.c: Likewise.
21226 * grub-core/commands/setpci.c: Likewise.
21227 * grub-core/commands/sleep.c: Likewise.
21228 * grub-core/disk/loopback.c: Likewise.
21229 * grub-core/hello/hello.c: Likewise.
21230 * grub-core/loader/i386/bsd.c: Likewise.
21231 * grub-core/loader/xnu.c: Likewise.
21232 * grub-core/term/gfxterm.c: Likewise.
21233 * grub-core/term/serial.c: Likewise.
21234 * grub-core/tests/lib/functional_test.c: Likewise.
21235
888d1500
BC
212362010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
21237
21238 Multi-line quoted strings support.
21239
21240 * grub-core/script/lexer.c (append_newline): Removed.
21241 (grub_script_lexer_yywrap): Refactored.
21242 (grub_script_lexer_init): Refactored.
21243 * grub-core/script/yylex.l (yywrap): New function.
21244 (grub_lexer_resplit): New function.
21245 (grub_lexer_unput): New function.
21246 * include/grub/script_sh.h (grub_lexer_param): New members, unput
21247 and resplit.
21248 * tests/grub_script_echo1.in: Added few more testcases.
21249
dda060dd
VS
212502010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
21251
21252 * grub-core/kern/misc.c: Don't add abort alias in utils.
21253 Reported by: echoline.
21254
6556eba9
BC
212552010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
21256
21257 Add missing files into "make dist" tarball for other platforms.
21258
21259 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
21260 * conf/Makefile.common (dist_noinst_DATA): New variable.
21261 * conf/Makefile.extra-dist: Added missing make dist files.
21262 * grub-core/Makefile.core.def: Likewise.
21263
c8e7bf5f
VS
212642010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
21265
21266 Compress grub_prefix.
21267
21268 * grub-core/boot/i386/pc/lnxboot.S: Use
21269 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
21270 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
21271 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
21272 GRUB_MACHINE_PREFIX_END. All users updated.
21273 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
21274 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
21275 + 0x40.
21276 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
21277 * util/grub-mkimage.c (image_target_desc): Change data_end to
21278 prefix_end. All users updated.
21279
a7c00cdb
VS
212802010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
21281
21282 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
21283 value.
21284 (grub_openbsd_boot): Likewise.
21285 (grub_netbsd_boot): Likewise.
21286 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
21287 (grub_xnu_boot): Likewise.
21288
9f915872
VS
212892010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
21290
21291 * configure.ac: Clean LIBS variable after tests.
21292
efa1bee7
CW
212932010-09-02 Colin Watson <cjwatson@ubuntu.com>
21294
21295 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
21296
61d720e5
VS
212972010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
21298
21299 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
21300 echo if libdevmapper will be used.
21301
ef8e0ec8
IT
213022010-09-02 Ian Turner <Ian.Turner@deshaw.com>
21303
21304 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
21305 constant for the same file.
21306
03e261d8
VS
213072010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
21308
21309 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
21310
c2a4eba6
CW
213112010-09-02 Colin Watson <cjwatson@ubuntu.com>
21312
21313 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
21314 grub-core/*.pp.
21315
9056cbf3
CW
213162010-09-02 Colin Watson <cjwatson@ubuntu.com>
21317
21318 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
21319 required by the boot protocol.
21320
21321 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
21322 ebp and edi members.
21323 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
21324 state.ebp and state.edi.
21325 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
21326 %ebp and %edi according to grub_relocator32_ebp and
21327 grub_relocator32_edi respectively.
21328 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
21329 and state.edi.
21330
529cc99a
VS
213312010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
21332
21333 Add i386-pc-pxe image target.
21334
21335 * util/grub-mkimage.c (image_target_desc): New enum value
21336 IMAGE_I386_PC_PXE.
21337 (image_targets): New target i386-pc-pxe.
21338 (generate_image): Handle i386-pc-pxe image.
21339
9a093920
VS
213402010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
21341
21342 Fix grub_pxe_scan.
21343
21344 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
21345 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
21346 All users updated.
21347 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
21348 (grub_pxe_pxenv): Correct type.
21349
f9cefc4e
CW
213502010-09-01 Colin Watson <cjwatson@ubuntu.com>
21351
21352 * NEWS: Document most of the important changes since 1.98.
21353
4066f57f
CW
213542010-09-01 Colin Watson <cjwatson@ubuntu.com>
21355
21356 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
21357 generated manual page) a little.
21358
da2891f9
CW
213592010-09-01 Colin Watson <cjwatson@ubuntu.com>
21360
21361 * docs/grub.texi: Add myself as an author.
21362
ad717fae
VS
213632010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
21364
21365 * Makefile.util.def (libgrub.a): Add missing sunpc.
21366 Reported by: Seth Goldberg.
21367
eefe8abd
VS
213682010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21369
21370 Interrupt wrapping and code simplifications.
21371
9494ef9a
VS
21372 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
21373 x86_noieee1275 which are functionaly equivalent in this case.
21374 (grub-install): Make source on each platform explicit. Enable on
21375 all noemu.
21376 * gentpl.py (x86_efi_pc): Removed group.
21377 (x86_noefi): Likewise.
21378 (i386_noefi): Likewise.
21379 (x86_noieee1275): Likewise.
21380 (i386_noieee1275): Likewise.
21381 (i386_noefi_noieee1275): Likewise.
21382 (i386_pc_qemu_coreboot): Likewise.
21383 (i386_coreboot_multiboot): Likewise.
21384 (i386_pc_coreboot_multiboot_qemu): Likewise.
21385 (x86_noefi_mips): Likewise.
21386 (noieee1275): Likewise.
21387 (ieee1275_mips): Likewise.
21388 (noemu_noieee1275): Likewise.
21389 (cmos): New group.
21390 (usb): Likewise.
21391 (videoinkernel): Likewise.
21392 (videomodules): Likewise.
eefe8abd 21393 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
21394 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
21395 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
21396 include/grub/loader.h, include/grub/msdos_partition.h,
21397 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
21398 include/grub/machine/console.h, include/grub/machine/vga.h,
21399 include/grub/machine/vbe.h, include/grub/machine/init.h,
21400 include/grub/machine/kernel.h, include/grub/cpu/time.h,
21401 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 21402 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
21403 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
21404 * grub-core/Makefile.core.def (kernel): Explicit the source for
21405 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
21406 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
21407 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
21408 Use videoinkernel tag.
21409 (usb): Enable on all usb.
21410 (usbserial_common): Likewise.
21411 (usbserial_pl2303): Likewise.
21412 (usbserial_ftdi): Likewise.
21413 (uhci): Enable on all x86.
21414 (ohci): Enable on all pci.
21415 (cmostest): Enable on all CMOS.
21416 (acpi): Include commands/acpi.c on all platforms.
21417 (halt): Add relevant lib/*/halt.c.
21418 (hdparm): Enable on all pci.
21419 (lspci): Likewise.
21420 (usbtest): Enable on all usb.
21421 (ata): Enable on all pci.
21422 (ata_pthru): Likewise.
21423 (usbms): Enable on all usb.
21424 (usb_keyboard): Likewise.
21425 (font): Use tag videomodules.
21426 (bufio): Likewise.
21427 (datetime): Use tag cmos. Enable on all noemu.
21428 (mmap): Use tags common and x86.
21429 (gfxterm): Use tag videomodules.
21430 (bitmap): Likewise.
21431 (bitmap_scale): Likewise.
21432 (video_fb): Likewise.
21433 (video): Likewise.
21434 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
21435 adjust padding accordingly. All users updated.
21436 (grub_ohci_transaction): Fix bad format specification.
21437 (GRUB_MOD_INIT): Add asserts for struct size.
21438 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
21439 (grub_alloc_td): Likewise.
21440 (grub_free_queue): Likewise.
21441 (grub_uhci_transfer): Likewise.
21442 (grub_uhci_transaction): Fix bad format specification.
21443 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
21444 (grub_usb_bulk_readwrite): Likewise.
21445 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
21446 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
21447 Made static.
21448 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
21449 Made static.
21450 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
21451 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
21452 Transformed into C.
21453 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
21454 Moved from here ...
21455 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
21456 ... here. Transformed into C. Made static.
21457 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
21458 Moved from here ...
21459 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
21460 ... here. Transformed into C. Made static.
21461 * grub-core/kern/i386/pc/startup.S
21462 (grub_biosdisk_check_int13_extensions): Moved from here ...
21463 * grub-core/disk/i386/pc/biosdisk.c
21464 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
21465 Made static.
21466 * grub-core/kern/i386/pc/startup.S
21467 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
21468 * grub-core/disk/i386/pc/biosdisk.c
21469 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
21470 Transformed into C. Made static.
21471 * grub-core/kern/i386/pc/startup.S
21472 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
21473 * grub-core/disk/i386/pc/biosdisk.c
21474 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
21475 Transformed into C. Made static.
21476 * grub-core/kern/i386/pc/startup.S
21477 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
21478 * grub-core/disk/i386/pc/biosdisk.c
21479 (grub_biosdisk_get_diskinfo_standard): ... here.
21480 Transformed into C. Made static.
21481 * grub-core/kern/i386/pc/startup.S
21482 (grub_biosdisk_get_num_floppies): Moved from here ...
21483 * grub-core/disk/i386/pc/biosdisk.c
21484 (grub_biosdisk_get_num_floppies): ... here.
21485 Transformed into C. Made static.
21486 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
21487 New function.
21488 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
21489 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
21490 Transformed into C. Made static.
21491 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
21492 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
21493 Transformed into C. Made static.
21494 * grub-core/kern/i386/ieee1275/init.c: Removed.
21495 * grub-core/kern/i386/misc.S: Likewise.
21496 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
21497 Splitted from here ...
21498 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
21499 Transformed into C. Made static. All users updated.
21500 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
21501 Transformed into C. Made static. All users updated.
21502 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
21503 Moved from here...
21504 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
21505 Transformed into C. Made static. All users updated.
21506 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
21507 Moved from here...
21508 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
21509 Transformed into C. Made static. All users updated.
21510 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
21511 Removed (replaced by C version).
21512 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
21513 Moved from here...
21514 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
21515 Transformed into C. Made static.
21516 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
21517 Moved from here...
21518 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
21519 ... here. Transformed into C.
21520 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
21521 Moved from here...
21522 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
21523 ... here. Transformed into C.
21524 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
21525 Moved from here...
21526 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
21527 ... here. Transformed into C. Made static.
21528 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
21529 Moved from here...
21530 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
21531 ... here. Transformed into C.
21ed554b
VS
21532 * grub-core/kern/i386/pc/startup.S
21533 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
21534 * grub-core/video/i386/pc/vbe.c
21535 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
21536 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
21537 Moved from here...
21538 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
21539 ... here. Transformed into C.
21540 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
21541 Moved from here...
21542 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
21543 ... here. Transformed into C.
21544 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
21545 Moved from here...
21546 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
21547 ... here. Transformed into C.
21548 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
21549 Moved from here...
21550 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
21551 ... here. Transformed into C.
21552 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
21553 Moved from here...
21554 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
21555 ... here. Transformed into C. Made static.
21556 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
21557 Moved from here...
21558 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
21559 ... here. Transformed into C. Made static.
21560 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
21561 Moved from here...
21562 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
21563 ... here. Transformed into C. Made static.
21564 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
21565 pxe_rm_entry as third argument.
21566 (grub_bios_interrupt): New function.
21567 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
21568 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
21569 of calling grub_stop.
21570 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
21571 * grub-core/lib/efi/halt.c (grub_halt): ...here.
21572 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
21573 * grub-core/lib/emu/halt.c (grub_halt): ... here.
21574 * grub-core/lib/i386/halt.c: Moved from here ...
21575 * grub-core/lib/i386/halt.c: ... here.
21576 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
21577 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
21578 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
21579 grub_stop_floppy.
21580 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
21581 * include/grub/i386/coreboot/init.h: Removed.
21582 * include/grub/i386/multiboot/init.h: Likewise.
21583 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
21584 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
21585 * include/grub/i386/pc/int.h: New file.
21586 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
21587 (grub_pxe_scan): Removed.
21588 (grub_pxe_call): Update prototype.
21589 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
21590 prototypes.
21591 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
21592 * include/grub/i386/qemu/init.h: Removed.
21593 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
21594 noreturn.
21595 (grub_halt): Likewise.
21596 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
21597 (grub_reboot): Likewise.
21598 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
21599 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
21600 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
21601
215dd471
RM
216022010-08-30 Robert Millan <rmh@gnu.org>
21603
21604 * NEWS: Document addition of ZFS support in `grub-install' and
21605 `grub-mkconfig'.
21606
ebd65b82
BC
216072010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
21608
21609 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
21610 dprintf output.
21611
11721d19
VS
216122010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21613
21614 Remove leftover embedding of font objects.
21615
21616 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
21617 * util/grub-install.in (font): Removed.
21618 * util/grub-mkimage.c (generate_image): Remove font support. All users
21619 updated.
21620
37837d4e
VS
216212010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21622
21623 Remove leftover embedding of font objects.
21624
21625 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
21626 * util/grub-install.in (font): Removed.
21627 * util/grub-mkimage.c (generate_image): Remove font support. All users
21628 updated.
21629
b4c1aae0
VS
216302010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21631
21632 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 21633 Reported by: Ian Turner
b4c1aae0 21634
8920a08d
VS
216352010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21636
21637 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
21638 timeout to avoid indefinite boot stalling.
21639
f21db033
VS
216402010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21641
21642 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
21643 (grub_env_write_color_highlight): Likewise.
21644
9a9de209
VS
216452010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21646
21647 * grub-core/normal/term.c (print_more): Return to normal and not
21648 to standard state after printing "---MORE---".
21649
3dca01d7
VS
216502010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21651
21652 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
21653 Mask out the bit 0x80 since it has other meaning that specifiing color.
21654
0b986c40
VS
216552010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21656
21657 New relocator. Allows for more kernel support and more straightforward
21658 loader writing.
21659
21660 * Makefile.am (BOOTTARGET): New variable.
21661 (QEMU32): Likewise.
21662 (linux.init.x86_64): New target.
21663 (linux.init.i386): Likewise.
21664 (multiboot.elf): Likewise.
21665 (kfreebsd.elf): Likewise.
21666 (kfreebsd.aout): Likewise.
21667 (pc-chainloader.elf): Likewise.
21668 (pc-chainloader.bin): Likewise.
21669 (ntldr.elf): Likewise.
21670 (ntldr.bin): Likewise.
21671 (multiboot2.elf): Likewise.
21672 (kfreebsd.init.x86_64): Likewise.
21673 (kfreebsd.init.i386): Likewise.
21674 (knetbsd.init.i386): Likewise.
21675 (kopenbsd.init.i386): Likewise.
21676 (knetbsd.init.x86_64): Likewise.
21677 (kopenbsd.init.x86_64): Likewise.
21678 (linux-initramfs.i386): Likewise.
21679 (linux-initramfs.x86_64): Likewise.
21680 (kfreebsd-mfsroot.i386.img): Likewise.
21681 (knetbsd.image.i386): Likewise.
21682 (kopenbsd.image.i386): Likewise.
21683 (kopenbsd.image.x86_64): Likewise.
21684 (knetbsd.miniroot-image.i386.img): Likewise.
21685 (kfreebsd-mfsroot.x86_64.img): Likewise.
21686 (knetbsd.image.x86_64): Likewise.
21687 (knetbsd.miniroot-image.x86_64.img): Likewise.
21688 (kfreebsd-mfsroot.i386.gz): Likewise.
21689 (bootcheck-kfreebsd-i386): Likewise.
21690 (kfreebsd-mfsroot.x86_64.gz): Likewise.
21691 (bootcheck-kfreebsd-x86_64): Likewise.
21692 (knetbsd.miniroot-image.i386.gz): Likewise.
21693 (bootcheck-knetbsd-i386): Likewise.
21694 (bootcheck-kopenbsd-i386): Likewise.
21695 (bootcheck-kopenbsd-x86_64): Likewise.
21696 (knetbsd.miniroot-image.x86_64.gz): Likewise.
21697 (bootcheck-knetbsd-x86_64): Likewise.
21698 (bootcheck-linux-i386): Likewise.
21699 (bootcheck-linux-x86_64): Likewise.
21700 (bootcheck-linux16-i386): Likewise.
21701 (bootcheck-linux16-x86_64): Likewise.
21702 (bootcheck-multiboot): Likewise.
21703 (bootcheck-multiboot2): Likewise.
21704 (bootcheck-kfreebsd-aout): Likewise.
21705 (bootcheck-pc-chainloader): Likewise.
21706 (bootcheck-ntldr): Likewise.
21707 (CLEANFILES): Add new targets.
21708 (BOOTCHECKS): New variable.
21709 (.PHONY): Add bootchecks.
21710 (SUCCESSFUL_BOOT_STRING): New variable.
21711 (BOOTCHECK_TIMEOUT): Likewise.
21712 (bootcheck): New target
21713 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
21714 * configure.ac: Correct efiemu excuse.
21715 * docs/grub.texi (Supported kernels): New chapter.
21716 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
21717 include/grub/mm_private.h. Simplify inclusion of
21718 include/grub/boot.h, include/grub/loader.h
21719 and include/grub/msdos_partition.h
21720 (KERNEL_HEADER_FILES) [i386_coreboot]:
21721 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
21722 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
21723 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
21724 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
21725 include/grub/machine/loader.h.
21726 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
21727 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
21728 extra_dist.
21729 (pci.mod): Enable on i386-multiboot.
21730 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
21731 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
21732 i386-qemu.
21733 (relocator.mod): Rewritten.
21734 (aout.mod): Enable on all x86.
21735 (bsd.mod): Likewise.
21736 (ntldr.mod): New module.
21737 (linux.mod): Use loader/i386/linux.c on all x86.
21738 (xnu.mod): Enable on all x86.
21739 (vga_text.mod): disable on EFI and QEMU.
21740 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
21741 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
21742 * grub-core/efiemu/loadcore.c: Likewise.
21743 * grub-core/efiemu/main.c: Likewise.
21744 (grub_efiemu_exit_boot_services): Removed.
21745 (grub_efiemu_finish_boot_services): Likewise.
21746 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
21747 function.
21748 * grub-core/efiemu/i386/nocfgtables.c: New file.
21749 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
21750 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
21751 (grub_efi_finish_boot_services): Moved from here ...
21752 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
21753 Fille finish memory map and related data.
21754 (finish_mmap_buf): New variable.
21755 (grub_efi_uintn_t finish_mmap_size): Likewise.
21756 (grub_efi_uintn_t finish_key): Likewise.
21757 (grub_efi_uintn_t finish_desc_size): Likewise.
21758 (grub_efi_uint32_t finish_desc_version): Likewise.
21759 (grub_efi_is_finished): Likewise.
21760 (grub_efi_get_memory_map): Use saved memory map if EFI is already
21761 finished.
21762 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
21763 (grub_elf64_phdr_iterate): Likewise.
21764 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
21765 (grub_os_area_size): Likewise.
21766 (grub_machine_init): Don't reserve os area.
21767 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
21768 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
21769 * grub-core/kern/i386/loader.S: Removed.
21770 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
21771 (grub_os_area_size): Likewise.
21772 (grub_machine_init): Don't reserve os area.
21773 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
21774 Don't call grub_dl_unload_all.
21775 Don't include loader.S.
21776 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
21777 Declare the memory after _end as available.
21778 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 21779 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 21780 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
21781 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
21782 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
21783 * include/grub/mm_private.h (grub_mm_header): ... here.
21784 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
21785 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
21786 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
21787 (grub_mm_region): ..here. Removed addr. Added pre_size.
21788 All users updated.
21789 * grub-core/kern/mm.c (base): Renamed to ...
21790 (grub_mm_base): ... this. Made global.
21791 (grub_real_malloc): Alloc from end of region.
21792 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
21793 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
21794 * grub-core/kern/powerpc/cache_flush.S: ... here.
21795 * grub-core/lib/efi/relocator.c: New file.
21796 * grub-core/lib/i386/relocator.c: Rewritten.
21797 * grub-core/lib/i386/relocator16.S: New file.
21798 * grub-core/lib/i386/relocator32.S: Likewise.
21799 * grub-core/lib/i386/relocator64.S: Likewise.
21800 * grub-core/lib/i386/relocator_asm.S: Rewritten.
21801 * grub-core/lib/i386/relocator_common.S: New file.
21802 * grub-core/lib/ieee1275/relocator.c: Likewise.
21803 * grub-core/lib/mips/relocator.c: Rewritten.
21804 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
21805 stylistic adjustments.
21806 * grub-core/lib/powerpc/relocator.c: New file.
21807 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
21808 * grub-core/lib/relocator.c: Rewritten.
21809 * grub-core/lib/x86_64/relocator_asm.S: New file.
21810 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
21811 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
21812 (bsd_tag): New struct.
21813 (tags): New variable.
21814 (tags_last): Likewise.
21815 (netbsd_module): New struct.
21816 (netbsd_mods): New variable.
21817 (netbsd_mods_last): Likewise.
21818 (openbsd_opts): New parameter "serial".
21819 (OPENBSD_SERIAL_ARG): New definition.
21820 (netbsd_opts): New parameter "serial".
21821 (NETBSD_SERIAL_ARG): New definition.
21822 (grub_freebsd_add_meta): Reorganised into ...
21823 (grub_bsd_add_meta): ...this. All users updated.
21824 (grub_freebsd_add_mmap): Reorganised into ...
21825 (generate_e820_mmap): ...this...
21826 (grub_bsd_add_mmap): ...and this. All users updated.
21827 (grub_freebsd_list_modules): Use tags.
21828 (grub_netbsd_add_meta_module): New function.
21829 (grub_netbsd_list_modules): Likewise.
21830 (grub_freebsd_boot): Use relocator and finish EFI.
21831 (grub_openbsd_boot): Likewise.
21832 (grub_netbsd_setup_video): New function.
21833 (grub_netbsd_add_modules): Likewise.
21834 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
21835 and finish EFI.
21836 (grub_bsd_unload): Unload tags.
21837 (grub_bsd_load_aout): Use relocator.
21838 (grub_bsd_elf32_size_hook): New function.
21839 (grub_bsd_elf32_hook): Use relocator.
21840 (grub_bsd_elf64_size_hook): New function.
21841 (grub_bsd_elf64_hook): Use relocator.
21842 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
21843 (grub_bsd_load): Zero-out openbsd_ramdisk.
21844 (grub_bsd_load): Use relocator.
21845 (grub_cmd_openbsd): Support serial.
21846 (grub_cmd_netbsd): Support modules.
21847 (grub_cmd_freebsd_module): Use relocator.
21848 (grub_netbsd_module_load): New function.
21849 (grub_cmd_netbsd_module): Likewise.
21850 (grub_cmd_openbsd_ramdisk): Likewise.
21851 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
21852 kopenbsd_ramdisk.
21853 (GRUB_MOD_FINI): Unregister new commands.
21854 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
21855 (grub_freebsd_load_elfmodule_obj): Use relocator.
21856 (grub_freebsd_load_elfmodule): Likewise.
21857 (grub_freebsd_load_elf_meta): Likewise.
21858 (grub_netbsd_load_elf_meta): New function.
21859 (grub_openbsd_find_ramdisk): Likewise.
21860 * grub-core/loader/i386/bsd_helper.S: Removed.
21861 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
21862 * grub-core/loader/i386/bsd_trampoline.S: Removed.
21863 * grub-core/loader/i386/efi/linux.c: Likewise.
21864 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
21865 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
21866 (DEFAULT_VIDEO_MODE): Likewise.
21867 (real_mode_target): New variable.
21868 (prot_mode_target): Likewise.
21869 (initrd_mem_target): Likewise.
21870 (relocator): Likewise.
21871 (efi_mmap_buf): Likewise.
21872 (efi_mmap_size): Likewise.
21873 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
21874 (free_pages): Use relocator.
21875 (allocate_pages): Account for efi_mmap and use relocator. Return error.
21876 (grub_linux_setup_video): Return error.
21877 (grub_linux_trampoline_start): Removed.
21878 (grub_linux_trampoline_end): Likewise.
21879 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
21880 andd video parameters depending on firmware.
21881 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
21882 [GRUB_MACHINE_EFI]: Pass EFI parameters.
21883 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
21884 (grub_cmd_initrd): Use relocator.
21885 * grub-core/loader/i386/linux_trampoline.S: Removed.
21886 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
21887 (elf_sec_entsize): Likewise.
21888 (elf_sec_shstrndx): Likewise.
21889 (elf_sections): Likewise.
21890 (grub_multiboot_load): Use relocator.
21891 (grub_multiboot_get_mbi_size): Account for sections.
21892 (grub_multiboot_make_mbi): Use relocator and support sections.
21893 (grub_multiboot_add_elfsyms): New function.
21894 (grub_multiboot_free_mbi): Free sections.
21895 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
21896 (grub_linux_real_target): Likewise.
21897 (grub_linux_real_chunk): Likewise.
21898 (grub_linux16_prot_size): Likewise.
21899 (grub_linux16_boot): Use relocator.
21900 (grub_linux_unload): Unload relocator.
21901 (grub_cmd_linux): Use relocator.
21902 (grub_cmd_initrd): Likewise.
21903 * grub-core/loader/i386/pc/ntldr.c: New file.
21904 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
21905 Don't try to guess CPU frequency.
21906 (grub_xnu_set_video): Stretch bitmap.
21907 (grub_xnu_boot): Use relocator.
21908 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
21909 (grub_linux_unload): Free relocator.
21910 (grub_linux_load32): Use relocator.
21911 (grub_linux_load64): Likewise.
21912 (grub_cmd_initrd): Likewise.
21913 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
21914 (grub_multiboot_unload): Unload relocator.
21915 (grub_cmd_multiboot): Use relocator.
21916 (grub_cmd_module): Likewise.
21917 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
21918 Use relocator and support sections.
21919 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
21920 (elf_sec_entsize): Likewise.
21921 (elf_sec_shstrndx): Likewise.
21922 (elf_sections): Likewise.
21923 (grub_multiboot_load): Use relocator.
21924 (grub_multiboot_get_mbi_size): Account for sections.
21925 (grub_multiboot_make_mbi): Use relocator and support sections.
21926 (grub_multiboot_add_elfsyms): New function.
21927 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
21928 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
21929 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
21930 Prototype changed. All users updated.
21931 (grub_xnu_align_heap): Simplified.
21932 (grub_xnu_writetree_toheap): Likewise.
21933 (grub_xnu_unload): Unload relocator.
21934 (grub_cmd_xnu_kernel): Use relocator.
21935 (grub_cmd_xnu_kernel64): Likewise.
21936 (grub_xnu_register_memory): Simplified.
21937 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
21938 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
21939 EFI is finished.
21940 (grub_console_checkkey): Likewise.
21941 (grub_console_getkey): Likewise.
21942 (grub_console_getwh): Likewise.
21943 (grub_console_getxy): Likewise.
21944 (grub_console_gotoxy): Likewise.
21945 (grub_console_cls): Likewise.
21946 (grub_console_setcolorstate): Likewise.
21947 (grub_console_setcursor): Likewise.
21948 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
21949 * grub-core/tests/boot/kbsd.init-i386.S: New file.
21950 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
21951 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
21952 * grub-core/tests/boot/kernel-8086.S: Likewise.
21953 * grub-core/tests/boot/kernel-i386.S: Likewise.
21954 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
21955 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
21956 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
21957 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
21958 * grub-core/tests/boot/knetbsd.cfg: Likewise.
21959 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
21960 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
21961 * grub-core/tests/boot/linux.cfg: Likewise.
21962 * grub-core/tests/boot/linux.init-i386.S: Likewise.
21963 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
21964 * grub-core/tests/boot/linux16.cfg: Likewise.
21965 * grub-core/tests/boot/multiboot.cfg: Likewise.
21966 * grub-core/tests/boot/multiboot2.cfg: Likewise.
21967 * grub-core/tests/boot/ntldr.cfg: Likewise.
21968 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
21969 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
21970 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
21971 New definition.
21972 * include/grub/dl.h (grub_dl_unload_all): Removed.
21973 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
21974 (grub_efi_finish_boot_services): Change prototype.
21975 (grub_efi_is_finished): New variable.
21976 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
21977 Changed prototype.
21978 (grub_efiemu_finish_boot_services): Removed.
21979 (grub_machine_efiemu_init_tables): New prototype.
21980 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
21981 (grub_elf64_phdr_iterate): Likewise.
21982 * include/grub/i386/bsd.h: Include relocator.h.
21983 (freebsd_tag_header): New struct.
21984 (grub_openbsd_bios_mmap): Removed.
21985 (grub_unix_real_boot): Removed.
21986 (grub_freebsd_load_elfmodule32): Changed prototype.
21987 (grub_freebsd_load_elfmodule_obj64): Likewise.
21988 (grub_freebsd_load_elf_meta32): Likewise.
21989 (grub_freebsd_load_elf_meta64): Likewise.
21990 (grub_freebsd_add_meta): Removed.
21991 (grub_netbsd_load_elf_meta32): New prototype.
21992 (grub_netbsd_load_elf_meta64): Likewise.
21993 (grub_bsd_add_meta): Likewise.
21994 (grub_openbsd_ramdisk_descriptor): New struct.
21995 (grub_openbsd_find_ramdisk32): New prototype.
21996 (grub_openbsd_find_ramdisk64): Likewise.
21997 * include/grub/i386/coreboot/loader.h: Removed.
21998 * include/grub/i386/efi/loader.h: Likewise.
21999 * include/grub/i386/ieee1275/loader.h: Likewise.
22000 * include/grub/i386/linux.h (linux_kernel_header): Change void *
22001 to grub_uint32_t.
22002 * include/grub/i386/loader.h: Removed.
22003 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
22004 value.
22005 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
22006 (grub_phys_addr_t): New type.
22007 (grub_vtop): New inline function.
22008 (grub_map_memory): Likewise.
22009 (grub_unmap_memory): Likewise.
22010 * include/grub/i386/multiboot/loader.h: Removed.
22011 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
22012 (NETBSD_BTINFO_CONSOLE): New definition.
22013 (NETBSD_BTINFO_SYMTAB): Likewise.
22014 (NETBSD_BTINFO_MODULES): Likewise.
22015 (NETBSD_BTINFO_FRAMEBUF): Likewise.
22016 (grub_netbsd_bootinfo): New struct.
22017 (grub_netbsd_btinfo_common): Use explicit bitsize.
22018 (grub_netbsd_btinfo_mmap_entry): Removed.
22019 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
22020 (grub_netbsd_btinfo_bootdisk): New struct.
22021 (grub_netbsd_btinfo_symtab): Likewise.
22022 (grub_netbsd_btinfo_serial): Likewise.
22023 (grub_netbsd_btinfo_modules): Likewise.
22024 (grub_netbsd_btinfo_framebuf): Likewise.
22025 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
22026 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
22027 Likewise.
22028 (grub_openbsd_bootargs): Use explicit bitsize.
22029 (grub_openbsd_bootarg_console): New struct.
22030 (GRUB_OPENBSD_COM_MAJOR): New definition.
22031 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
22032 * include/grub/i386/pc/efiemu.h: Removed.
22033 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
22034 * include/grub/i386/qemu/loader.h: Removed.
22035 * include/grub/i386/relocator.h: Rewritten.
22036 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
22037 * include/grub/mips/memory.h: New file.
22038 * include/grub/mips/multiboot.h: Rewritten.
22039 * include/grub/mips/relocator.h: Rewritten.
22040 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
22041 (grub_vtop): New function.
22042 (grub_map_memory): Likewise.
22043 (grub_unmap_memory): Likewise.
22044 * include/grub/misc.h (ALIGN_DOWN): New definition.
22045 * include/grub/mm.h (grub_mm_check_real): New proto.
22046 (GRUB_MM_CHECK): New definition.
22047 * include/grub/mm_private.h: New file.
22048 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
22049 (grub_multiboot_get_mbi_size): Removed.
22050 (grub_multiboot_make_mbi): Change prottype.
22051 (grub_multiboot_set_accepts_video): New proto.
22052 (grub_multiboot_add_elfsyms): Likewise.
22053 (grub_multiboot_payload_eip): New variable.
22054 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
22055 New prototype.
22056 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
22057 New definition.
22058 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
22059 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
22060 * include/grub/powerpc/ieee1275/loader.h: Removed.
22061 * include/grub/powerpc/memory.h: New file.
22062 * include/grub/powerpc/relocator.h: Likewise.
22063 * include/grub/relocator.h: Likewise.
22064 * include/grub/relocator_private.h: Likewise.
22065 * include/grub/sparc64/ieee1275/loader.h: Removed.
22066 * include/grub/x86_64/memory.h: New file.
22067 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
22068 (grub_xnu_heap_malloc): Likewise.
22069 (grub_xnu_heap_real_start): Removed.
22070 (grub_xnu_heap_start): Likewise.
22071 (grub_xnu_relocator): New variable.
22072 (grub_xnu_heap_target_start): Likewise.
22073 * tests/util/grub-shell.in: Support non-pc.
22074 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 22075
5303b85d
VS
220762010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
22077
22078 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
22079 on malloc error.
22080 (grub_bidi_logical_to_visual): Check that malloc succeded.
22081 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
22082 puts.
22083 (grub_xputs_normal): Likewise.
22084
d768d159
VS
220852010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
22086
22087 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
22088 extra_dist.
22089
220902010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
22091
22092 * grub-core/efiemu/runtime/efiemu.sh: Removed.
22093
5bf84df4
VS
220942010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
22095
22096 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
22097
3626810e
VS
220982010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
22099
22100 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
22101 dprintf.
22102
a7363f53
BC
221032010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
22104
22105 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
22106
902f75f6
VS
221072010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
22108
22109 * grub-core/normal/term.c (print_more): Fix a memory leak.
22110 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
22111 (grub_xputs_normal): Likewise.
22112
3c707967
VS
221132010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
22114
22115 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
22116 the begining of the string
22117
2053cc07
VS
221182010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
22119
22120 * grub-core/script/script.c (grub_script_parse): Free parsed on
22121 failure.
22122
46422ebf
VS
221232010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
22124
22125 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
22126 on failure.
22127
9e0fa3f6
VS
221282010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
22129
22130 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
22131 return.
22132
3393cf16
VS
221332010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
22134
22135 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
22136 (scroll_up): Fix a memory leak.
22137
b17540cb
VS
221382010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
22139
22140 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
22141 errors.
22142
67140446
VS
221432010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
22144
22145 Handle USB pendrives exposed as floppies.
22146
22147 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
22148 floppy.
22149 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
22150 Check for partitions on all devices.
22151
e35e46fc
VS
221522010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
22153
22154 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
22155 (readkey): Likewise.
22156
d24c6190
BC
221572010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
22158
22159 Multiple variable names support to "export" command.
22160
22161 * normal/context.c (grub_cmd_export): "export" command supports
22162 multiple variable names.
22163
04ddcc6a
ST
221642010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
22165
22166 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
22167 --target=drive output to Mach device name.
22168
0c8b61d8
BC
221692010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
22170
22171 New Automake based build system for GRUB.
22172
22173 * ABOUT-NLS: New file.
22174 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
22175 in Makefile.util.def file.
22176 * Makefile.util.def: New file. Autogen build definitions file for
22177 GRUB host utils.
22178 * conf/Makefile.common: New file. Common variables for GRUB host
22179 utils and target modules.
22180 * conf/Makefile.extra-dist: New file. Extra files for make dist.
22181 * docs/Makefile.am: New file. Automake file for docs.
22182 * gentpl.py: New file. Python script to generate Autogen
22183 template.
22184 * grub-core/Makefile.am: New file. GRUB target modules' rules
22185 that doesn't fit in Makefile.core.def file.
22186 * grub-core/Makefile.core.def: New file. Autogen build
22187 definitions file for GRUB target modules.
22188 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
22189 specific setjmp.S file.
22190 * po/Makefile.am: New file.
22191
22192 * .bzrignore: New ignores.
22193 * INSTALL: New requirements, without Ruby.
22194 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
22195 * autogen.sh: Updated to invoke autogen as necessary.
22196 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
22197 and defines for Automake conditionals.
22198 * geninit.sh: Refactoring.
22199
22200 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
22201 necessary.
22202 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
22203 New prototype.
22204
22205 * include/grub/test.h: Fix functional test modules' naming.
22206 * grub-core/tests/example_functional_test.c: Fix test module name.
22207
22208 * util/misc.c: Hosted versions' of grub functions for libgrub.a
22209 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
22210 * util/grub-editenv.c: Likewise.
22211 * util/grub-fstest.c: Likewise.
22212 * util/grub-mkdevicemap.c: Likewise.
22213 * util/grub-mkfont.c: Likewise.
22214 * util/grub-mkimage.c: Likewise.
22215 * util/grub-mkpasswd-pbkdf2.c: Likewise.
22216 * util/grub-probe.c: Likewise.
22217 * util/grub-script-check.c: Likewise.
22218 * util/i386/pc/grub-setup.c: Likewise.
22219 * util/sparc64/ieee1275/grub-setup.c: Likewise.
22220
22221 * tests/util/grub-shell.in: Fix override directory path.
22222 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
22223 * util/import_gcry.py: Create Makefile.gcry.def file instead.
22224
22225 * util/lvm.c: Update #includes.
22226 * util/raid.c: Likewise.
22227 * util/resolve.c: Likewise.
22228 * grub-core/bus/emu/pci.c: Likewise.
22229 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
22230 * grub-core/lib/posix_wrap/string.h: Likewise.
22231 * grub-core/kern/emu/main.c: Likewise.
22232
22233 * grub-core/gensymlist.sh: New file. Script for generating kernel
22234 symbols file.
22235 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
22236
22237 * grub-core/gentrigtables.c: Fix unused variable warnings.
22238
22239 * Makefile.in: Removed.
22240 * conf/any-emu.rmk: Removed.
22241 * conf/common.rmk: Removed.
22242 * conf/i386-coreboot.rmk: Removed.
22243 * conf/i386-efi.rmk: Removed.
22244 * conf/i386-ieee1275.rmk: Removed.
22245 * conf/i386-multiboot.rmk: Removed.
22246 * conf/i386-pc.rmk: Removed.
22247 * conf/i386-qemu.rmk: Removed.
22248 * conf/i386.rmk: Removed.
22249 * conf/mips-yeeloong.rmk: Removed.
22250 * conf/mips.rmk: Removed.
22251 * conf/powerpc-ieee1275.rmk: Removed.
22252 * conf/sparc64-ieee1275.rmk: Removed.
22253 * conf/tests.rmk: Removed.
22254 * conf/x86-efi.rmk: Removed.
22255 * conf/x86_64-efi.rmk: Removed.
22256 * gendistlist.sh: Removed.
22257 * geninitheader.sh: Removed.
22258 * genkernsyms.sh.in: Removed.
22259 * genmk.rb: Removed.
22260 * gensymlist.sh.in: Removed.
22261 * mkinstalldirs: Removed.
22262 * boot: Moved ...
22263 * grub-core/boot: ... to here.
22264 * bus: Moved ...
22265 * grub-core/bus: ... to here.
22266 * commands: Moved ...
22267 * grub-core/commands: ... to here.
22268 * disk: Moved ...
22269 * grub-core/disk: ... to here.
22270 * efiemu: Moved ...
22271 * grub-core/efiemu: ... to here.
22272 * font: Moved ...
22273 * grub-core/font: ... to here.
22274 * fs: Moved ...
22275 * grub-core/fs: ... to here.
22276 * gencmdlist.sh: Moved ...
22277 * grub-core/gencmdlist.sh: ... to here.
22278 * genemuinit.sh: Moved ...
22279 * grub-core/genemuinit.sh: ... to here.
22280 * genemuinitheader.sh: Moved ...
22281 * grub-core/genemuinitheader.sh: ... to here.
22282 * genfslist.sh: Moved ...
22283 * grub-core/genfslist.sh: ... to here.
22284 * genhandlerlist.sh: Moved ...
22285 * grub-core/genhandlerlist.sh: ... to here.
22286 * genmoddep.awk: Moved ...
22287 * grub-core/genmoddep.awk: ... to here.
22288 * genmodsrc.sh: Moved ...
22289 * grub-core/genmodsrc.sh: ... to here.
22290 * genpartmaplist.sh: Moved ...
22291 * grub-core/genpartmaplist.sh: ... to here.
22292 * genparttoollist.sh: Moved ...
22293 * grub-core/genparttoollist.sh: ... to here.
22294 * genterminallist.sh: Moved ...
22295 * grub-core/genterminallist.sh: ... to here.
22296 * gentrigtables.c: Moved ...
22297 * grub-core/gentrigtables.c: ... to here.
22298 * genvideolist.sh: Moved ...
22299 * grub-core/genvideolist.sh: ... to here.
22300 * gettext: Moved ...
22301 * grub-core/gettext: ... to here.
22302 * gfxmenu: Moved ...
22303 * grub-core/gfxmenu: ... to here.
22304 * gnulib: Moved ...
22305 * grub-core/gnulib: ... to here.
22306 * hello: Moved ...
22307 * grub-core/hello: ... to here.
22308 * hook: Moved ...
22309 * grub-core/hook: ... to here.
22310 * io: Moved ...
22311 * grub-core/io: ... to here.
22312 * kern: Moved ...
22313 * grub-core/kern: ... to here.
22314 * lib: Moved ...
22315 * grub-core/lib: ... to here.
22316 * loader: Moved ...
22317 * grub-core/loader: ... to here.
22318 * mmap: Moved ...
22319 * grub-core/mmap: ... to here.
22320 * normal: Moved ...
22321 * grub-core/normal: ... to here.
22322 * partmap: Moved ...
22323 * grub-core/partmap: ... to here.
22324 * parttool: Moved ...
22325 * grub-core/parttool: ... to here.
22326 * script: Moved ...
22327 * grub-core/script: ... to here.
22328 * term: Moved ...
22329 * grub-core/term: ... to here
22330 * tests/example_functional_test.c: Moved ...
22331 * grub-core/tests/example_functional_test.c: ... to here.
22332 * tests/lib/functional_test.c: Moved ...
22333 * grub-core/tests/lib/functional_test.c: ... to here.
22334 * tests/lib/test.c: Moved ...
22335 * grub-core/tests/lib/test.c: ... to here.
22336 * video: Moved ...
22337 * grub-core/video: ... to here.
22338
645586e6
BC
223392010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
22340
22341 Replace --enable-grub-emu-modules with grub-emu-lite.
22342
22343 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
22344 cache.S.
22345
22346 * include/grub/emu/misc.h (grub_emu_init): New prototype.
22347 * kern/emu/full.c: New file. For grub-emu specific initialization.
22348 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
22349 * kern/emu/main.c: Call initialization function grub_emu_init.
22350
22351 * Makefile.in: Include grub-emu-lite in install.
22352 * commands/parttool.c: Use grub_no_autoload to differentiate
22353 between grub-emu and grub-emu-lite.
22354 * include/grub/misc.h: New variable grub_no_autoload.
22355
22356 * conf/any-emu.rmk: New rules for grub-emu-lite.
22357 * configure.ac: Remove --enable-grub-emu-modules.
22358 * genmk.rb: Cleanup unnecessary rules.
22359 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
22360
22361 * normal/main.c: Don't load list files on grub-emu-lite.
22362 * util/misc.c (grub_arch_sync_caches): Removed.
22363
f86a4030
CW
223642010-08-23 Colin Watson <cjwatson@ubuntu.com>
22365
22366 * kern/mips/startup.S (grub_prefix): Update comment to refer to
22367 grub-mkimage rather than grub-mkelfimage.
22368 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
22369
06776944
VS
223702010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
22371
22372 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
22373 a key after CapsLock or NumLock. It's just a qemu bug.
22374
df262419
VS
223752010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
22376
22377 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
22378 needed by libusb wrapper.
22379
b40ea81b
ST
223802010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
22381
22382 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
22383
dee50575
VS
223842010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
22385
22386 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
22387 --nounzip is passed.
22388
fb1d7b79
VS
223892010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
22390
22391 USB hotunplugging and USB serial support.
22392
22393 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
22394 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
22395 (grub_uhci_transfer): Respect timeout and set *actual.
22396 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
22397 non-standard length.
22398 (grub_usb_device_attach): Autoload modules.
22399 (GRUB_MOD_INIT): Set grub_term_poll_usb.
22400 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
22401 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
22402 users updated.
22403 (grub_usb_add_hub): Fill nports and children.
22404 (attach_root_port): Receive hub instead of controller.
22405 All users updated. Fill hub->devices.
22406 (grub_usb_root_hub): Allocate hub->devices.
22407 (detach_device): New function.
22408 (poll_nonroot_hub): Fill children and detach devices.
22409 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
22410 actual arguments. All users updated.
22411 (grub_usb_bulk_read_extended): New function.
22412 * bus/usb/serial/common.c: New file.
22413 * bus/usb/serial/ftdi.c: Likewise.
22414 * bus/usb/serial/pl2303.c: Likewise.
22415 * commands/terminal.c (handle_command): Support wildcard.
22416 * commands/usbtest.c: Output "Unknown" instead of empty string.
22417 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
22418 (usbserial_common_mod_SOURCES): New variable.
22419 (usbserial_common_mod_CFLAGS): Likewise.
22420 (usbserial_common_mod_LDFLAGS): Likewise.
22421 (pkglib_MODULES): Add usbserial_pl2303.mod.
22422 (usbserial_pl2303_mod_SOURCES): New variable.
22423 (usbserial_pl2303_mod_CFLAGS): Likewise.
22424 (usbserial_pl2303_mod_LDFLAGS): Likewise.
22425 (pkglib_MODULES): Add usbserial_ftdi.mod.
22426 (usbserial_ftdi_mod_SOURCES): New variable.
22427 (usbserial_ftdi_mod_CFLAGS): Likewise.
22428 (usbserial_ftdi_mod_LDFLAGS): Likewise.
22429 (pkglib_MODULES): Add serial.mod.
22430 (serial_mod_SOURCES): New variable.
22431 (serial_mod_CFLAGS): Likewise.
22432 (serial_mod_LDFLAGS): Likewise.
22433 * conf/i386-pc.rmk: Likewise.
22434 * conf/mips-yeeloong.rmk: Likewise.
22435 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
22436 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
22437 * disk/usbms.c (first_available_slot): New variable.
22438 (grub_usbms_attach): Don't reuse free slots due to potential cache
22439 problems.
22440 * include/grub/serial.h: Moved to ..
22441 * include/grub/ns8250.h: ...this.
22442 * include/grub/serial.h: New file.
22443 * include/grub/term.h (grub_term_poll_usb): New variable.
22444 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
22445 readkey. All users updated.
22446 (grub_terminfo_output_state): Pass term to put.
22447 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
22448 (grub_usb_controller_dev): Add timeout and actual arguments to
22449 transfer. All users updated.
22450 (grub_usb_interface): New field detach_data.
22451 (grub_usb_device): New fields children and nports.
22452 (grub_usb_ep_type_t): New type.
22453 (grub_usb_get_ep_type): New function.
22454 (grub_usb_bulk_read_extended): Likewise.
22455 * include/grub/usbdesc.h (grub_usb_desc): New type.
22456 * include/grub/usbserial.h: New file.
22457 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
22458 * kern/term.c (grub_term_poll_usb): New variable.
22459 (grub_getkey): Call grub_term_poll_usb if set.
22460 (grub_checkkey): Likewise.
22461 (grub_getkeystatus): Likewise.
22462 * term/serial.c: Moved controller-specific parts to ...
22463 * term/ns8250.c: ... here.
22464 * term/serial.c: Mostly rewritten.
22465 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
22466 according to spec.
22467
21a313de
RM
224682010-08-20 Robert Millan <rmh@gnu.org>
22469
22470 Make kFreeBSD code more generic to support ext2fs as root, ufs as
22471 a separate module and maybe other interesting combinations.
22472
22473 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
22474 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
22475 (kfreebsd_entry): Add generic filesystem module load routine.
22476 Map GRUB `ext2' to kFreeBSD `ext2fs'.
22477
63c734a6
CW
224782010-08-20 Colin Watson <cjwatson@ubuntu.com>
22479
22480 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
22481 "numcenter" (I misunderstood the purpose of this entry).
22482 * docs/grub.texi (sendkey): Likewise.
22483
c4d16542
CW
224842010-08-20 Colin Watson <cjwatson@ubuntu.com>
22485
22486 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
22487 status flag options; simply omitting the option is equivalent and
22488 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
22489 (keysym_table): Rename "num5numlock" to "numlock".
22490 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
22491 can uniformly say that only the last of multiple `sendkey'
22492 invocations has any effect.
22493 * docs/grub.texi (sendkey): New section.
22494
93541d66
CW
224952010-08-19 Colin Watson <cjwatson@ubuntu.com>
22496
22497 * commands/i386/pc/sendkey.c (options): Fix three typos.
22498
b4ece5e1
VS
224992010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
22500
22501 Implement sendkey support.
22502
22503 * commands/i386/pc/sendkey.c: New file.
22504 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
22505 (sendkey_mod_SOURCES): New variable.
22506 (sendkey_mod_CFLAGS): Likewise.
22507 (sendkey_mod_LDFLAGS): Likewise.
22508
51f1f5af
CW
225092010-08-18 Colin Watson <cjwatson@ubuntu.com>
22510
22511 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
22512 fix warnings from Autoconf.
22513
9da94e05
CW
225142010-08-18 Colin Watson <cjwatson@ubuntu.com>
22515
22516 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
22517 to avoid false positives with some assemblers that output things
22518 like "someprefix_func" as part of their output.
22519
729a0f2e
RM
225202010-08-15 Robert Millan <rmh@gnu.org>
22521
22522 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
22523 errors.
22524 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
22525 grub_get_libzfs_handle() errors.
22526
f3710e08
RM
225272010-08-14 Robert Millan <rmh@gnu.org>
22528
22529 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
22530 filesystem is not ZFS.
22531
7a3c13de
BC
225322010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
22533
22534 Fix for misspelled color names defaulting to black/black (bug
22535 reported by Doug Nazar)
22536
22537 * include/grub/normal.h (grub_parse_color_name_pair): Add return
22538 status to prototype.
22539 * normal/color.c (grub_parse_color_name_pair): Return failure
22540 status.
22541 (grub_env_write_color_normal): Ignore bad color names.
22542 (grub_env_write_color_highlight): Likewise.
22543 * normal/main.c (GRUB_MOD_INIT): Set default color names.
22544
ab8ba50d
BC
225452010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
22546
22547 "shift" command support to GRUB script.
22548
22549 * include/grub/script_sh.h (grub_script_shift): New prototype.
22550 * script/execute.c (grub_script_shift): New function.
22551 * script/main.c (grub_script_init): Register shift command.
22552 (grub_script_fini): Unregister shift command.
22553 * util/grub-script-check.c (grub_script_cmd_shift): New function.
22554
22555 * tests/grub_script_shift.in: New testcase.
22556 * conf/tests.rmk: Rules for new testcase.
22557
4d61999e
BC
225582010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
22559
22560 "continue" command support to GRUB script.
22561
22562 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
22563 (grub_script_break): Continue support.
22564 * script/main.c (grub_script_init): Register continue command.
22565 (grub_script_fini): Unregister continue command.
22566
22567 * tests/grub_script_continue.in: New testcase.
22568 * conf/tests.rmk: Rules for new testcase.
22569
4df51e00
BC
225702010-08-12 BVK Chaitanya <bvk@dbook>
22571
22572 "break" command support to GRUB script.
22573
22574 * conf/common.rmk: Rule updates to grub-script-check.
22575 * include/grub/misc.h (grub_min): New function.
22576 * include/grub/script_sh.h (grub_script_init): New prototype.
22577 (grub_script_fini): New prototype.
22578 (grub_script_break): New prototype.
22579 * script/main.c (grub_script_init): New function.
22580 (grub_script_fini): New function.
22581 * script/execute.c (grub_script_break): New function.
22582 * normal/main.c: Calls to grub_script_{init,fini}.
22583 * util/grub-script-check.c (grub_script_break): New function.
22584
22585 * tests/grub_script_break.in: New testcase.
22586 * conf/tests.rmk: Rules for new test case.
22587
f12c8420
BC
225882010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
22589
22590 Function parameters support to GRUB script.
22591
22592 * script/yylex.l (VARIABLE): Regular expression update.
22593 * script/function.c (grub_script_function_call): Moved ...
22594 * script/execute.c (grub_script_function_call): ... to here.
22595 (grub_script_execute_arglist_to_argv): Removed.
22596 (grub_script_arglist_to_argv): New function.
22597 * script/argv.c: New file.
22598 (grub_script_argv_free): New function.
22599 (grub_script_argv_next): Likewise.
22600 (grub_script_argv_append): Likewise.
22601 (grub_script_argv_split_append): Likewise.
22602 * include/grub/script_sh.h (grub_script_argv): New struct.
22603 (grub_script_argv_free): New function.
22604 (grub_script_argv_next): Likewise.
22605 (grub_script_argv_append): Likewise.
22606 (grub_script_argv_split_append): Likewise.
22607
22608 * conf/common.rmk (normal.mod): New source script/argv.c.
22609
22610 * tests/grub_script_echo1.in: More tests.
22611 * tests/grub_script_vars1.in: Likewise.
22612 * tests/grub_script_functions.in: New test case.
22613 * conf/tests.rmk: Rules for new testcase.
22614
8022b748
BC
226152010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
22616
22617 Remove grub_script_cmdblock struct.
22618
22619 * include/grub/script_sh.h: Remove grub_script_cmdblock.
22620 * script/parser.y: Likewise.
22621 * script/execute.c: Rename cmdblock suffix to cmdlist.
22622 * script/script.c: Likewise.
22623 * util/grub-script-check.c: Likewise.
22624
79a6ba61
YB
226252010-08-11 Yves Blusseau <blusseau@zetam.org>
22626
22627 * .bzrignore: add grub-macho2img
22628
d04b9414
VS
226292010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
22630
22631 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
22632
f947ab49
VS
226332010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
22634
22635 Remove the dump of sm712 initialisation sequence.
22636
22637 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
22638 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
22639 (GRUB_VGA_IO_MISC_WRITE): Likewise.
22640 (GRUB_VGA_CR_*): Added many registers.
22641 (GRUB_VGA_SR_*): Likewise.
22642 (GRUB_VGA_GR_*): Likewise.
22643 (grub_vga_write_arx): New function.
22644 (grub_video_hw_config): New struct.
22645 (grub_vga_set_geometry): New function.
22646 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
22647 GRUB_PCI_CLASS_SUBCLASS_VGA.
22648 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
22649 * video/sm712.c (grub_sm712_write_reg): New function
22650 (grub_sm712_read_reg): Likewise.
22651 (grub_sm712_sr_write): Likewise.
22652 (grub_sm712_gr_write): Likewise.
22653 (grub_sm712_cr_write): Likewise.
22654 (grub_sm712_write_arx): Likewise.
22655 (grub_sm712_cr_shadow_write): Likewise.
22656 (grub_sm712_write_dda_lookup): Likewise.
22657 (grub_video_sm712_setup): Initialise the video rather then
22658 blindly replay the dump.
22659 (main) [TEST]: Add a routine to be able to compile as standalone for
22660 tests.
22661 * video/sm712_init.c (sm712_init): Removed.
22662 (sm712_sr_seq1): New array.
22663 (sm712_sr_seq2): Likewise.
22664
f0206638
VS
226652010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
22666
22667 * include/grub/vga.h: Add missing grub/pci.h include.
22668
2764da3b
YB
226692010-08-10 Yves Blusseau <blusseau@zetam.org>
22670
22671 * util/grub-macho2img.c (main): fix typo
22672
cf0c775e
VS
226732010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
22674
22675 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
22676 (grub_vga_gr_read): Likewise.
22677 (grub_vga_cr_write): Likewise.
22678 (grub_vga_cr_read): Likewise.
22679 (grub_vga_sr_write): Likewise.
22680 (grub_vga_sr_read): Likewise.
22681 (grub_vga_palette_read): Likewise.
22682 (grub_vga_palette_write): Likewise.
22683 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
22684 (grub_sm712_sr_read): New function.
22685 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
22686 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
22687
07f360e9
RM
226882010-08-09 Robert Millan <rmh@gnu.org>
22689
22690 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
22691 out unused variables on non-ZFS build.
22692
346c2072
RM
226932010-08-08 Robert Millan <rmh@gnu.org>
22694
22695 Fix path generation for sub-filesystems in ZFS.
22696
22697 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
22698 missing slash.
22699
71175420
RM
227002010-08-08 Robert Millan <rmh@gnu.org>
22701
22702 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
22703
0d8286f3
RM
227042010-08-08 Robert Millan <rmh@gnu.org>
22705
22706 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
22707 exist, issue a proper error message (rely on `ls' for translated
22708 strings).
22709
55dd2924
RM
227102010-08-08 Robert Millan <rmh@gnu.org>
22711
22712 Fix grub-probe invocation.
22713
22714 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
22715
d3dd9e80
RM
227162010-08-04 Robert Millan <rmh@gnu.org>
22717
22718 * configure.ac: Remove checks for getfsstat() and getmntany().
22719 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
22720 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
22721 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
22722 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
22723 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
22724 function.
22725 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
22726 via find_mount_point_from_dir() and getfsstat() / getmntany().
22727
0de22aa9
RM
227282010-08-04 Robert Millan <rmh@gnu.org>
22729
22730 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
22731 (grub_find_zpool_from_mount_point): Merge into ...
22732 (grub_find_zpool_from_dir): ... this.
22733 * kern/emu/misc.c: Likewise.
22734
22735 * kern/emu/misc.c
22736 (grub_make_system_path_relative_to_its_root): Replace
22737 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
22738 with grub_find_zpool_from_dir().
22739 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
22740
62858144
RM
227412010-08-04 Robert Millan <rmh@gnu.org>
22742
22743 Support OpenSolaris in ZFS device resolution.
22744
22745 * configure.ac: Check for getmntany().
22746 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
22747 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
22748 support.
22749
9dd6fd50
RM
227502010-08-03 Robert Millan <rmh@gnu.org>
22751
22752 Fix grub-emu build.
22753
22754 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
22755 * include/grub/emu/misc.h: ... here.
22756
22757 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
22758 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
22759
22760 * util/misc.c: Remove `<grub/util/libzfs.h>'.
22761 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
22762 (grub_get_libzfs_handle): Move to ...
22763 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
22764 (grub_get_libzfs_handle): ... here.
22765
c9f7ff97
BC
227662010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
22767
22768 * script/execute.c (grub_script_execute_cmdline): Check for NULL
22769 as command name case.
22770
a870a783
CW
227712010-08-02 Colin Watson <cjwatson@ubuntu.com>
22772
22773 * disk/raid.c (insert_array): Select unique numbers for named arrays
22774 as well, for use as keys in the disk cache.
22775
c7db243b
RM
227762010-08-01 Robert Millan <rmh@gnu.org>
22777
22778 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
22779 kFreeBSD device name, except on ZFS where the filesystem label is
22780 used.
22781 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
22782 `/boot/zfs/zpool.cache'.
22783 Set mountfrom kernel variable using ${kfreebsd_device}.
22784
f7abdefb
RM
227852010-08-01 Robert Millan <rmh@gnu.org>
22786
22787 Make it even harder to use uninitialized `libzfs_handle' (and
22788 make the interface a bit simpler).
22789
22790 * include/grub/util/misc.h (grub_util_init_libzfs)
22791 (libzfs_handle): Remove.
22792 (grub_get_libzfs_handle): New prototype.
22793
22794 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
22795 attribute.
22796 (grub_util_init_libzfs): Remove.
22797 (grub_get_libzfs_handle): New function.
22798
22799 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
22800 grub_get_libzfs_handle() to obtain a libzfs handle instead of
22801 accessing `libzfs_handle' directly.
22802
c882acc0
RM
228032010-08-01 Robert Millan <rmh@gnu.org>
22804
22805 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
22806 (grub_find_zpool_from_mount_point): New function prototypes.
22807
22808 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
22809 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
22810
22811 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
22812 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
22813 `static' attribute.
22814
22815 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
22816 finding zpool from mount point into ...
22817 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
22818
22819 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
22820 requested path is part of a ZFS pool, use
22821 grub_find_zpool_from_mount_point() to detect its filesystem name,
22822 and generate a path with `/fsname@path' syntax.
22823
8bfe31d8
CW
228242010-08-01 Colin Watson <cjwatson@ubuntu.com>
22825
22826 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
22827 (void) rather than () so that this is a proper prototype.
22828
553df63d
VS
228292010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
22830
22831 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
22832
8687cf07
VS
228332010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
22834
22835 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
22836 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
22837
ea9be8ea
CW
228382010-08-01 Colin Watson <cjwatson@ubuntu.com>
22839
22840 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
22841
6eea041a
CW
228422010-08-01 Colin Watson <cjwatson@ubuntu.com>
22843
22844 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
22845
2cfb45df
CW
228462010-08-01 Colin Watson <cjwatson@ubuntu.com>
22847
22848 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
22849 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
22850 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
22851 disable gfxpayload.
22852 (Shell-like scripting): Add real content.
22853 (Serial terminal): Suggest `terminal_input serial; terminal_output
22854 serial' rather than putting the two commands on separate lines,
22855 since console input will be inoperative after the first command.
22856 (menuentry): Document --class, --users, and --hotkey options.
22857 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
22858 Vladimir Serbinenko).
22859
7decd202
VS
228602010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
228612010-08-01 Colin Watson <cjwatson@ubuntu.com>
22862
22863 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
22864
c882acc0
RM
228652010-08-01 Robert Millan <rmh@gnu.org>
22866
22867 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
22868 (grub_find_zpool_from_mount_point): New function prototypes.
22869
22870 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
22871 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
22872
22873 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
22874 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
22875 `static' attribute.
22876
22877 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
22878 finding zpool from mount point into ...
22879 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
22880
22881 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
22882 requested path is part of a ZFS pool, use
22883 grub_find_zpool_from_mount_point() to detect its filesystem name,
22884 and generate a path with `/fsname@path' syntax.
22885
deb0caa3
RM
228862010-08-01 Robert Millan <rmh@gnu.org>
22887
22888 Prevent accidental use of uninitialized libzfs_handle.
22889
22890 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
22891 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
22892 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
22893
ce04ef47
CW
228942010-08-01 Colin Watson <cjwatson@ubuntu.com>
22895
22896 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
22897 util/grub.d/10_linux.in). Fixes Debian bug #591093.
22898
ebf53056
RM
228992010-08-01 Robert Millan <rmh@gnu.org>
22900
22901 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 22902
3710bb6b
RM
229032010-07-31 Robert Millan <rmh@gnu.org>
22904
22905 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
22906
8072efeb
RM
229072010-07-31 Robert Millan <rmh@gnu.org>
22908
22909 * kern/emu/misc.c: Add missing license header.
22910
3169f4c7
RM
229112010-07-31 Robert Millan <rmh@gnu.org>
22912
22913 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
22914
22915 * include/grub/util/libnvpair.h: Include `<config.h>'.
22916 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
22917 declaring libnvpair prototypes ourselves.
22918 * include/grub/util/libzfs.h: Include `<config.h>'.
22919 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
22920 declaring libzfs prototypes ourselves.
22921
22922 (libzfs_handle): Moved to ...
22923 * include/grub/util/misc.h (libzfs_handle): ... here.
22924 Include `<grub/util/libzfs.h>'.
22925
c9a00aee
RM
229262010-07-30 Robert Millan <rmh@gnu.org>
22927
22928 * include/grub/emu/misc.h: Add missing license header.
22929
a184f9c8
RM
229302010-07-30 Robert Millan <rmh@gnu.org>
22931
22932 Enable `grub-probe -t device' resolution on ZFS.
22933
22934 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
22935 * include/grub/util/libnvpair.h: New file.
22936 * include/grub/util/libzfs.h: New file.
22937
22938 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
22939 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
22940 `<grub/util/libnvpair.h>'.
22941 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
22942
22943 (find_mount_point_from_dir): New static function.
22944 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
22945 function.
22946 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
22947 find_root_device_from_libzfs() before ressorting to find_root_device().
22948
22949 * include/grub/util/misc.h (grub_util_init_libzfs): New function
22950 prototype.
22951 * util/misc.c: Include `<grub/util/libzfs.h>'.
22952 (grub_util_init_libzfs): New function.
22953 [HAVE_LIBZFS] (libzfs_handle): New global variable.
22954 [HAVE_LIBZFS] (fini_libzfs): New static function.
22955 (grub_util_init_libzfs): New function.
22956 * util/grub-probe.c (main): Call grub_util_init_libzfs().
22957
f7790cdd
RM
229582010-07-30 Robert Millan <rmh@gnu.org>
22959
22960 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
22961 (xmalloc, xrealloc, xstrdup, xasprintf): Add
22962 `warn_unused_result' attribute.
22963 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
22964 (grub_xasprintf, grub_xvasprintf): Likewise.
22965 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
22966
0806b63c
RM
229672010-07-29 Robert Millan <rmh@gnu.org>
22968
22969 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
22970 (probe): Handle `PRINT_FS_LABEL'.
22971 (main): Handle `-t fs_label'.
22972
9f841f5c
RM
229732010-07-29 Robert Millan <rmh@gnu.org>
22974
22975 * configure.ac: Remove grub-mkisofs checks.
22976
46371121
VS
229772010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
22978
22979 * util/ieee1275/grub-install.in: Don't use empty grub_device.
22980 Reported by: Lennart Sorensen.
22981
229822010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22983
22984 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
22985 prior to terminal_input/terminal_output separation. It's been over 1.5
22986 years and those versions weren't widely deployed.
22987
a9600892
CW
229882010-07-22 Colin Watson <cjwatson@ubuntu.com>
22989
22990 * disk/raid.c (insert_array): Don't count named arrays when looking
22991 for unused array numbers.
697e053c 22992 Reported and tested by: Michael Guntsche.
a9600892 22993
c03507df
CW
229942010-07-20 Colin Watson <cjwatson@ubuntu.com>
22995
22996 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
22997 implementation of this so that grub-emu links again, with a note
22998 that this should support hotplugging in the future.
22999
b26f1c11
CW
230002010-07-20 Colin Watson <cjwatson@ubuntu.com>
23001
23002 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
23003
efc9d7f1
CW
230042010-07-20 Colin Watson <cjwatson@ubuntu.com>
23005
23006 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
23007 handle on failure.
23008 (grub_loopback_close): Remove empty function.
23009 (grub_loopback_dev): Remove close method.
23010
dd8ff5c9
CW
230112010-07-20 Colin Watson <cjwatson@ubuntu.com>
23012
23013 Disable EFI cursor when the EFI console becomes inactive.
23014
23015 * term/efi/console.c (grub_efi_console_init): New function.
23016 (grub_efi_console_fini): New function.
23017 (grub_console_term_output): Register init and fini methods.
23018
5e3bec67
VS
230192010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
23020
23021 * tests/util/grub-shell-tester.in: Remove bashism and declare as
23022 sh script.
23023
afaec079
VS
230242010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
23025
23026 * disk/loopback.c (grub_loopback): Replace filename with file.
23027 (delete_loopback): Handle new semantics.
23028 (grub_cmd_loopback): Likewise.
23029 (grub_loopback_iterate): Likewise.
23030 (grub_loopback_close): Likewise.
23031
a6a11f3c
VS
230322010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
23033
23034 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
23035 with -p "".
23036 Reported by: Tito Keitel.
23037
64a638b0
VS
230382010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
23039
23040 * docs/grub.texi (Naming convention): Document new naming convention.
23041
ab8ba957
VS
230422010-07-20 Vadim Solomin <vadic052@gmail.com>
230432010-07-20 Colin Watson <cjwatson@ubuntu.com>
23044
23045 Generate device.map in something closer to the old ordering.
23046
23047 * util/deviceiter.c (struct device): New declaration.
23048 (compare_file_names): Rename to ...
23049 (compare_devices): ... this. Sort by kernel name in preference to
23050 the stable by-id name, but keep the latter as a fallback comparison.
23051 Update header comment.
23052 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
23053 of `struct device' rather than of plain file names.
23054
a29d6a4b
TF
230552010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
23056
23057 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
23058 on i386.
23059
39d824e8
VS
230602010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
23061
23062 * commands/acpi.c (setup_common_tables): Use sizeof instead of
23063 hardcoding size.
23064 (setv1table): Likewise.
23065
f058276b
FZ
230662010-07-20 Colin Watson <cjwatson@ubuntu.com>
23067
23068 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
23069 removing the homehost if present.
23070 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
23071 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
23072 removing the homehost if present.
23073 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
23074 if possible.
23075 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
23076
23077 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
23078 parameter. Set its pointer target to 0.
23079 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
23080 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
23081 `data_offset' value from the superblock for 1.x metadata.
23082 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
23083 data on the device.
23084 (insert_array): Record the start sector of data on the device.
23085 (grub_raid_register): Pass start_sector parameters to
23086 grub_raid_list->detect and insert_array.
23087 * include/grub/raid.h (struct grub_raid_array): Add start_sector
23088 member.
23089 (struct grub_raid): Add start_sector parameter to `detect'.
23090
23091 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
23092 __attribute__ ((packed)), leaving a comment.
23093 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
23094 (grub_mdraid_detect_09): ... here and ...
23095 (grub_mdraid_detect_1x): ... here.
23096
230972010-07-20 Peter Henn <peter.henn@web.de>
23098
23099 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
23100 chunk size and disk size, which are already given as sector counts
23101 as distinct from the 0.90 units. Fetch the correct device number
23102 from the role table instead of using the table index.
23103
231042010-07-20 Felix Zielcke <fzielcke@z-51.de>
23105
23106 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
23107 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
23108 (WriteMostly1): New macro.
23109 Set array->name to NULL for metadata format 0.90. Add support for
23110 metadata 1.x. Fix some comments.
23111 * disk/raid.c (): Add support for name based RAID arrays. Fix a
23112 few comments.
23113 * util/getroot.c (grub_util_get_grub_dev): Add support for
23114 /dev/md/name style devices.
23115
4b761da9
CW
231162010-07-20 Colin Watson <cjwatson@ubuntu.com>
23117
23118 * .bzrignore: Ignore 20_linux_xen.
23119
5771289a
CW
231202010-07-17 Colin Watson <cjwatson@ubuntu.com>
23121
23122 * util/import_unicode.py: Remove unnecessary imports.
23123
5dab68df
AN
231242010-07-17 Aleš Nesrsta <starous@volny.cz>
23125
23126 Hotplugging and USB hub support.
23127
23128 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
23129 (grub_ohci): Likewise.
23130 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
23131 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
23132 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
23133 (GRUB_OHCI_CTRL_EDS): Likewise.
23134 (GRUB_OHCI_BULK_EDS): Likewise.
23135 (GRUB_OHCI_TDS): Likewise.
23136 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
23137 (grub_ohci_ed_phys2virt): New function.
23138 (grub_ohci_virt_to_phys): Likewise.
23139 (grub_ohci_td_phys2virt): Likewise.
23140 (grub_ohci_td_virt2phys): Likewise.
23141 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
23142 attachment.
23143 (grub_ohci_find_ed): New function.
23144 (grub_ohci_alloc_td): Likewise.
23145 (grub_ohci_free_td): Likewise.
23146 (grub_ohci_free_tds): Likewise.
23147 (grub_ohci_transfer): Use previously allocated memory.
23148 (grub_ohci_portstatus): Reset status changed bit.
23149 (grub_ohci_detect_dev): Supply status changed.
23150 (grub_ohci_fini_hw): Free memory.
23151 (grub_ohci_restore_hw): Reallocate memory.
23152 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
23153 Reset status change.
23154 (grub_uhci_detect_dev): Supply status_change.
23155 * bus/usb/usb.c (attach_hooks): New var.
23156 (grub_usb_device_attach): New function.
23157 (grub_usb_register_attach_hook_class): Likewise.
23158 (grub_usb_unregister_attach_hook_class): Likewise.
23159 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
23160 (grub_usb_add_hub): Reset connection changed bit.
23161 (attach_root_port): New function.
23162 (grub_usb_root_hub): Likewise.
23163 (poll_nonroot_hub): Likewise.
23164 (grub_usb_poll_devices): Likewise.
23165 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
23166 * disk/usbms.c (grub_usbms_open): Use device hooks.
23167 (grub_usbms_iterate) :Poll devices.
23168 (grub_usbms_finddevs): Split into ...
23169 (grub_usbms_attach): ... this ...
23170 (grub_usbms_attach): ... and this.
23171 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
23172 in detect_dev.
23173 (grub_usb_interface): New fields attached and detach_hook.
23174 (grub_usb_attach_hook_class): New type.
23175 (grub_usb_attach_desc): New struct.
23176 (grub_usb_register_attach_hook_class): New function.
23177 (grub_usb_unregister_attach_hook_class): Likewise.
23178 (grub_usb_poll_devices): Likewise.
23179 (grub_usb_device_attach): Likewise.
23180 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
23181 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
23182
3222efaf
VS
231832010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
23184
23185 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
23186 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
23187 delta determination style. Works with most NetBSD partitions too.
23188
139b714a
VS
231892010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
23190
23191 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
23192 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
23193
986aad56
VS
231942010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
23195
23196 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
23197
99be513c
AB
231982010-07-14 Anton Blanchard <anton@samba.org>
23199
23200 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
23201 ET_DYN files.
23202
18075f62
GS
232032010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
23204
23205 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
23206
8d9a5b15
GS
232072010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
23208
23209 * kern/partition.c (grub_partition_check_containment): New function to
23210 check that a partition is physically contained in a parent. Since
23211 offsets are relative (and non-negative), this reduces to checking that
23212 the partition ends before its parent.
23213 (grub_partition_map_probe): Discard out-of-range sub-partitions.
23214 (grub_partition_iterate): Likewise.
23215 * include/grub/partition.h (grub_partition_map): Slightly more detailed
23216 comments.
23217 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
23218 partitions that start before their parent, and add debug printfs.
23219
19563c25
CW
232202010-07-13 Colin Watson <cjwatson@ubuntu.com>
23221
23222 * Makefile.in (.SUFFIX): Spell correctly, as ...
23223 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
23224 bare module name without `.mod', e.g. `test') tried to invoke a
23225 Modula-2 compiler.
23226
1a1f1e67
CW
232272010-07-13 Colin Watson <cjwatson@ubuntu.com>
23228
23229 * README: Point to the Info manual.
23230
811b0dca
JS
232312010-07-13 Jiro SEKIBA <jir@unicus.jp>
23232
23233 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
23234 2nd superblock position from partition size.
23235
e4f4eafc
CW
232362010-07-10 Colin Watson <cjwatson@ubuntu.com>
23237
23238 * Makefile.in (MAINTAINER_CLEANFILES): Remove
23239 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
23240 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
23241 outputs.
23242
4274c30f
VS
232432010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
23244
23245 Restructure SCSI .id handling.
23246 Reported and tested by: Aleš Nesrsta.
23247
23248 * disk/ata.c (grub_atapi_close): Removed. All users updated.
23249 (grub_atapi_dev): Changed .name to "ata". New field .id.
23250 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
23251 (grub_usbms_dev): New field .id.
23252 * disk/scsi.c (grub_scsi_iterate): Generate name.
23253 (grub_scsi_open): Parse name.
23254 * include/grub/scsi.h (grub_make_scsi_id): New function.
23255 (grub_scsi_dev): Change iterate and open to number instead of naming
23256 busses. All users updated.
23257 (grub_scsi): Remove name. Add .bus.
23258
5bc24388
VS
232592010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
23260
23261 * commands/help.c (grub_cmd_help): Fix a typo.
23262
249975ba
VS
232632010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
23264
23265 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
23266 Reported and tested by: Colin Watson.
23267
3eaac1a1
VS
232682010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
23269
23270 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
23271 in this context.
23272
becce1b1
VS
232732010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
23274
23275 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
23276
f7bf0918
CW
232772010-07-07 Colin Watson <cjwatson@ubuntu.com>
23278
23279 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
23280 indentation.
23281
0b0f9620
CW
232822010-07-06 Colin Watson <cjwatson@ubuntu.com>
23283
23284 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
23285 and disk/raid6_recover.c.
23286 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
23287 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
23288
1e545469
CW
232892010-07-06 Colin Watson <cjwatson@ubuntu.com>
23290
23291 * term/gfxterm.c (repaint_schedulded): Rename to ...
23292 (repaint_scheduled): ... this. Update all callers.
23293 (repaint_was_schedulded): Rename to ...
23294 (repaint_was_scheduled): ... this. Update all callers.
23295
5357687a
CW
232962010-07-06 Colin Watson <cjwatson@ubuntu.com>
23297
23298 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
23299 which we expect to be handled by upper layers.
23300
29d7e783
BC
233012010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
23302
23303 * bus/usb/usbhub.c: #include time.h header.
23304
37582066
CW
233052010-07-06 Colin Watson <cjwatson@ubuntu.com>
23306
23307 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
23308 entry_name also for entries without stat blocks (e.g. ".."); fixes
23309 corruption of the first entry in a directory.
23310
c8c06953
CW
233112010-07-06 Colin Watson <cjwatson@ubuntu.com>
23312
23313 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
23314 after setting gfxterm as the active terminal. GRUB_BACKGROUND
23315 doesn't work otherwise.
23316
e75056f1
CW
233172010-07-05 Colin Watson <cjwatson@ubuntu.com>
23318
23319 * docs/grub.texi (Features): Update list of supported file systems.
23320 (GNU/Linux): Update for GRUB 2.
23321 (Serial terminal): Remove mention of --disable-serial, which was a
23322 GRUB Legacy configure option. Update instructions to use
23323 `terminal_input' and `terminal_output' rather than `terminal'.
23324 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
23325 configuration' and `Installing GRUB using grub-install'.
23326 (Menu entry editor): Update for GRUB 2.
23327 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
23328 Document new -a, -u, and -v options.
23329 (initrd): New section.
23330 (initrd16): New section.
23331 (linux): New section.
23332 (linux16): New section.
23333 (search): The `var' argument to `--set' is optional.
23334 (GRUB only offers a rescue shell): Go into a little more detail on
23335 drive ordering.
23336
5cf69151
CW
233372010-07-05 Colin Watson <cjwatson@ubuntu.com>
23338
23339 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
23340
e3f90044
CW
233412010-07-05 Colin Watson <cjwatson@ubuntu.com>
23342
23343 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
23344 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
23345
38d8f4f3
CW
233462010-07-05 Colin Watson <cjwatson@ubuntu.com>
23347
23348 * util/i386/pc/grub-setup.c (setup): Rename prefix to
23349 install_prefix, in line with install_dos_part and install_bsd_part.
23350 Add new prefix variable, which is copied to install_prefix after
23351 comparing core.img in memory with the one read from disk in the
23352 no-embedding case, and use that rather than overwriting
23353 install_prefix immediately when installing to a partition.
23354 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
23355 Bicakci.
23356
57ebd41e
GS
233572010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
23358
23359 * configure.ac: Avoid == in test command, it's not portable.
23360 * util/grub.d/30_os-prober.in: Likewise.
23361
cb7f64b2
CW
233622010-07-04 Colin Watson <cjwatson@ubuntu.com>
23363
23364 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
23365
6b654bb0
GS
233662010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
23367
23368 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
23369 multiple (top-level) partmaps.
23370
72a2026d
VS
233712010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
23372
23373 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 23374 Reported by: Tino Keitel.
72a2026d 23375
df3eb88f
VS
233762010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
23377
23378 Bidi and diacritics support.
23379
23380 * Makefile.in (widthspec.bin): New target.
23381 (widthspec.h): Likewise.
23382 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
23383 * autogen.sh: Generate unidata.c.
23384 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
23385 * commands/ls.c (grub_ls_list_devices): Likewise.
23386 (grub_ls_list_files): Likewise.
23387 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
23388 (grub_mini_cmd_lsmod): Likewise.
23389 * commands/read.c: Likewise.
23390 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
23391 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
23392 * lib/arg.c (grub_arg_show_help): Likewise.
23393 * lib/crypto.c (grub_password_get): Likewise.
23394 * normal/auth.c (grub_username_get): Likewise.
23395 * normal/misc.c (grub_normal_print_device_info): Likewise.
23396 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
23397 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
23398 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
23399 (normal/charset.c_DEPENDENCIES): New variable.
23400 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
23401 (pkglib_MODULES): Remove charset.mod.
23402 (charset_mod_SOURCES): Removed.
23403 (charset_mod_CFLAGS): Likewise.
23404 (charset_mod_LDFLAGS): Likewise.
23405 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
23406 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
23407 and term/tparm.c.
23408 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
23409 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
23410 (kernel_img_HEADERS): Add terminfo.h.
23411 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
23412 Fill ->font. Reverse ascii bitmaps.
23413 (grub_font_get_xheight): New function.
23414 * font/font.c (grub_font_get_string_width): Moved from here ...
23415 * gfxmenu/font.c (grub_font_get_string_width): ... here.
23416 * font/font.c (grub_font_draw_string): Moved from here ...
23417 * gfxmenu/font.c (grub_font_draw_string): ... here.
23418 * font/font.c (grub_font_dup_glyph): New function.
23419 (grub_font_blit_glyph): Likewise.
23420 (grub_font_blit_glyph_mirror): Likewise.
23421 (blit_comb): Likewise.
23422 (grub_font_construct_dry_run): Likewise.
23423 (grub_font_get_constructed_device_width): Likewise.
23424 (grub_font_construct_glyph): Likewise.
23425 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
23426 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
23427 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
23428 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
23429 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
23430 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
23431 (grub_font_get_xheight): New proto.
23432 (grub_font_get_constructed_device_width): Likewise.
23433 (grub_font_construct_glyph): Likewise.
23434 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
23435 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
23436 * include/grub/font.h (grub_font_draw_string): Moved from here ...
23437 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
23438 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
23439 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
23440 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
23441 (grub_console_getcharwidth): Likewise.
23442 * include/grub/misc.h (grub_xputs): New proto.
23443 (grub_puts): Inlined.
23444 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
23445 (grub_normal_get_line_counter): Removed.
23446 (grub_install_newline_hook): Likewise.
23447 (grub_normal_get_char_counter): New proto.
23448 (grub_normal_reset_more): Likewise.
23449 (grub_xputs_normal): Likewise.
23450 * include/grub/powerpc/ieee1275/console.h: Removed.
23451 * include/grub/sparc64/ieee1275/console.h: Likewise.
23452 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
23453 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
23454 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
23455 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
23456 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
23457 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
23458 (grub_term_input): Pass reference to self. All users updated.
23459 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
23460 Pass reference to self. New fields normal_color, highlight_color and
23461 data. All users updated.
23462 (grub_putchar): Removed.
23463 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
23464 (grub_unicode_estimate_width): New function.
23465 (grub_term_getcharwidth): Add defaults.
23466 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
23467 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
23468 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
23469 (grub_cls): Remove EXPORT_FUNC.
23470 (grub_setcolorstate): Inline.
23471 (grub_newline_hook): Removed.
23472 * include/grub/terminfo.h: Rewritten. All users updated.
23473 * include/grub/unicode.h: New file.
23474 * include/grub/video.h (grub_video_signed_rect): New type.
23475 * kern/emu/console.c (grub_console_highlight_color): Removed.
23476 (grub_console_normal_color): Likewise.
23477 (grub_console_standard_color): Made static.
23478 (grub_ncurses_putchar): Remove mapping.
23479 (grub_ncurses_getcharwidth): Removed.
23480 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
23481 (grub_ncurses_setcolor): Removed.
23482 (grub_ncurses_getcolor): Likewise.
23483 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
23484 (grub_console_putchar): ... this.
23485 (grub_console_putchar): Handle argument difference.
23486 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
23487 console_init_early and console_init_lately.
23488 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
23489 * kern/misc.c (grub_puts): Removed.
23490 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
23491 (grub_vsnprintf_real): Remove str = NULL support.
23492 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
23493 * normal/charset.c (grub_utf8_to_ucs4): ... here.
23494 * kern/term.c (grub_putcode): Renamed to ...
23495 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
23496 (grub_putchar): Removed.
23497 (grub_xputs_dumb): New function.
23498 (grub_xputs): New variable.
23499 * lib/charset.c: Move from here ...
23500 * normal/charset.c: ... to here.
23501 (grub_ucs4_to_utf8): New function.
23502 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
23503 (join_types): New variable.
23504 (unpack_join): New function.
23505 (bidi_types): New variable.
23506 (unpack_bidi): New function.
23507 (get_bidi_type): Likewise.
23508 (get_join_type): Likewise.
23509 (is_mirrored): Likewise.
23510 (grub_unicode_get_comb_type): Likewise.
23511 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
23512 (is_type_after): Likewise.
23513 (grub_unicode_aglomerate_comb): Likewise.
23514 (bidi_line_wrap): Likewise.
23515 (grub_bidi_line_logical_to_visual): Likewise.
23516 (grub_bidi_logical_to_visual): Likewise.
23517 (grub_unicode_mirror_code): Likewise.
23518 (grub_unicode_shape_code): Likewise.
23519 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
23520 Don't use grub_putchar.
23521 * normal/main.c (grub_normal_init_page): Use grub_putcode.
23522 (grub_normal_reader_init): Likewise.
23523 (grub_xputs_saved): New variable.
23524 (GRUB_MOD_INIT): Set grub_xputs.
23525 (GRUB_MOD_FINI): Restore grub_xputs.
23526 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
23527 (menu_init): Avoid printing gfxmenu error.
23528 (show_menu): Use grub_normal_get_char_counter.
23529 * normal/menu_entry.c (update_screen): Fix out-of-array.
23530 (complete): Avoid NULL dereferencing.
23531 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
23532 * normal/menu_text.c (print_spaces): Removed.
23533 (grub_print_ucs4): Likewise.
23534 (grub_print_message_indented): Use grub_print_ucs4.
23535 (print_message): Use grub_putcode.
23536 (print_entry): Hanlde diacritics.
23537 * normal/term.c (term_state): New type.
23538 (grub_more_lines): Removed.
23539 (term_states): New variable.
23540 (grub_normal_line_counter): Renamed to ..
23541 (grub_normal_char_counter): ...this. All users updated.
23542 (grub_normal_get_line_counter): Renamed to ...
23543 (grub_normal_get_char_counter): ... this.
23544 (grub_normal_reset_more): New function.
23545 (process_newline): Removed.
23546 (print_more): New function.
23547 (grub_install_newline_hook): Removed.
23548 (map_code): New function.
23549 (grub_puts_terminal): Use grub_print_ucs4.
23550 (putglyph): New function.
23551 (putcode_real): Likewise.
23552 (grub_putcode): Use putcode_real.
23553 (get_maxwidth): New function.
23554 (get_startwidth): Likewise.
23555 (print_ucs4_terminal): Likewise.
23556 (find_term_state): Likewise.
23557 (put_glyphs_terminal): Likewise.
23558 (print_backlog): Likewise.
23559 (print_ucs4_real): Likewise.
23560 (grub_print_ucs4): Likewise.
23561 (grub_xputs_normal): Likewise.
23562 * term/efi/console.c (grub_console_putchar): Output diacritics.
23563 (grub_console_getcharwidth): Removed.
23564 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
23565 * term/gfxterm.c (clear_char): Free chars.
23566 (scroll_up): Avoid leaking memory.
23567 (grub_gfxterm_putchar): Support diacritics.
23568 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
23569 * term/i386/pc/console.c (grub_console_term_output): Declare as
23570 GRUB_TERM_CODE_TYPE_VGA.
23571 * term/i386/pc/vga.c (grub_vga_term): Declare as
23572 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
23573 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
23574 GRUB_TERM_CODE_TYPE_VGA.
23575 * term/i386/vga_common.c (map_char): Removed.
23576 (grub_console_putchar): Likewise.
23577 (grub_console_getcharwidth): Likewise.
23578 * term/ieee1275/ofconsole.c: Simplify using terminfo.
23579 (colors): Reordered to match terminfo.
23580 (grub_ofconsole_normal_color): Removed.
23581 (grub_ofconsole_writeesc): Likewise.
23582 (grub_ofconsole_highlight_color): Likewise.
23583 (grub_ofconsole_getcharwidth): Likewise.
23584 (grub_ofconsole_setcolorstate): Likewise.
23585 (grub_ofconsole_setcolor): Likewise.
23586 (grub_ofconsole_getcolor): Likewise.
23587 (grub_ofconsole_readkey): Renamed to ...
23588 (readkey): ... this. Remove escape sequence handling. Return -1 on no
23589 key.
23590 (grub_ofconsole_checkkey): Removed.
23591 (grub_ofconsole_getkey): Likewise.
23592 (grub_ofconsole_getxy): Likewise.
23593 (grub_ofconsole_gotoxy): Likewise.
23594 (grub_ofconsole_cls): Likewise.
23595 (grub_ofconsole_refresh): Likewise.
23596 (grub_ofconsole_terminfo_input): New struct.
23597 (grub_ofconsole_terminfo_output): Likewise.
23598 (grub_ofconsole_term_input): Use terminfo.
23599 (grub_ofconsole_term_output): Likewise.
23600 (grub_console_init): Split into ...
23601 (grub_console_init_early): ...this and ...
23602 (grub_console_init_lately): ...this. Use terminfo.
23603 (grub_ofconsole_putchar): Renamed to ...
23604 (put): ... this. Remove mapping.
23605 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
23606 * term/serial.c: Simplify using terminfo.
23607 (xpos): Removed.
23608 (ypos): Likewise.
23609 (keep_track): Likewise.
23610 (registered): Likewise.
23611 (input_buf): Likewise.
23612 (npending): Likewise.
23613 (serial_translate_key_sequence): Likewise.
23614 (fill_input_buf): Likewise.
23615 (grub_serial_checkkey): Likewise.
23616 (grub_serial_getkey): Likewise.
23617 (grub_serial_getxy): Likewise.
23618 (grub_serial_gotoxy): Likewise.
23619 (grub_serial_putchar): Likewise.
23620 (grub_serial_cls): Likewise.
23621 (grub_serial_setcolorstate): Likewise.
23622 (grub_serial_setcursor): Likewise.
23623 (serial_hw_init): Use serial_hw_fetch.
23624 (grub_serial_terminfo_input): New variable.
23625 (grub_serial_terminfo_output): Likewise.
23626 (grub_serial_term_input): Use terminfo.
23627 (grub_serial_term_output): Likewise.
23628 * term/terminfo.c (putstr): Use put.
23629 (grub_terminfo_all_free): New function
23630 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
23631 (grub_terminfo_output_register): New function.
23632 (grub_terminfo_output_unregister): Likewise.
23633 (grub_terminfo_getxy): Likewise.
23634 (grub_terminfo_readkey): Likewise.
23635 (grub_terminfo_checkkey): Likewise.
23636 (grub_terminfo_getkey): Likewise.
23637 (grub_terminfo_input_init): Likewise.
23638 (print_terminfo): Likewise.
23639 (grub_cmd_terminfo): Handle encoding.
23640 (grub_terminfo_gotoxy): Track position.
23641 (grub_terminfo_cls): Likewise.
23642 (grub_terminfo_putchar): Likewise.
23643 (grub_terminfo_setcolorstate): Handle colors
23644 (grub_terminfo_cursor_on): This ...
23645 (grub_terminfo_cursor_off): ... and this merged into ...
23646 (grub_terminfo_setcursor): ... this.
23647 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
23648 * unicode/ArabicShaping.txt: New file (imported from Unicode).
23649 * unicode/BidiMirroring.txt: Likewise.
23650 * unicode/UnicodeData.txt: Likewise.
23651 * unicode/COPYING: Likewise.
23652 * util/grub-editenv.c (grub_putchar): Removed.
23653 (grub_xputs_real): New function.
23654 (grub_xputs): New variable.
23655 * util/grub-fstest.c (grub_putchar): Removed.
23656 (grub_xputs_real): New function.
23657 (grub_xputs): New variable.
23658 * util/grub-mkdevicemap.c (grub_putchar): Removed.
23659 (grub_xputs_real): New function.
23660 (grub_xputs): New variable.
23661 * util/grub-probe.c (grub_putchar): Removed.
23662 (grub_xputs_real): New function.
23663 (grub_xputs): New variable.
23664 * util/grub-script-check.c (grub_putchar): Removed.
23665 (grub_xputs_real): New function.
23666 (grub_xputs): New variable.
23667 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
23668 (grub_xputs_real): New function.
23669 (grub_xputs): New variable.
23670 * util/import_unicode.py: New file.
23671 * util/grub-mkfont.c (ft_errmsgs): New array.
23672 (grub_glyph_info): Make bitmap a pointer.
23673 (file_formats): New type WIDTH_SPEC.
23674 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
23675 (options): Add width-spec.
23676 (help): Likewise.
23677 (add_char): Renamed to ...
23678 (add_glyph): ... this.
23679 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
23680 (glyph_replace): New type.
23681 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
23682 (add_char): New function.
23683 (add_subst): Likewise.
23684 (process_cursive): Likewise.
23685 (add_font): Handle GSUB.
23686 (write_font_width_spec): New function.
23687 (main): Sort glyphs.
23688 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
23689 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
23690 * kern/term.c (grub_cls): Moved from here...
23691 * normal/term.c (grub_cls): ... here.
23692
50f0bcda
CW
236932010-07-02 Colin Watson <cjwatson@ubuntu.com>
23694
23695 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
23696 suitable for using within the format argument of printf when
23697 converting grub_size_t.
23698 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
23699 "x" to convert grub_size_t arguments.
23700
40372103
VS
237012010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
23702
23703 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
23704 too long captions.
23705 (list_get_minimal_size): Take selection box into account.
23706
942a10c7
VS
237072010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
23708
23709 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
23710 NULL font.
23711
2bdb2892
CW
237122010-07-02 Colin Watson <cjwatson@ubuntu.com>
23713
23714 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
23715 devices when iterating over /dev/disk/by-id; they will be handled
23716 later if appropriate, which they aren't always (e.g. LVM).
23717
e03ed6c1
CW
237182010-07-02 Colin Watson <cjwatson@ubuntu.com>
23719
23720 * include/grub/misc.h (grub_reboot): Declare as noreturn.
23721 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
23722 fails.
23723 (grub_halt): Likewise.
23724 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
23725 reset-all fails.
23726 (grub_halt): Don't return, even if all of shut-down, power-off, and
23727 poweroff fail.
23728
47695765
CW
237292010-07-02 Colin Watson <cjwatson@ubuntu.com>
23730
23731 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
23732 arguments, not three.
23733
507736c8
CW
237342010-07-02 Colin Watson <cjwatson@ubuntu.com>
23735
23736 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
23737 * util/grub.d/10_linux.in: Use it to check for LVM, so that
23738 LVM-on-RAID is handled correctly.
23739
e3c8cd37
CW
237402010-07-02 Colin Watson <cjwatson@ubuntu.com>
23741
23742 * docs/grub.texi (Changes from GRUB Legacy): New section.
23743 (Future): Fix typo.
23744
8d4a2fec
CW
237452010-07-02 Colin Watson <cjwatson@ubuntu.com>
23746
23747 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
23748 grub.d/README accidentally ends up executable for one reason or
23749 another. Ignore it.
23750
1c4827be
VS
237512010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
23752
23753 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
23754 (gpt_partition_map_iterate): Support non-512B sectors.
23755
d9a0c941
VS
237562010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
23757
23758 * kern/efi/init.c (grub_efi_init): Disable watchdog.
23759 Tested by: Seth Goldberg.
23760
48f27e87
VS
237612010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
23762
23763 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
23764 Properly align mbi.
23765 Reported by: Seth Goldberg.
23766
b0c4f956
VS
237672010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
23768
23769 * util/grub-mkrescue.in: Avoid module duplication.
23770
105a2e8c
SF
237712010-07-01 Sean Finney <seanius@seanius.net>
23772
23773 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
23774
5944958c
SF
237752010-07-01 Sean Finney <seanius@seanius.net>
23776
23777 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
23778
237792010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
23780
23781 * disk/lvm.c (grub_lvm_checkvalue): New function.
23782 (grub_lvm_check_flag): Likewise.
23783
b79889ba
RM
237842010-07-01 Robert Millan <rmh@gnu.org>
23785
23786 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
23787 Support 'p' as partition separator on kernel of FreeBSD (used
23788 with GPT labels).
23789 (grub_util_biosdisk_get_grub_dev): Likewise.
23790
ec1d04f1
VS
237912010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
23792
23793 Yeeloong firmware port.
23794
23795 * boot/mips/yeeloong/fwstart.S: New file.
23796 * bus/cs5536.c (gpiodump): New const.
23797 (set_io_space): New function.
23798 (set_iod): Likewise.
23799 (set_p2d): Likewise.
23800 (grub_cs5536_init_geode): Likewise.
23801 * commands/mips/yeeloong/lsspd.c: New file.
23802 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
23803 (serial_mod_SOURCES): New variable.
23804 (serial_mod_CFLAGS): Likewise.
23805 (serial_mod_LDFLAGS): Likewise.
23806 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
23807 term/terminfo.c and term/tparm.c.
23808 (pkglib_IMAGES): Add fwstart.img.
23809 (fwstart_img_SOURCES): New variable.
23810 (fwstart_img_CFLAGS): Likewise.
23811 (fwstart_img_ASFLAGS): Likewise.
23812 (fwstart_img_LDFLAGS): Likewise.
23813 (fwstart_img_FORMAT): Likewise.
23814 (pkglib_MODULES): Add lsspd.mod.
23815 (lsspd_mod_SOURCES): New variable.
23816 (lsspd_mod_CFLAGS): Likewise.
23817 (lsspd_mod_LDFLAGS): Likewise.
23818 (pkglib_MODULES): Add halt.mod.
23819 (halt_mod_SOURCES): New variable.
23820 (halt_mod_CFLAGS): Likewise.
23821 (halt_mod_LDFLAGS): Likewise.
23822 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
23823 (serial_mod_SOURCES): Removed.
23824 (serial_mod_CFLAGS): Likewise.
23825 (serial_mod_LDFLAGS): Likewise.
23826 * disk/ata.c (check_device): New function.
23827 (grub_ata_device_initialize): Use check_device.
23828 (grub_ata_iterate): Recheck devices.
23829 (grub_ata_open): Likewise.
23830 (grub_atapi_iterate): Likewise.
23831 (grub_atapi_open): Likewise.
23832 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
23833 (GRUB_ATA_CH1_PORT1): Likewise.
23834 (GRUB_ATA_CH0_PORT2): Likewise.
23835 (GRUB_ATA_CH1_PORT2): Likewise.
23836 * include/grub/mips/loongson.h: New file.
23837 * include/grub/mips/yeeloong/ec.h: Likewise.
23838 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
23839 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
23840 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
23841 * include/grub/misc.h (grub_halt): Declare as noreturn.
23842 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
23843 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
23844 (UART_ENABLE_FIFO_TRIGGER1): New definition.
23845 (UART_ENABLE_DTRRTS): Likewise.
23846 (UART_ENABLE_MODEM): Removed.
23847 (UART_ENABLE_OUT2): New const.
23848 * include/grub/term.h (grub_term_register_input_active): New function.
23849 (grub_term_register_output_active): Likewise.
23850 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
23851 argument.
23852 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
23853 (init_pci): New function.
23854 (grub_machine_init): Execute platform init when firmware. Init serial.
23855 (grub_halt): Implement.
23856 (grub_exit): Likewise.
23857 (grub_reboot): Likewise.
23858 * term/serial.c (serial_hw_init): Update macros.
23859 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
23860 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
23861 (image_targets): New target mipsel-yeeloong-flash.
23862 (generate_image): Support IMAGE_YEELOONG_FLASH.
23863 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
23864 (grub_video_sm712_setup): Init card.
23865 (grub_video_sm712_set_palette): Removed.
23866 * video/sm712_init.c: New file.
23867
ff4a70d2
CW
238682010-06-30 Colin Watson <cjwatson@ubuntu.com>
23869
23870 * Makefile.in (install-local): Temporarily prepend $(builddir) to
23871 PATH when running help2man and then run it on the unadorned
23872 executable names, rather than passing $(builddir)/* paths to
23873 help2man. This avoids the build directory ending up in generated
23874 manual pages.
23875
1246efeb
CW
238762010-06-29 Colin Watson <cjwatson@ubuntu.com>
23877
23878 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
23879 to avoid accidents when debugging with 'sh -x'.
23880 * util/grub-mkrescue.in: Likewise.
23881 * util/grub.d/00_header.in: Likewise.
23882 * util/grub.d/10_hurd.in: Likewise.
23883 * util/grub.d/10_kfreebsd.in: Likewise.
23884 * util/grub.d/10_linux.in: Likewise.
23885 * util/grub.d/10_netbsd.in: Likewise.
23886 * util/grub.d/10_windows.in: Likewise.
23887 * util/grub.d/20_linux_xen.in: Likewise.
23888 * util/grub.d/30_os-prober.in: Likewise.
23889 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
23890
1ba9b889
CW
238912010-06-29 Colin Watson <cjwatson@ubuntu.com>
23892
23893 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
23894 last character in the buffer.
23895 Reported by: Vladimir Serbinenko.
23896
dccaf99d
RM
238972010-06-29 Robert Millan <rmh@gnu.org>
23898
23899 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
23900 (Command-line and menu entry commands): Document `badram' command.
23901
d500ed12
RM
239022010-06-28 Robert Millan <rmh@gnu.org>
23903
23904 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
23905 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
23906 command using ${GRUB_BADRAM} as parameter.
23907
20bc84a6
CW
239082010-06-28 Colin Watson <cjwatson@ubuntu.com>
23909
23910 * docs/grub.texi (Device map): New section.
23911 (Themes): New section (stub).
23912 * Makefile.in (docs/grub.info): The info documentation now builds
23913 without errors. Make sure it stays that way.
23914
4045dee1
VS
239152010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
23916
23917 Use normal parser for menu entries.
23918 Reported by: Thomas Frauendorfer
23919
23920 * include/grub/parser.h (grub_parser_execute): Don't export.
23921 * normal/menu.c (grub_menu_execute_entry_real): New function.
23922 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
23923
bca58c7b
CW
239242010-06-28 Colin Watson <cjwatson@ubuntu.com>
23925
23926 * docs/grub.texi (Embedded configuration): New section (replacing
23927 old "Preset Menu" stub).
23928 (Images): New section.
23929 (configfile): Note that any menu entries defined in `file' are shown
23930 immediately.
23931
dec53e63
JT
239322010-06-28 Josh Triplett <josh@joshtriplett.org>
23933
23934 * mmap/i386/pc/mmap_helper.S: Set CF on return.
23935
c06e40f7
CW
239362010-06-28 Colin Watson <cjwatson@ubuntu.com>
23937
23938 * util/grub-install.in: Add --debug-image= option.
23939
cb88052b
CW
239402010-06-28 Colin Watson <cjwatson@ubuntu.com>
23941
23942 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
23943 possible on Linux.
23944
23945 * util/deviceiter.c (check_device): Rename to ...
23946 (check_device_readable_unique): ... this. Update all callers.
23947 Maintain and check a list of which devices (by canonicalized name)
23948 have already been seen.
23949 (clear_seen_devices): New function.
23950 (compare_file_names) [__linux__]: New function.
23951 (grub_util_iterate_devices): Clear the list of seen devices on exit
23952 and (just in case) on entry.
23953 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
23954 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
23955 seen-devices list, superseded by general code in check_device.
23956
bbe34652
CW
239572010-06-28 Colin Watson <cjwatson@ubuntu.com>
23958
23959 * commands/cat.c (options): New variable.
23960 (grub_cmd_cat): Parse options. If the --dos option is given, print
23961 DOS-style "\r\n" line endings as simple newlines (Debian bug
23962 #586358).
23963 (GRUB_MOD_INIT): Use extcmd.
23964 (GRUB_MOD_FINI): Likewise.
23965 * docs/grub.texi (cat): Document --dos.
23966
412e09f3
VS
239672010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
23968
23969 XEN with Linux grub-mkconfig support.
23970
23971 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
23972 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
23973 GRUB_CMDLINE_XEN_DEFAULT.
23974 * util/grub.d/20_linux_xen.in: New file.
23975
53f3ef38 239762010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
23977
23978 Initialise VGA video on qemu ourselves.
23979
23980 * boot/i386/qemu/boot.S: Don't call 0xc000.
23981 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
23982 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
23983 (kernel_img_HEADERS): Add pci.h.
23984 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
23985 * configure.ac: Force unifont on qemu and yeeloong.
23986 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
23987 (grub_vga_palette_write): Use correct register.
23988 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
23989 Call grub_qemu_init_cirrus.
23990 * kern/i386/qemu/init.c: New file.
23991 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
23992
23993 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
23994
c75be4fb
PR
239952010-06-26 Pavel Roskin <proski@gnu.org>
23996
23997 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
23998 13.
23999
d8034603
CW
240002010-06-26 Colin Watson <cjwatson@ubuntu.com>
24001
24002 * docs/grub.texi (Simple configuration): Explain that
24003 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
24004 set to `true' to disable their respective recovery entries, not
24005 merely set.
24006
3fa06487
CW
240072010-06-26 Colin Watson <cjwatson@ubuntu.com>
24008
24009 Make the `source' command slightly faster.
24010
24011 * normal/main.c (grub_normal_execute): Don't re-read list files when
24012 nested.
24013
e9b29642
CW
240142010-06-23 Colin Watson <cjwatson@ubuntu.com>
24015
24016 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
24017 field position and mask size to red fields from mode_info, not
24018 green.
24019 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
24020 Remove redundant tag->common.framebuffer_type assignment.
24021 Reported by: Seth Goldberg.
24022
e726542f
CW
240232010-06-23 Colin Watson <cjwatson@ubuntu.com>
24024
24025 Sync up other versions of the Linux loader with Robert Millan's
24026 change of 2010-01-09, "Make loader output a bit more user-friendly".
24027
24028 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
24029 grub_dprintf().
24030 (grub_cmd_linux): Likewise.
24031 (grub_cmd_initrd): Likewise.
24032 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
24033 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
24034
d6e98a17
CW
240352010-06-21 Colin Watson <cjwatson@ubuntu.com>
24036
24037 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
24038 larger than MEMORY_MAP_SIZE.
24039
14d3f08e
BC
240402010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
24041
24042 Fix parallel build.
24043
24044 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
24045 dependency.
24046 * script/parser.y: #include grub_script.tab.h header.
24047
4f9613a3
VS
240482010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
24049
24050 Support >3GiB and <16MiB RAM in i386-qemu.
24051
24052 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
24053 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
24054 (grub_lower_mem): Removed.
24055 (grub_upper_mem): Likewise.
24056 (mem_size): Made static.
24057 (above_4g): New variable.
24058 (grub_machine_mmap_init): Detect small mem_size and above_4g.
24059 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
24060 support.
24061
05e51879
VS
240622010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
24063
24064 Cirrus 5446 and Bochs video cards support.
24065
24066 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
24067 video_bochs.mod
24068 (video_cirrus_mod_SOURCES): New variable.
24069 (video_cirrus_mod_CFLAGS): Likewise.
24070 (video_cirrus_mod_LDFLAGS): Likewise.
24071 (video_bochs_mod_SOURCES): Likewise.
24072 (video_bochs_mod_CFLAGS): Likewise.
24073 (video_bochs_mod_LDFLAGS): Likewise.
24074 * include/grub/vga.h: New file.
24075 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
24076 (grub_video_fb_set_page_t): New type.
24077 (grub_video_fb_setup): New prototype.
24078 (grub_video_fb_swap_buffers): Likewise.
24079 (grub_video_fb_get_info_and_fini): Likewise.
24080 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
24081 (CRTC_DATA_PORT): Likewise.
24082 (CRTC_CURSOR): Likewise.
24083 (CRTC_CURSOR_ADDR_HIGH): Likewise.
24084 (CRTC_CURSOR_ADDR_LOW): Likewise.
24085 (CRTC_CURSOR_DISABLE): Likewise.
24086 (update_cursor): Use grub_vga_cr_write.
24087 (grub_vga_text_setcursor): Likewise.
24088 * video/bochs.c: New file.
24089 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
24090 (palette): Likewise.
24091 (palette_size): Likewise.
24092 (framebuffer): New variable.
24093 (grub_video_fb_init): Use 'framebuffer'.
24094 (grub_video_fb_fini): Likewise.
24095 (grub_video_fb_get_info): Likewise.
24096 (grub_video_fb_get_palette): Likewise.
24097 (grub_video_fb_set_palette): Likewise.
24098 (grub_video_fb_set_viewport): Likewise.
24099 (grub_video_fb_get_viewport): Likewise.
24100 (grub_video_fb_map_color): Likewise.
24101 (grub_video_fb_map_rgb): Likewise.
24102 (grub_video_fb_map_rgba): Likewise.
24103 (grub_video_fb_unmap_color): Likewise.
24104 (grub_video_fb_unmap_color_int): Likewise.
24105 (grub_video_fb_fill_rect): Likewise.
24106 (grub_video_fb_blit_bitmap): Likewise.
24107 (grub_video_fb_blit_render_target): Likewise.
24108 (grub_video_fb_scroll): Likewise.
24109 (grub_video_fb_create_render_target): Likewise.
24110 (grub_video_fb_doublebuf_blit_init): Likewise.
24111 (grub_video_fb_set_active_render_target): Handle doublebuffering.
24112 (doublebuf_pageflipping_update_screen): New function.
24113 (doublebuf_pageflipping_init): Likewise.
24114 (grub_video_fb_setup): Likewise.
24115 (grub_video_fb_swap_buffers): Likewise.
24116 (grub_video_fb_get_info_and_fini): Likewise.
24117 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
24118 All users updated.
24119 (doublebuf_pageflipping_commit): Restructured into ...
24120 (doublebuf_pageflipping_set_page): ... this.
24121 (doublebuf_pageflipping_update_screen): Removed.
24122 (doublebuf_pageflipping_init): Likewise.
24123 (double_buffering_init): Likewise.
24124 (grub_video_vbe_setup): Use grub_video_fb_setup.
24125 (grub_video_vbe_swap_buffers): Removed.
24126 (grub_video_vbe_set_active_render_target): Likewise.
24127 (grub_video_vbe_get_active_render_target): Likewise.
24128 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
24129 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
24130 grub_video_fb_set_active_render_target and
24131 grub_video_fb_get_active_render_target.
24132 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
24133 (SEQUENCER_DATA_PORT): Likewise.
24134 (MAP_MASK_REGISTER): Likewise.
24135 (CRTC_ADDR_PORT): Likewise.
24136 (CRTC_DATA_PORT): Likewise.
24137 (START_ADDR_HIGH_REGISTER): Likewise.
24138 (START_ADDR_LOW_REGISTER): Likewise.
24139 (GRAPHICS_ADDR_PORT): Likewise.
24140 (GRAPHICS_DATA_PORT): Likewise.
24141 (READ_MAP_REGISTER): Likewise.
24142 (INPUT_STATUS1_REGISTER): Likewise.
24143 (INPUT_STATUS1_VERTR_BIT): Likewise.
24144 (get_map_mask): Use grub_vga_sr_read.
24145 (set_map_mask): Use grub_vga_sr_write.
24146 (set_read_map): Use grub_vga_gr_write.
24147 (set_start_address): Use grub_vga_cr_write.
24148 * video/sm712.c (framebuffer): Remove leftover fields.
24149
4321c64a
CW
241502010-06-20 Colin Watson <cjwatson@ubuntu.com>
24151
24152 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
24153 setting GRUB_VIDEO_BACKEND. Make it available as a user override
24154 instead. Replace the gfxterm backend check with a check that
24155 ${GRUB_PREFIX}/video.lst is non-empty.
24156 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
24157 again.
24158 (load_video): New generated function. Call it before loading
24159 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
24160 * util/grub.d/10_linux.in (linux_entry): Call load_video.
24161 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
24162 * docs/grub.texi (Simple configuration): Document
24163 GRUB_VIDEO_BACKEND.
24164
241652010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
24166
24167 Use video functions in linux and xnu loaders.
24168
24169 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
24170 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
24171 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
24172 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
24173 loader/i386/pc/linux.c.
24174 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
24175 (find_line_len): Removed.
24176 (find_framebuf): Likewise.
24177 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
24178 * loader/i386/efi/xnu.c: Removed.
24179 * loader/i386/pc/xnu.c: Moved from here...
24180 * loader/i386/xnu.c: ...here.
24181
24182 Enable priorities in video drivers.
24183
24184 * include/grub/video.h (grub_video_adapter_prio_t): New type.
24185 (grub_video_adapter): New field prio.
24186 (grub_video_register): Respect prio when inserting.
24187 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
24188 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
24189 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
24190 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
24191 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
24192 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
24193 * video/sm712.c (grub_video_sm712_adapter): Likewise.
24194
24195 Fix SDL driver ID.
24196
24197 * include/grub/video.h (grub_video_driver_id_t): New value
24198 GRUB_VIDEO_DRIVER_SDL.
24199 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
24200
7d24e434
CW
242012010-06-17 Colin Watson <cjwatson@ubuntu.com>
24202
24203 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
24204 argument to printf.
24205 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
24206
c88a83f6
CW
242072010-06-17 Colin Watson <cjwatson@ubuntu.com>
24208
24209 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
24210 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
24211
094dfb69
CW
242122010-06-17 Colin Watson <cjwatson@ubuntu.com>
24213
24214 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
24215 directly, and recommend grub-install instead.
24216 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
24217
2164da6b
CW
242182010-06-17 Colin Watson <cjwatson@ubuntu.com>
24219
24220 Fix i386-pc prefix handling with nested partitions (Debian bug
24221 #585068). Note that the case where the core image is booted using
24222 multiboot and relocated from its original location still requires
24223 more work.
24224
24225 * kern/i386/pc/init.c (make_install_device): If the prefix starts
24226 with "(,", fill the boot drive in between those two characters, but
24227 expect that a full partition specification including partition map
24228 names will follow.
24229 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
24230 specified, write a prefix without the drive name but including a
24231 full partition specification.
24232
044e2e60
CW
242332010-06-16 Colin Watson <cjwatson@ubuntu.com>
24234
24235 * util/grub-mkconfig.in: Ignore non-option arguments, for
24236 compatibility with older versions (before 2010-06-12) which did the
24237 same. In particular, this makes it easier to ship an update-grub
24238 wrapper which is compatible with that used with GRUB Legacy (Debian
24239 bug #586056).
24240
5591324f
GS
242412010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
24242
24243 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
24244 for manual page generation.
24245
662e24d5
GS
242462010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
24247
24248 * po/POTFILES: Remove leftover commands/handler.c.
24249
8d70754e
CW
242502010-06-14 Colin Watson <cjwatson@ubuntu.com>
24251
24252 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
24253 left this script non-functional.
24254
41160e2e
CW
242552010-06-14 Colin Watson <cjwatson@ubuntu.com>
24256
24257 * docs/man/grub-emu.h2m: New file.
24258
b5309cc1
CW
242592010-06-13 Colin Watson <cjwatson@ubuntu.com>
24260
24261 * docs/grub.texi (Commands): Document reduced command set in rescue
24262 mode.
24263 (cpuid): New section.
24264
fcb2d090
GS
242652010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
24266
24267 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
24268 new partition naming style.
24269 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
24270
96e5c556
BC
242712010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
24272
24273 Add "-o grub.iso" like cmdline options support.
24274
24275 * util/grub-install.in: Improve cmdline option parsing.
24276 * util/grub-mkconfig.in: Likewise.
24277 * util/grub-mkrescue.in: Likewise.
24278 * util/grub-reboot.in: Likewise.
24279 * util/grub-set-default.in: Likewise.
24280 * util/i386/efi/grub-install.in: Likewise.
24281 * util/ieee1275/grub-install.in: Likewise.
24282 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
24283
c16be99b
CW
242842010-06-12 Colin Watson <cjwatson@ubuntu.com>
24285
24286 * .bzrignore: Ignore 41_custom.
24287
ce08a9fb
TS
242882010-06-12 Thomas Schmitt <scdbackup@gmx.net>
24289
24290 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
24291
7beac90c
CW
242922010-06-12 Colin Watson <cjwatson@ubuntu.com>
24293
24294 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
24295 prototype declarations.
24296
24297 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
24298 generating fs, partmap, and video lists.
24299 * include/grub/fs.h (grub_fs_register): Omit prototype if
24300 GRUB_LST_GENERATOR is defined.
24301 * include/grub/partition.h (grub_partition_map_register): Likewise.
24302 * include/grub/video.h (grub_video_register): Likewise.
24303
1c8f0f8d
JM
243042010-06-12 Javier Martín <lordhabbit@gmail.com>
24305
24306 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
24307
a6085973
TS
243082010-06-12 Thomas Schmitt <scdbackup@gmx.net>
24309
24310 * util/grub-mkrescue.in: Support --xorriso argument.
24311
25c56d29
VS
243122010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
24313
24314 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
24315 Suggested by: Thomas Schmitt.
24316
e03e4b24
VS
243172010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
24318
24319 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
24320 Suggested by: Thomas Schmitt.
24321
57711df6
VS
243222010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
24323
24324 custom.cfg support.
24325
24326 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
24327 * util/grub.d/41_custom.in: New file.
24328
ee62c427
CW
243292010-06-12 Colin Watson <cjwatson@ubuntu.com>
24330
24331 * util/grub-mkrescue.in (make_image): Remove sh module, which has
24332 been merged back into normal.
24333
283af07a
CW
243342010-06-11 Colin Watson <cjwatson@ubuntu.com>
24335
24336 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
24337 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
24338
56a0d956
CW
243392010-06-11 Colin Watson <cjwatson@ubuntu.com>
24340
24341 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
24342 when generating manual pages.
24343 * docs/man/grub-bin2h.h2m: New file.
24344 * docs/man/grub-editenv.h2m: New file.
24345 * docs/man/grub-fstest.h2m: New file.
24346 * docs/man/grub-install.h2m: New file.
24347 * docs/man/grub-macho2img.h2m: New file.
24348 * docs/man/grub-mkconfig.h2m: New file.
24349 * docs/man/grub-mkdevicemap.h2m: New file.
24350 * docs/man/grub-mkfont.h2m: New file.
24351 * docs/man/grub-mkimage.h2m: New file.
24352 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
24353 * docs/man/grub-mkrelpath.h2m: New file.
24354 * docs/man/grub-mkrescue.h2m: New file.
24355 * docs/man/grub-ofpathname.h2m: New file.
24356 * docs/man/grub-pe2elf.h2m: New file.
24357 * docs/man/grub-probe.h2m: New file.
24358 * docs/man/grub-reboot.h2m: New file.
24359 * docs/man/grub-script-check.h2m: New file.
24360 * docs/man/grub-set-default.h2m: New file.
24361 * docs/man/grub-setup.h2m: New file.
24362
3a37e322
VS
243632010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
24364
24365 Use FOR_* macros instead of *_iterate whenever possible.
24366
24367 * commands/handler.c: Removed.
24368 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
24369 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
24370 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
24371 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
24372 (grub_probe_SOURCES): Remove kern/parser.c.
24373 (util/grub-script-check.c_DEPENDENCIES): Removed.
24374 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
24375 and grub_script_check_init.c.
24376 (grub_script_check_init.lst): Removed.
24377 (grub_script_check_init.h): Likewise.
24378 (grub_script_check_init.c): Likewise.
24379 (pkglib_MODULES): Remove handler.mod and sh.mod.
24380 (handler_mod_SOURCES): Removed.
24381 (handler_mod_CFLAGS): Likewise.
24382 (handler_mod_LDFLAGS): Likewise.
24383 (normal_mod_SOURCES): Remove normal/handler.c.
24384 Add script/main.c, script/script.c, script/execute.c,
24385 script/function.c, script/lexer.c, grub_script.tab.c
24386 and grub_script.yy.c.
24387 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
24388 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
24389 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
24390 (grub_setup_SOURCES): Remove kern/parser.c.
24391 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
24392 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
24393 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
24394 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
24395 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
24396 (grub_setup_SOURCES): Remove kern/parser.c.
24397 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
24398 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
24399 * include/grub/command.h (grub_command_iterate): Removed.
24400 (FOR_COMMANDS): New macro.
24401 * include/grub/dl.h (grub_dl): New member next.
24402 (grub_dl_iterate): Removed.
24403 (grub_dl_head): New variable declaration.
24404 (FOR_DL_MODULES): New macro.
24405 * include/grub/fs.h: Include list.h.
24406 (grub_fs): Make next first element.
24407 (grub_fs_list): New variable declaration.
24408 (grub_fs_register): Make inline.
24409 (grub_fs_unregister): Likewise.
24410 (grub_fs_iterate): Removed.
24411 (FOR_FILESYSTEMS): New macro.
24412 * include/grub/handler.h: Removed.
24413 * include/grub/list.h (grub_list_hook_t): Removed.
24414 (grub_list_test_t): Likewise.
24415 (grub_list_pop): Likewise.
24416 (grub_list_iterate): Likewise.
24417 (grub_list_insert): Likewise.
24418 (FOR_LIST_ELEMENTS): New macro.
24419 * include/grub/parser.h (grub_parser_class): Removed.
24420 (grub_parser_register): Likewise.
24421 (grub_parser_unregister): Likewise.
24422 (grub_parser_get_current): Likewise.
24423 (grub_parser_set_current): Likewise.
24424 (grub_register_rescue_parser): Likewise.
24425 (grub_rescue_parse_line): New function.
24426 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
24427 * include/grub/script_sh.h (grub_script_function_list): New variable
24428 declaration.
24429 (FOR_SCRIPT_FUNCTIONS): New macro.
24430 (grub_script_function_iterate): Removed.
24431 (grub_normal_parse_line): New prototype.
24432 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
24433 (FOR_DISABLED_TERM_INPUTS): Likewise.
24434 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
24435 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
24436 * include/grub/video.h (grub_video_adapter): Move 'next' to first
24437 element.
24438 (grub_video_register): Inline.
24439 (grub_video_unregister): Likewise.
24440 (grub_video_adapter_list): New variable declaration.
24441 (grub_video_iterate): Removed.
24442 (FOR_VIDEO_ADAPTERS): New macro.
24443 * kern/dl.c (grub_dl_list): Removed. All users updated.
24444 (grub_dl_iterate): Removed.
24445 * kern/fs.c (grub_fs_list): Make global.
24446 (grub_fs_register): Removed.
24447 (grub_fs_unregister): Likewise.
24448 (grub_fs_iterate): Likewise.
24449 * kern/handler.c: Removed.
24450 * kern/list.c (grub_list_pop): Removed.
24451 (grub_list_iterate): Likewise.
24452 (grub_list_insert): Likewise.
24453 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
24454 (grub_prio_list_insert): Don't use grub_list_insert.
24455 * kern/main.c (grub_register_rescue_parser): Don't call
24456 grub_register_rescue_parser.
24457 * kern/parser.c (grub_parser_class): Removed.
24458 (grub_parser_execute): Use grub_rescue_parse_line.
24459 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
24460 (grub_rescue_parser): Removed.
24461 (grub_register_rescue_parser): Likewise.
24462 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
24463 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
24464 (grub_auth_check_authentication): Likewise.
24465 * normal/completion.c (iterate_command): Removed.
24466 (grub_normal_do_completion): Use FOR_COMMANDS.
24467 * normal/handler.c: Removed.
24468 * normal/main.c (read_config_file): Remove parser changing.
24469 (grub_normal_execute): Don't call read_handler_list.
24470 (grub_normal_read_line_real): Statically allocate prompt.
24471 (grub_cmdline_run): Use grub_normal_parse_line.
24472 (GRUB_MOD_FINI): Don't call free_handler_list.
24473 * normal/menu_entry.c (run): Likewise.
24474 * script/function.c (grub_script_function_list): Make global.
24475 (grub_script_function_iterate): Removed.
24476 * script/main.c (grub_normal_parse_line): Make global.
24477 (grub_sh_parser): Removed.
24478 (GRUB_MOD_INIT): Likewise.
24479 (GRUB_MOD_FINI): Likewise.
24480 * tests/lib/functional_test.c (grub_functional_test): Use
24481 FOR_LIST_ELEMENTS.
24482 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
24483 (grub_test_run): Use FOR_LIST_ELEMENTS.
24484 * tests/lib/unit_test.c (main): Likewise.
24485 * util/deviceiter.c (grub_util_iterate_devices): Don't use
24486 grub_list_pop.
24487 * util/grub-fstest.c (grub_term_input_class): Removed.
24488 (grub_term_output_class): Likewise.
24489 * util/grub-probe.c: Likewise.
24490 * util/i386/pc/grub-setup.c: Likewise.
24491 * util/sparc64/ieee1275/grub-setup.c: Likewise.
24492 * util/grub-script-check.c (main): Don't call grub_init_all and
24493 grub_fini_all.
24494 * video/video.c (grub_video_adapter_list): Make global.
24495 (grub_video_register): Removed.
24496 (grub_video_unregister): Likewise.
24497 (grub_video_iterate): Likewise.
24498
6289c3a7
VS
244992010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
24500
24501 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
24502 reported by Henrique Ferreiro.
24503
91460247
RM
245042010-06-09 Robert Millan <rmh@gnu.org>
24505
24506 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
24507 ones, when both are available.
24508
0ea7c4f9
GS
245092010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
24510
24511 Make --version uniform and avoid hard-coded program name.
24512
24513 * util/grub-mkimage.c (main): Use `program_name' instead of
24514 hard-coded string.
24515 * util/i386/pc/grub-setup.c (main): Likewise.
24516 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
24517 * util/grub-install.in: Save the basename of $0 in $self, and use the
24518 latter in informational messages. Use the same format for --version
24519 as the binary programs.
24520 * util/grub-mkconfig.in: Likewise.
24521 * util/grub-mkrescue.in: Likewise.
24522 * util/grub-reboot.in: Likewise.
24523 * util/grub-set-default.in: Likewise.
24524 * util/i386/efi/grub-install.in: Likewise.
24525 * util/ieee1275/grub-install.in: Likewise.
24526 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
24527
e8a6f3b6
GS
245282010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
24529
24530 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
24531 embedding area. Use <= instead of == when checking for non-emptiness.
24532
f4d095d7
GS
245332010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
24534
24535 * configure.ac: Add `.' to the directories searched for unifont.
24536
50e532ca
CW
245372010-06-08 Colin Watson <cjwatson@ubuntu.com>
24538
24539 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
24540 grub_script.yy.h.
24541
d39f3dec
CW
245422010-06-08 Colin Watson <cjwatson@ubuntu.com>
24543
24544 * docs/grub.texi (History): Expand to cover GRUB 2.
24545 (Serial terminal): Refer to `terminal_input' and `terminal_output'
24546 commands, not `terminal'.
24547 (serial): Likewise.
24548 (terminal_input): New section.
24549 (terminal_output): New section.
24550 (uppermem): New section (stub).
24551 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
24552
6ef0ddb4
CW
245532010-06-08 Colin Watson <cjwatson@ubuntu.com>
24554
24555 * docs/grub.texi (Security): Menu entries are unrestricted by
24556 default, not restricted to superusers as I had previously thought.
24557 Reword to account for this.
24558
e0f4c438
CW
245592010-06-07 Colin Watson <cjwatson@ubuntu.com>
24560
24561 * kern/emu/misc.c (device_mapper_null_log): New function.
24562 (grub_device_mapper_supported): New function.
24563 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
24564 prototype.
24565 * kern/emu/hostdisk.c (find_partition_start): Check whether
24566 device-mapper is supported before trying to use it.
24567 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
24568
da908200
CW
245692010-06-07 Colin Watson <cjwatson@ubuntu.com>
24570
24571 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
24572 (File name syntax): Likewise.
24573 (help): --all is no longer supported in GRUB 2. Be more precise
24574 about pattern matching.
24575
fb55c3ac
CW
245762010-06-07 Colin Watson <cjwatson@ubuntu.com>
24577
24578 * normal/completion.c (grub_normal_do_completion): When completing
24579 arguments to "set" and the current word contains an equals sign,
24580 skip to after the equals sign before starting completion.
24581
258c2573
CW
245822010-06-07 Colin Watson <cjwatson@ubuntu.com>
24583
24584 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
24585
ee75515e
CW
245862010-06-07 Colin Watson <cjwatson@ubuntu.com>
24587
24588 * docs/grub.texi (Network): New section.
24589 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
24590 `(nd)' as in GRUB Legacy.
24591 (pxe_unload): New section.
24592
a6a700aa
CW
245932010-06-07 Colin Watson <cjwatson@ubuntu.com>
24594
24595 * docs/grub.texi (Troubleshooting): `echo' is not usually available
24596 in the rescue shell, so recommend using `set' instead. Thanks,
24597 Jordan Uggla.
24598
4003dd38
CW
245992010-06-07 Colin Watson <cjwatson@ubuntu.com>
24600
24601 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
24602 (password): New section.
24603 (password_pbkdf2): New section.
24604 (search): New section.
24605 (Security): New section.
24606 (Troubleshooting): New section, currently very incomplete.
24607 (Invoking grub-mkpasswd-pbkdf2): New section.
24608 (Internals): New section, currently very incomplete.
24609
e1cbcc40
CW
246102010-06-07 Colin Watson <cjwatson@ubuntu.com>
24611
24612 * util/grub.d/00_header.in: Add some more quoting (of
24613 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
24614 work again.
24615 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
24616
db8fa1ad
CW
246172010-06-07 Colin Watson <cjwatson@ubuntu.com>
24618
24619 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
24620 to `count', fixing variable shadowing that broke the -c option.
24621
246222010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
24623
24624 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
24625 in case they contain spaces.
24626
f28a9212
CW
246272010-06-04 Colin Watson <cjwatson@ubuntu.com>
24628
24629 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
24630 "part_" to partmap module names, in line with grub-install.
24631 Reported by: Jindřich Makovička (Debian bug #584426).
24632
9cdfe32f
CW
246332010-06-04 Colin Watson <cjwatson@ubuntu.com>
24634
24635 * util/grub-mkimage.c: Make target-related error messages slightly
24636 more helpful; -O talks about "format". Explicitly point to the use
24637 of -O if no target is specified.
24638 Reported by: Didier Raboud (Debian bug #584415).
24639
795b593a
CW
246402010-06-03 Colin Watson <cjwatson@ubuntu.com>
24641
24642 * INSTALL: Document several build requirements for optional features
24643 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
24644
9d9b5833
GS
246452010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
24646
24647 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
24648 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
24649 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
24650
0819fec8
CW
246512010-06-02 Colin Watson <cjwatson@ubuntu.com>
24652
24653 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
24654 Thanks to Jordan Uggla for spotting this.
24655
49396b4f
VS
246562010-06-02 Aleš Nesrsta <starous@volny.cz>
24657
24658 Finally make USB usable.
24659
24660 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
24661 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
24662 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
24663 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
24664 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
24665 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
24666 (GRUB_OHCI_FSMPS): Likewise.
24667 (GRUB_OHCI_PERIODIC_START): Likewise.
24668 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
24669 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
24670 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
24671 (GRUB_OHCI_SET_PORT_RESET): Likewise.
24672 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
24673 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
24674 (grub_ohci_transaction): Likewise.
24675 (grub_ohci_transfer): Improve condition detection algorithms.
24676 Handle toggle property. Program the transactions correctly.
24677 Improve error handling. Various important fixups.
24678 (grub_ohci_portstatus): Put register writes in right order.
24679 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
24680 (grub_uhci_transfer): Don't show "failed" message on success.
24681 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
24682 array.
24683 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
24684 determine its size.
24685 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
24686 before initialization is completed. Use IN direction for empty
24687 transfers. Use last_trans and compute toggle.
24688 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
24689 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
24690 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
24691 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
24692 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
24693 (grub_usb_device): Increase toggle to 256.
24694 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
24695 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
24696 GRUB_USBMS_SUBCLASS_SFF8070.
24697 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
24698 (grub_scsi_inquiry): New member page and alloc_length.
24699 (grub_scsi_request_sense): New structure.
24700 (grub_scsi_request_sense_data): Likewise.
24701 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
24702 control.
24703 * disk/scsi.c (grub_scsi_request_sense): New function.
24704 (grub_scsi_test_unit_ready): Likewise.
24705 (grub_scsi_inquiry): Fill new fields.
24706 (grub_scsi_read_capacity): Likewise.
24707 (grub_scsi_read10): Add request sense at the end.
24708 (grub_scsi_read12): Likewise.
24709 (grub_scsi_write10): Likewise.
24710 (grub_scsi_write12): Likewise.
24711 (grub_scsi_open): Add Test Unit Ready.
24712 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
24713 Support additional subclasses. Con't clear halt yet. Activate the
24714 proper config. Calculate LUNs correctly.
24715 (grub_usbms_transfer): Various important fixups.
24716
247172010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
24718
24719 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
24720 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
24721 (grub_ohci_fini_hw): New function.
24722 (grub_ohci_restore_hw): Likewise.
24723 (GRUB_MOD_INIT(ohci)): Register preboot hook.
24724 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
24725 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
24726
247272010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
24728
24729 Dedicated DMA allocations.
24730
24731 * bus/pci.c (grub_memalign_dma32): New function
24732 (grub_dma_free): Likewise.
24733 (grub_dma_get_virt): Likewise.
24734 (grub_dma_get_phys): Likewise.
24735 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
24736 (grub_ohci_pci_iter): Use dma32_alloc.
24737 (grub_ohci_transfer): Likewise.
24738 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
24739 (grub_usb_bulk_readwrite): Likewise.
24740 * include/grub/pci.h: Add declarations.
24741
247422010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
24743
24744 CS5536 support.
24745
24746 * bus/cs5536.c: New file.
24747 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
24748 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
24749 (cs5536_mod_SOURCES): New variable.
24750 (cs5536_mod_CFLAGS): Likewise.
24751 (cs5536_mod_LDFLAGS): Likewise.
24752 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
24753 machine/pci.h.
24754 (kernel_img_SOURCES): Add bus/cs5536.c.
24755 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
24756 usb_keyboard.mod.
24757 (usb_mod_SOURCES): New variable.
24758 (usb_mod_CFLAGS): New variable.
24759 (usb_mod_LDFLAGS): New variable.
24760 (usbtest_mod_SOURCES): New variable.
24761 (usbtest_mod_CFLAGS): New variable.
24762 (usbtest_mod_LDFLAGS): New variable.
24763 (ohci_mod_SOURCES): New variable.
24764 (ohci_mod_CFLAGS): New variable.
24765 (ohci_mod_LDFLAGS): New variable.
24766 (usbms_mod_SOURCES): New variable.
24767 (usbms_mod_CFLAGS): New variable.
24768 (usbms_mod_LDFLAGS): New variable.
24769 (usb_keyboard_mod_SOURCES): New variable.
24770 (usb_keyboard_mod_CFLAGS): New variable.
24771 (usb_keyboard_mod_LDFLAGS): New variable.
24772 * include/grub/smbus.h: New file.
24773 * include/grub/cs5536.h: New file.
24774
0b35b2a9
CW
247752010-06-02 Colin Watson <cjwatson@ubuntu.com>
24776
24777 * util/grub.d/00_header.in: Add safety check to make sure that
24778 ${locale_dir} exists before trying to probe it.
24779
ca0afd5b
CW
247802010-06-02 Colin Watson <cjwatson@ubuntu.com>
24781
24782 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
24783 per the GNU Coding Standards; this is now too obscure to be worth
24784 documenting.
24785 (QNX): Likewise.
24786 (chainloader): Remove cross-reference to `SCO UnixWare'.
24787
1c41aa78
CW
247882010-06-02 Colin Watson <cjwatson@ubuntu.com>
24789
24790 * docs/grub.texi (Chain-loading): New section.
24791 (DOS/Windows): New section, borrowed from GRUB Legacy with details
24792 adjusted for GRUB 2.
24793 (SCO UnixWare): Likewise.
24794 (QNX): Likewise.
24795 (chainloader): Add reference to `Block list syntax'.
24796 (drivemap): New section.
24797 (parttool): New section.
24798
bb8ea0f5
CW
247992010-06-02 Colin Watson <cjwatson@ubuntu.com>
24800
24801 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
24802 the grub shell'.
24803 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
24804 (Installing GRUB using grub-install): Remove reference to the grub
24805 shell; mention `grub-mkimage' and `grub-setup' instead.
24806 (Invoking grub-install): Likewise.
24807 (Interface): Add reference to `Menu entry editor'.
24808 (serial): Remove `--device' option.
24809
288dd6ed
CW
248102010-06-02 Colin Watson <cjwatson@ubuntu.com>
24811
24812 * docs/grub.texi (Configuration): New section, documenting
24813 configuration file generation using grub-mkconfig. I've left a slot
24814 for documenting the full shell scripting format but have not yet
24815 started on writing that up.
24816 (Invoking grub-mkconfig): New section.
24817
34c9f0e9
CW
248182010-06-02 Colin Watson <cjwatson@ubuntu.com>
24819
24820 * docs/grub.texi (direntry): Remove grub-terminfo reference.
24821 (GNU GRUB manual): Likewise.
24822 (General commands): Update description of `terminfo' for GRUB 2.
24823
9121567e
CW
248242010-06-02 Colin Watson <cjwatson@ubuntu.com>
24825
24826 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
24827 (GRUB_MOD_INIT): Fix capitalisation.
24828 * docs/grub.texi (Command-line and menu entry commands): Document
24829 gettext and gptsync commands.
24830
ab631611
CW
248312010-06-02 Colin Watson <cjwatson@ubuntu.com>
24832
24833 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
24834 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
24835
bde4a9ac
CW
248362010-06-01 Colin Watson <cjwatson@ubuntu.com>
24837
24838 Add btrfs probing support, currently only in the single-device case.
24839
24840 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
24841 function.
24842 (grub_guess_root_device): Call find_root_device_from_mountinfo
24843 before looking in /dev.
24844
b1d17e10
VS
248452010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
24846
24847 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
24848 GRUB_DISK_SIZE_UNKNOWN.
24849 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
24850
dfbfe004
JS
248512010-05-31 Jiro SEKIBA <jir@unicus.jp>
24852
24853 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
24854 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
24855 corrupted or not synced properly.
24856
c2ffc8e9
VS
248572010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
24858
24859 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
24860 Reported by: Seth Goldberg.
24861
56293166
VS
248622010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
24863
24864 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
24865 addition of dest.
24866 Reported by: Seth Goldberg.
24867
7620e7de
VS
248682010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
24869
24870 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
24871 Reported by: Seth Goldberg.
24872
c837af3f
VS
248732010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
24874
24875 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
24876 64-bit address as signed on MIPS.
24877
c7c75cf4
CW
248782010-05-28 Colin Watson <cjwatson@ubuntu.com>
24879
24880 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
24881 to the empty string.
24882
fa4b8490
BC
248832010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
24884
24885 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
24886
24887 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
24888 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
24889 * kern/misc.c (__enable_execute_stack): Disable on
24890 GRUB_MACHINE_EMU.
24891
a33075b9
CW
248922010-05-28 Colin Watson <cjwatson@ubuntu.com>
24893
24894 Make grub-probe work with symbolic links under /dev/mapper as well
24895 as with real block devices. The Linux world seems to be (at best)
24896 in transition here, and GRUB shouldn't get caught in the middle.
24897
24898 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
24899 /dev/mapper.
24900
d8708134
CW
249012010-05-27 Colin Watson <cjwatson@ubuntu.com>
24902
24903 * util/grub-script-check.c (main): Ensure defined behaviour on empty
24904 input files (in which case exit zero).
24905
db2102a0
CW
249062010-05-27 Colin Watson <cjwatson@ubuntu.com>
24907
24908 * kern/emu/misc.c (canonicalize_file_name): realpath can still
24909 return NULL for various reasons even if it has a maximum-length
24910 buffer: for example, there might be a symlink loop, or the path
24911 might exceed PATH_MAX. If this happens, return NULL.
24912
5fdba519
RM
249132010-05-27 Robert Millan <rmh@gnu.org>
24914
24915 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
24916 partmap module to handle cross-partmap setups.
24917 Reported by Orestes Mas. Gràcies!
24918
d1d368e4
CW
249192010-05-27 Colin Watson <cjwatson@ubuntu.com>
24920
24921 * util/grub-mkrescue.in: Initialise override_dir rather than
24922 assuming that it's unset or empty in the environment.
24923
95ac3c73
GS
249242010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
24925
24926 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
24927 variable index into p_index to suppress a warning with -Wshadow.
24928
7d8c0213
BC
249292010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
24930
24931 * INSTALL: Added flex >= 2.5.35 requirement.
24932
db4d5813
VS
249332010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
24934
24935 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
24936
f24f4300
VS
249372010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
24938
24939 cmostest support.
24940
24941 * commands/i386/cmostest.c: New file.
24942 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
24943 (cmostest_mod_SOURCES): New variable.
24944 (cmostest_mod_CFLAGS): Likewise.
24945 (cmostest_mod_LDFLAGS): Likewise.
24946 * conf/i386-pc.rmk: Likewise.
24947 * docs/grub.texi (Vendor power-on keys): New section.
24948 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
24949 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
24950 and GRUB_BUTTON_CMOS_ADDRESS.
24951 * util/grub.d/00_header.in: Handle powering-on by separate button.
24952
ad603f61
VS
249532010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
24954
24955 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
24956 Removed drawing_scrollbar argument. All users updated
24957 Fixes #29792.
24958 Reported by Jo Shields
24959
3ecb080a
VS
249602010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
24961
24962 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
24963 buffer since gfxterm handles double repaint.
24964
5f2316c1
VS
249652010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
24966
24967 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
24968 * term/gfxterm.c (real_scroll): Likewise.
24969
9a25f885
VS
249702010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
24971
24972 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
24973 before calling BIOS.
24974
39fbb79a
VS
249752010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
24976
24977 * include/grub/i18n.h: Always enable grub_gettext.
24978
228cfa97
VS
249792010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
24980
24981 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
24982 partition naming style.
24983
21717c8f
CW
249842010-05-21 Colin Watson <cjwatson@ubuntu.com>
24985
24986 * util/grub-mkconfig.in: Fix handling of -o so that it works when
24987 not the first option.
24988
c0f48e65
CW
249892010-05-20 Colin Watson <cjwatson@ubuntu.com>
24990
24991 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
24992
96779aec
CW
249932010-05-20 Colin Watson <cjwatson@ubuntu.com>
24994
24995 * util/misc.c: Move inclusion of <limits.h> to ...
24996 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
24997
fa9d256e
GS
249982010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
24999
25000 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
25001 Fix merge error in NetBSD code.
25002 (find_partition_start) [__NetBSD__]: Likewise.
25003
123b7a85
BC
250042010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
25005
25006 Fix grub-mkrescue usage unit testing.
25007
25008 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
25009
74276c0d
CF
250102010-05-18 Christian Franke <franke@computer.org>
25011
25012 * util/grub.d/10_windows.in: Use path names instead of
25013 drive letters to prevent warning from Cygwin 1.7.
25014 Add drivemap command to menuentry if needed.
25015
c4f7b523
ST
250162010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
25017
25018 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
25019 gnumach and gnumach.gz.
25020
95b97950
VS
250212010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
25022
25023 * include/grub/i18n.h (gettext): Inline instead of using #define.
25024 (grub_gettext): Likewise.
25025 (_): Likewise.
25026
01b8d2d7
VS
250272010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
25028
25029 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
25030 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
25031 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
25032 (main): Add a slash after pkglibdirroot.
25033
654e1d1e
VS
250342010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
25035
25036 * util/grub-install.in: Add missing "in" keyword.
25037
26966aeb
VS
250382010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
25039
25040 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
25041 Reported by: Seth Goldberg.
25042
75006747
VS
250432010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
25044
25045 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
25046
74cbf5bd
CW
250472010-05-18 Colin Watson <cjwatson@ubuntu.com>
25048
25049 * configure.ac: Check for Linux device-mapper support.
25050
25051 * util/hostdisk.c (device_is_mapped): New function.
25052 (find_partition_start): New function, partly broken out from
25053 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
25054 device-mapper support added.
25055 (linux_find_partition): Use find_partition_start.
25056 (convert_system_partition_to_system_disk): Add `st' argument.
25057 Support Linux /dev/mapper/* devices if device-mapper support is
25058 available; only DM-RAID devices are understood at present.
25059 (find_system_device): Add `st' argument. Pass it to
25060 convert_system_partition_to_system_disk.
25061 (grub_util_biosdisk_get_grub_dev): Pass stat result to
25062 find_system_device and convert_system_partition_to_system_disk. Use
25063 find_partition_start.
25064
25065 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
25066 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
25067 * util/deviceiter.c [__linux__]: Define MINOR.
25068 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
25069 * util/mkdevicemap.c (grub_putchar): New function.
25070 (grub_getkey): New function.
25071 (grub_refresh): New function.
25072 (main): Set debug=all if -v -v is used.
25073
355b51e9
CW
250742010-05-18 Colin Watson <cjwatson@ubuntu.com>
25075
25076 Fix build with non-GNU libcs.
25077
25078 * util/misc.c (canonicalize_file_name): Move to ...
25079 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
25080 grub_make_system_path_relative_to_its_root.
25081
7fb5c25f
CW
250822010-05-18 Colin Watson <cjwatson@ubuntu.com>
25083
25084 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
25085 we handle finding grub-mkimage. Default to finding grub-mkimage in
25086 ${bindir} with program_transform_name applied, and provide a
25087 --grub-mkimage option to override this.
25088
1d3293d6
VS
250892010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
25090
25091 Remove grub-mkisofs.
25092
25093 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
25094 (grub_mkisofs_SOURCES): Removed.
25095 (grub_mkisofs_CFLAGS): Removed.
25096 * util/mkisofs/defaults.h: Removed.
25097 * util/mkisofs/eltorito.c: Likewise.
25098 * util/mkisofs/exclude.h: Likewise.
25099 * util/mkisofs/hash.c: Likewise.
25100 * util/mkisofs/include/: Likewise.
25101 * util/mkisofs/include/fctldefs.h: Likewise.
25102 * util/mkisofs/include/mconfig.h: Likewise.
25103 * util/mkisofs/include/prototyp.h: Likewise.
25104 * util/mkisofs/include/statdefs.h: Likewise.
25105 * util/mkisofs/iso9660.h: Likewise.
25106 * util/mkisofs/joliet.c: Likewise.
25107 * util/mkisofs/match.c: Likewise.
25108 * util/mkisofs/match.h: Likewise.
25109 * util/mkisofs/mkisofs.c: Likewise.
25110 * util/mkisofs/mkisofs.h: Likewise.
25111 * util/mkisofs/msdos_partition.h: Likewise.
25112 * util/mkisofs/multi.c: Likewise.
25113 * util/mkisofs/name.c: Likewise.
25114 * util/mkisofs/rock.c: Likewise.
25115 * util/mkisofs/tree.c: Likewise.
25116 * util/mkisofs/write.c: Likewise.
25117
5dde9afe
VS
251182010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
25119
25120 Unify grub-mkimage accross platforms.
25121
25122 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
25123 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
25124 (grub_mkelfimage_SOURCES): Removed.
25125 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
25126 (util/grub-mkimage.c_DEPENDENCIES): .. this.
25127 (bin_UTILITIES): Add grub-mkimage.
25128 (grub_mkimage_SOURCES): New variable.
25129 (kernel_img_HEADERS): Remove machine/kernel.h.
25130 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
25131 (pkglib_PROGRAMS): Add kernel.img.
25132 (kernel_img_HEADERS): Add machine/kernel.h.
25133 (kernel_img_FORMAT): Removed.
25134 (bin_UTILITIES): Remove grub-mkimage.
25135 (grub_mkimage_SOURCES): Removed.
25136 (grub_mkimage_CFLAGS): Likewise.
25137 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
25138 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
25139 (pkglib_PROGRAMS): Add kernel.img.
25140 (bin_UTILITIES): Remove grub-mkimage.
25141 (grub_mkimage_SOURCES): Removed.
25142 (grub_mkimage_CFLAGS): Likewise.
25143 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
25144 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
25145 (pkglib_PROGRAMS): Add kernel.img.
25146 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
25147 (pkglib_PROGRAMS): Add kernel.img.
25148 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
25149 (grub_mkimage_SOURCES): Removed.
25150 (grub_mkimage_CFLAGS): Likewise.
25151 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
25152 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
25153 (pkglib_PROGRAMS): Add kernel.img.
25154 (bin_UTILITIES): Remove grub-mkimage.
25155 (grub_mkimage_SOURCES): Removed.
25156 (grub_mkimage_CFLAGS): Likewise.
25157 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
25158 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
25159 (grub_mkimage_SOURCES): Removed.
25160 (grub_mkimage_CFLAGS): Likewise.
25161 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
25162 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
25163 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
25164 (grub_pe32_optional_header): ... this.
25165 (grub_pe64_optional_header): ... and this. All users updated.
25166 (GRUB_PE32_PE32_MAGIC): Split into ..
25167 (GRUB_PE32_PE32_MAGIC): .. this.
25168 (GRUB_PE32_PE64_MAGIC): .. and this.
25169 (GRUB_PE32_SIGNATURE_SIZE): New definition.
25170 * include/grub/elf.h (PT_GNU_STACK): New definition.
25171 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
25172 * include/grub/i386/efi/kernel.h: Likewise.
25173 * include/grub/i386/kernel.h: Likewise.
25174 * include/grub/i386/pc/kernel.h: Likewise.
25175 * include/grub/i386/qemu/boot.h: Likewise.
25176 * include/grub/mips/kernel.h: Likewise.
25177 * include/grub/mips/qemu-mips/kernel.h: Likewise.
25178 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
25179 * include/grub/powerpc/kernel.h: Likewise.
25180 * include/grub/sparc64/ieee1275/boot.h: Likewise.
25181 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
25182 * include/grub/sparc64/kernel.h: Likewise.
25183 * include/grub/x86_64/efi/kernel.h: Likewise.
25184 * include/grub/x86_64/kernel.h: Likewise.
25185 * include/grub/offsets.h: New file.
25186 * include/grub/kernel.h (grub_module_info): Split into ...
25187 (grub_module_info32): ... this.
25188 (grub_module_info64): ... and this.
25189 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
25190 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
25191 (grub_boot_blocklist): Moved from here ...
25192 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
25193 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
25194 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
25195 * include/grub/types.h (grub_target_to_host16): Removed.
25196 (grub_target_to_host32): Likewise.
25197 (grub_target_to_host64): Likewise.
25198 (grub_host_to_target16): Likewise.
25199 (grub_host_to_target32): Likewise.
25200 (grub_host_to_target64): Likewise.
25201 (grub_host_to_target_addr): Likewise.
25202
25203 Support grub-mkrescue for efi, coreboot and qemu.
25204
25205 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
25206 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
25207 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
25208 * util/grub-mkrawimage.c: Moved from here ...
25209 * util/grub-mkimage.c: ... here. All users updated.
25210 (ALIGN_ADDR): Use image_target.
25211 (TARGET_NO_FIELD): New const.
25212 (image_target_desc): New type.
25213 (image_targets): New array.
25214 (grub_target_to_host64): Use image_target.
25215 (grub_target_to_host32): Likewise.
25216 (grub_target_to_host16): Likewise.
25217 (grub_host_to_target64): Likewise.
25218 (grub_host_to_target32): Likewise.
25219 (grub_host_to_target16): Likewise.
25220 (grub_host_to_target_addr): Likewise.
25221 (generate_image): Handle multiimage.
25222 (main): Require -O parameter. All users updated.
25223 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
25224 util/efi/grub-mkimage.c
25225 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
25226 New option --rom-directory.
25227 Use xorriso.
25228 * util/i386/efi/grub-mkimage.c: Removed.
25229 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
25230 (grub_target_to_host32): Likewise.
25231 (grub_target_to_host64): Likewise.
25232 (grub_host_to_target16): Likewise.
25233 (grub_host_to_target32): Likewise.
25234 (grub_host_to_target64): Likewise.
25235 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
25236 (grub_target_to_host32): Likewise.
25237 (grub_target_to_host64): Likewise.
25238 (grub_host_to_target16): Likewise.
25239 (grub_host_to_target32): Likewise.
25240 (grub_host_to_target64): Likewise.
25241
f4fc97d0
BC
252422010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
25243
25244 Source tree is reorganized for emu build.
25245
25246 * include/grub/util/console.h: Move from here...
25247 * include/grub/emu/console.h: ...to here.
25248 * include/grub/util/getroot.h: Move from here...
25249 * include/grub/emu/getroot.h: ...to here.
25250 * include/grub/util/hostdisk.h: Move from here...
25251 * include/grub/emu/hostdisk.h: ...to here.
25252 * util/console.c: Move from here...
25253 * kern/emu/console.c: ...to here.
25254 * util/getroot.c: Move from here...
25255 * kern/emu/getroot.c: ...to here.
25256 * util/grub-emu.c: Move from here...
25257 * kern/emu/main.c: ...to here.
25258 * util/hostdisk.c: Move from here...
25259 * kern/emu/hostdisk.c: ...to here.
25260 * util/hostfs.c: Move from here...
25261 * kern/emu/hostfs.c: ...to here.
25262 * util/mm.c: Move from here...
25263 * kern/emu/mm.c: ...to here.
25264 * util/pci.c: Move from here...
25265 * bus/emu/pci.c: ...to here.
25266 * util/sdl.c: Move from here...
25267 * video/emu/sdl.c: ...to here.
25268 * util/time.c: Move from here...
25269 * kern/emu/time.c: ...to here.
25270 * util/usb.c: Move from here...
25271 * bus/usb/emu/usb.c: ...to here.
25272
25273 * include/grub/emu/misc.h: New header for grub-emu functions.
25274 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
25275
25276 * conf/any-emu.rmk: Rule updates for above renames.
25277 * conf/common.rmk: Likewise.
25278 * conf/i386-pc.rmk: Likewise.
25279 * conf/i386-qemu.rmk: Likewise.
25280 * conf/mips.rmk: Likewise.
25281 * conf/sparc64-ieee1275.rmk: Likewise.
25282 * conf/x86-efi.rmk: Likewise.
25283
25284 * disk/lvm.h: #include updates for above renames.
25285 * util/grub-mkrelpath.c: Likewise.
25286 * util/grub-probe.c: Likewise.
25287 * util/i386/pc/grub-setup.c: Likewise.
25288 * util/sparc64/ieee1275/grub-setup.c: Likewise.
25289 * kern/emu/console.c: Likewise.
25290 * kern/emu/getroot.c: Likewise.
25291 * kern/emu/hostdisk.c: Likewise.
25292 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
25293
25294 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
25295 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
25296 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
25297 * util/misc.c: Remove grub-emu functions.
25298
cced9145
VS
252992010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
25300
25301 Fix gfxmenu crash.
25302 Reported by: Thorsten Grützmacher.
25303
25304 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
25305 timeout hook.
25306 (circprog_set_property): Register and unregister timeout hook.
25307 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
25308 (label_destroy): Free template. and unregister hook.
25309 (label_set_state): New function.
25310 (label_set_property): Handle templates and hooks.
25311 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
25312 timeout hook.
25313 (progress_bar_set_property): Register and unregister timeout hook.
25314 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
25315 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
25316 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
25317 (update_timeout_visit): Removed.
25318 (update_timeouts): New function.
25319 (redraw_timeouts): Likewise.
25320 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
25321 (grub_gfxmenu_clear_timeout): Likewise.
25322 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
25323 (grub_gfxmenu_timeout_notify): Likewise.
25324 (grub_gfxmenu_timeout_notifications): New external variable.
25325 (grub_gfxmenu_timeout_register): New function.
25326 (grub_gfxmenu_timeout_unregister): Likewise.
25327
c6e5caab
VS
253282010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
25329
25330 Transform (broken) vga terminal into (working) vga video driver.
25331
25332 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
25333 video/i386/pc/vga.c.
25334 * include/grub/video.h (grub_video_driver_id):
25335 Add GRUB_VIDEO_DRIVER_VGA.
25336 * term/i386/pc/vga.c: Renamed to ...
25337 * video/i386/pc/vga.c: ...this
25338 (DEBUG_VGA): Removed.
25339 (CHAR_WIDTH): Likewise.
25340 (CHAR_HEIGHT): Likewise.
25341 (TEXT_WIDTH): Likewise.
25342 (TEXT_HEIGHT): Likewise.
25343 (DEFAULT_FG_COLOR): Likewise.
25344 (DEFAULT_BG_COLOR): Likewise.
25345 (colored_char): Likewise.
25346 (xpos): Likewise.
25347 (ypos): Likewise.
25348 (cursor_state): Likewise.
25349 (fg_color): Likewise.
25350 (bg_color): Likewise.
25351 (text_buf): Likewise.
25352 (page): Likewise.
25353 (font): Likewise.
25354 (framebuffer): New variable.
25355 (set_read_map): Disabled.
25356 (setup): New variable.
25357 (is_target): Likewise.
25358 (grub_vga_mod_init): Likewise.
25359 (grub_vga_mod_fini): Likewise.
25360 (check_vga_mem): Likewise.
25361 (write_char): Likewise.
25362 (write_cursor): Likewise.
25363 (scroll_up): Likewise.
25364 (grub_vga_putchar): Likewise.
25365 (grub_vga_getcharwidth): Likewise.
25366 (grub_vga_getwh): Likewise.
25367 (grub_vga_getxy): Likewise.
25368 (grub_vga_gotoxy): Likewise.
25369 (grub_vga_cls): Likewise.
25370 (grub_vga_setcolorstate): Likewise.
25371 (grub_vga_setcursor): Likewise.
25372 (grub_video_vga_init): New function.
25373 (grub_video_vga_setup): Likewise.
25374 (grub_video_vga_fini): Likewise.
25375 (update_target): Likewise.
25376 (grub_video_vga_blit_bitmap): Likewise.
25377 (grub_video_vga_blit_render_target): Likewise.
25378 (grub_video_vga_set_active_render_target): Likewise.
25379 (grub_video_vga_get_active_render_target): Likewise.
25380 (grub_video_vga_swap_buffers): Likewise.
25381 (grub_video_vga_set_palette): Likewise.
25382 (grub_video_vga_get_info_and_fini): Likewise.
25383 (grub_vga_term): Removed.
25384 (grub_video_vga_adapter): New variable.
25385 (GRUB_MOD_INIT): Register a video driver instead of terminal.
25386 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
25387
2bf61a98
VS
253882010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
25389
25390 * video/readers/jpeg.c: Indented.
25391
09ddcd11
VS
253922010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
25393
25394 Various jpeg cleanups.
25395
25396 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
25397 (grub_jpeg_decode_quan_table): Use sizeof.
25398 (grub_jpeg_decode_du): Use ARRAY_SIZE.
25399
e5507505
PH
254002010-05-05 Peter Hurley <No e-mail available> (tiny change)
25401
25402 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
25403 tables. Ignore non-last ac bit.
25404 (grub_jpeg_decode_quan_table): Likewise.
25405
7e720a9b
VS
254062010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
25407
25408 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
25409 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
25410 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
25411 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
25412 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
25413 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
25414
a7fc080b
VS
254152010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
25416
25417 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
25418 error.
25419
2bf6012d
VS
254202010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
25421
25422 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
25423
265d68cd
VS
254242010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25425
25426 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
25427 condition.
25428
254292010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
25430
25431 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
25432 part.
25433
265d68cd 254342010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
25435
25436 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
25437 pointers.
25438
265d68cd 254392010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
25440
25441 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
25442
d1b61374
CF
254432010-05-01 Christian Franke <franke@computer.org>
25444
25445 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
25446 Remove broken Cygwin path conversion.
25447 * util/misc.c: [__CYGWIN__] Add include and define.
25448 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
25449 for Cygwin 1.7.
25450 (make_system_path_relative_to_its_root): Simplify loop, replace early
25451 return by break.
25452 [__CYGWIN__] Add conversion to win32 path.
25453 Include "/" case in trailing slash removal.
25454
3558c6e9
VS
254552010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25456
25457 * kern/main.c (grub_load_config): Fix copy-pasted comment.
25458 Reported by: Seth Goldberg
25459
f5f3ff93
VS
254602010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25461
25462 * commands/help.c (grub_cmd_help): Fix a typo.
25463 Reported by: Seth Goldberg
25464
d8b5cd40
VS
254652010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25466
25467 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
25468 name and add N_.
25469 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
25470 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
25471 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
25472 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
25473 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
25474 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
25475 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
25476 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
25477 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
25478 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
25479 * normal/context.c (GRUB_MOD_INIT): Likewise.
25480 * normal/main.c (GRUB_MOD_INIT): Likewise.
25481 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
25482 * term/serial.c (GRUB_MOD_INIT): Likewise.
25483 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
25484
88c14915
VS
254852010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25486
25487 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
25488 extra == 0.
25489
165134bc
VS
254902010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25491
25492 * commands/iorw.c: New file.
25493 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
25494 (iorw_mod_SOURCES): New variable.
25495 (iorw_mod_CFLAGS): Likewise.
25496 (iorw_mod_LDFLAGS): Likewise.
25497
c5ac9b32
VS
254982010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25499
25500 Hotkey support
25501
25502 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
25503 * normal/main.c (hotkey_aliases): New variable.
25504 (grub_normal_add_menu_entry): Parse "--hotkey".
25505 * normal/menu_text.c (run_menu): Handle hotkeys.
25506
ce60689c
VS
255072010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25508
25509 * kern/i386/coreboot/init.c (grub_machine_init): Call
25510 grub_machine_mmap_init on qemu.
25511
0359d006
VS
255122010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25513
25514 * boot/i386/qemu/boot.S: Add a missing .code16.
25515
7819a456
VS
255162010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25517
25518 Use LBIO on coreboot.
25519
25520 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
25521 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
25522 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
25523 New declaration.
25524 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
25525 grub_machine_mmap_init on coreboot.
25526 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
25527 GRUB_LINUXBIOS_MEMBER_LINK.
25528 (grub_machine_mmap_iterate): Fix declaration.
25529 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
25530
7210dca9
VS
255312010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25532
25533 Split coreboot and multiboot ports.
25534
25535 * conf/i386-multiboot.rmk: New file.
25536 * configure.ac: Add multiboot port.
25537 * include/grub/i386/multiboot/boot.h: New file.
25538 * include/grub/i386/multiboot/console.h: Likewise.
25539 * include/grub/i386/multiboot/init.h: Likewise.
25540 * include/grub/i386/multiboot/kernel.h: Likewise.
25541 * include/grub/i386/multiboot/loader.h: Likewise.
25542 * include/grub/i386/multiboot/memory.h: Likewise.
25543 * include/grub/i386/multiboot/serial.h: Likewise.
25544 * include/grub/i386/multiboot/time.h: Likewise.
25545 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
25546 * loader/multiboot.c: Likewise.
25547 * loader/multiboot_mbi2.c: Likewise.
25548 * util/grub-mkrescue.in: Generate multiboot rescue.
25549
6f8aaf68
VS
255502010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25551
3080f7a7
VS
25552 * kern/parser.c (grub_parser_execute): Cope with read-only config.
25553
255542010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25555
25556 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
25557
25558 * commands/terminal.c (abstract_terminal): New struct.
25559 (handle_command): New function. Based on grub_cmd_terminal_input.
25560 (grub_cmd_terminal_input): Use handle_command.
25561 (grub_cmd_terminal_output): Use handle_command.
25562
a8ebb841
BC
255632010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
25564
25565 Fix comment handling.
25566
25567 * tests/grub_script_comments.in: New testcase.
25568 * conf/tests.rmk: Rules for new testcase.
25569 * script/yylex.l: Updated flex rules.
25570
bb06ba08
ST
255712010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
25572
25573 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
25574 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
25575 if argc is 1.
bb06ba08 25576
cc9d2425
VS
255772010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
25578
25579 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
25580 autogen issues.
25581
460d8402
CF
255822010-04-26 Christian Franke <franke@computer.org>
25583
25584 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
25585 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
25586 (grub_get_prefix): Remove function.
25587 * util/grub-emu.c (main): Replace grub_get_prefix () call by
25588 make_system_path_relative_to_its_root ().
25589 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
25590
553c01f9
CF
255912010-04-24 Christian Franke <franke@computer.org>
25592
25593 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
25594 (kernel_img_LDFLAGS): Remove -static-libgcc.
25595
2aec1692
CF
255962010-04-24 Christian Franke <franke@computer.org>
25597
25598 * configure.ac: Do not CHECK_BSS_START_SYMBOL
25599 and CHECK_END_SYMBOL if grub-emu is built.
25600 Unset TARGET_OBJ2ELF if grub-emu is built
25601 without module support.
25602
f67dc308
JS
256032010-04-24 Jiro SEKIBA <jir@unicus.jp>
25604
25605 Nilfs2 support.
25606
25607 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
25608 (grub_fstest_SOURCES): Likewise.
25609 (pkglib_MODULES): Add nilfs2.mod.
25610 (nilfs2_mod_SOURCES): New variable.
25611 (nilfs2_mod_CFLAGS): Likewise.
25612 (nilfs2_mod_LDFLAGS): Likewise.
25613 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
25614 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
25615 * fs/nilfs2.c: New file.
25616
4ba8d354
VS
256172010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
25618
25619 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
25620 is not supported.
25621
0d2c20c6
GS
256222010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
25623
25624 Add grub-mkconfig support for NetBSD.
25625
25626 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
25627 * util/grub-mkconfig.in: export new NetBSD specific variables.
25628 * po/POTFILES-shell: added 10_netbsd.in.
25629 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
25630
bc4a2d83
BC
256312010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
25632
25633 Fix emu build with grub-emu-pci and grub-emu-modules.
25634
25635 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
25636 functions.
25637 * include/grub/libpciaccess.h: New file.
25638 * conf/any-emu.rmk: Update kernel headers for emu build.
25639
f48c87aa
VS
256402010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
25641
25642 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
25643
18959385
VS
256442010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
25645
25646 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
25647
0037de3f
VS
256482010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
25649
25650 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
25651 Retrieve chosen/bootpath if bootpath isn't hardcoded.
25652 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
25653 util/ieee1275/ofpath.c.
25654 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
25655 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
25656 * include/grub/sparc64/ieee1275/boot.h
25657 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
25658 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
25659 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
25660 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
25661 const char *.
25662 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
25663 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
25664 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
25665 install.
25666
38e55e90
GS
256672010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
25668
25669 * util/grub-mkconfig.in: Corrected two == equality tests.
25670 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
25671 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
25672 expect a number appended to it.
25673 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
25674 expects a number appended to it.
25675
a9e6ff28
VS
256762010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
25677
25678 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
25679
0b830b8f
VS
256802010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
25681
25682 * util/hostdisk.c (make_device_name): Change to new partition naming.
25683
0973daeb
VS
256842010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
25685
25686 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
25687
460d8402 256882010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
25689
25690 * Makefile.in: Add missing localedir setting.
25691
0b456309
CW
256922010-04-14 Colin Watson <cjwatson@ubuntu.com>
25693
25694 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
25695 mistake in r2156. Noticed by Anthony Fok.
25696
25697 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
25698 @localedir@.
25699 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
25700
08f46d62
BC
257012010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
25702
25703 Fix a spurious, uninitialized variable warning.
25704
25705 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
25706 Initialize variable, shdr.
25707 (grub_freebsd_load_elfmodule): Likewise.
25708 (grub_freebsd_load_elf_meta): Likewise.
25709
8c4a72d4
BC
257102010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
25711
25712 Fix for escaped dollar in double quoted strings.
25713
25714 * script/yylex.l: Updated flex rules.
25715 * conf/tests.rmk: Rule for new testcase.
25716 * tests/grub_script_dollar.in: New testcase.
25717
ce44826e
CPE
257182010-04-13 Carles Pina i Estany <carles@pina.cat>
257192010-04-13 Colin Watson <cjwatson@ubuntu.com>
25720
25721 Enclose all translated strings in grub.cfg in single quotes, and
25722 escape them appropriately (Ubuntu bug #552921).
25723
25724 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
25725 * util/grub.d/10_hurd.in: Use it.
25726 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
25727 * util/grub.d/10_linux.in (linux_entry): Likewise.
25728
4b0cd8f8
VS
257292010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
25730
25731 Fix cygwin compilation.
25732
25733 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
25734 * include/grub/misc.h (__register_frame_info)
25735 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
25736 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
25737 * kern/misc.c (__register_frame_info)
25738 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
25739 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
25740
01fcf061
VS
257412010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
25742
25743 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
25744
5d04b11e
VS
257452010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
25746
25747 Unify libgcc processing.
25748
25749 * Makefile.in (kernel_img_LDFLAGS): New variable.
25750 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
25751 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
25752 overwriting.
25753 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
25754 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
25755 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
25756 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
25757 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
25758 overwriting. Remove -lgcc and -static-libgcc
25759 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
25760 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
25761 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
25762 (kernel_img_LDFLAGS): Append instead of overwriting.
25763 Remove -lgcc and -static-libgcc
25764 * conf/sparc64-ieee1275.rmk: Likewise.
25765 * include/grub/powerpc/libgcc.h: Move to ...
25766 * include/grub/libgcc.h: .. this.
25767 * include/grub/libgcc.h: Don't export most of the function on x86.
25768 (__bswapsi2): New export.
25769 (__bswapdi2): Likewise.
25770 * include/grub/mips/libgcc.h: Removed.
25771 * include/grub/sparc64/libgcc.h: Likewise.
25772
b7f3ac29
VS
257732010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
25774
25775 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
25776 disk_info_msg (conflicts with gettexting into languages with cases).
25777
2c7031b1
GS
257782010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
25779
25780 Add grub-probe support for NetBSD.
25781
25782 * util/getroot.c (find_root_device): Convert block device to
25783 character device on NetBSD.
25784 * util/probe.c (probe): Require character device on NetBSD.
25785 * util/hostdisk.c: NetBSD specific headers.
25786 (configure_device_driver): new function to tune device driver
25787 parameters (currently only for NetBSD floppy driver).
25788 (grub_util_biosdisk_open): NetBSD specific code (get disk size
25789 via disklabel ioctl).
25790 (open_device): call configure_device_driver on NetBSD.
25791 (convert_system_partition_to_system_disk): NetBSD specific code.
25792 (device_is_wholedisk): Likewise.
25793 (grub_util_biosdisk_get_grub_dev): Likewise.
25794 (make_device_name): Fixed a typo in bsd_part_str.
25795 * configure.ac: check for opendisk() and getrawpartition() on
25796 NetBSD and set LIBUTIL.
25797 * Makefile.in: add LIBUTIL to LIBS.
25798
f516290c
BC
257992010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
25800
25801 Documentation fix.
25802
25803 * util/grub-script-check.c: Better help message.
25804
d8dcc0df
BC
258052010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
25806
25807 Fix FreeBSD build.
25808
25809 * configure.ac: Flex version check.
25810 * conf/common.rmk: Add -Wno-error to sh.mod.
25811 * script/yylex.l: Remove all #pragma.
25812
6734334a
VS
258132010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
25814
25815 * include/grub/util/misc.h (canonicalise_file_name): Add missing
25816 prototype.
25817 Reported by: Seth Goldberg.
25818
daea6abd
VS
258192010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
25820
25821 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
25822 Rename "module" to "module2".
25823 Reported by: Seth Goldberg.
25824
f2fd9d2b
VS
258252010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
25826
25827 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
25828 EXPORT_FUNC.
25829 Reported by: Seth Goldberg.
25830
be124579
VS
258312010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
25832
25833 * lib/posix_wrap/locale.h: Add missing file.
25834 Reported by: Seth Goldberg.
25835
ef5da797
VS
258362010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
25837
25838 grub-emu module load support.
25839
25840 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
25841 NO_DYNAMIC_MODULES switched to this.
25842 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
25843 (CFLAGS): Likewise.
25844 * conf/any-emu.rmk: Generate symlist.
25845 (kernel_img_HEADERS): Add util/datetime.h.
25846 (kernel_img_HEADERS) [sdl]: Add sdl.h.
25847 (kernel_img_HEADERS) [libusb]: Add libusb.h.
25848 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
25849 kern/$(target_cpu)/cache.S.
25850 * configure.ac (grub-emu-modules): New option.
25851 * genmk.rb: Handle multiple source lists.
25852 * include/grub/sdl.h: New file.
25853 * include/grub/libusb.h: Likewise.
25854 * util/grub-emu.c (main): Hanle (host) root.
25855 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
25856 GRUB_ERR_UNKNOWN_DEVICE.
25857 * util/misc.c: Move mm functions to ...
25858 * util/mm.c: ... here. All users updated.
25859
47822096
VS
258602010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25861
25862 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
25863 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
25864 missing files.
25865 (maintainer-clean): Remove libgcrypt-grub.
25866
5d7e7445
VS
258672010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25868
25869 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
25870
25f4e252
EC
258712010-04-09 EFI Coder <eficoder@hotmail.com>
25872
25873 * normal/menu_text.c (print_message): Clean up the message and show
25874 the Fn information when on EFI
25875 * term/efi/console.c (grub_console_checkkey): Add F4 support.
25876
027de555
VS
258772010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25878
25879 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
25880 All users updated.
25881 * normal/crypto.c (read_crypto_list): Likewise.
25882 * normal/dyncmd.c (read_command_list): Likewise.
25883 * normal/term.c (read_terminal_list): Likewise.
25884 * normal/main.c (read_lists): Use explicit prefix.
25885 (read_lists_hook): Use read_lists.
25886 (grub_normal_execute): Likewise.
25887
47779711
VS
258882010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25889
25890 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
25891 Reported by: Thomas Schmitt.
25892 Add -no-emul-boot to grub-mkisofs parameters.
25893
1118c32e
VS
258942010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25895
25896 * font/font.c: Indented.
25897
7d652447
BC
258982010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
25899
25900 Elif support to GRUB script (by Deepak Vankadaru).
25901
25902 * tests/grub_script_if.in: New testcase.
25903 * conf/tests.rmk: Rule for new testcase.
25904 * script/parser.y: Grammar rules for elif.
25905
34bb22df
BC
259062010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
25907
25908 While and until loops support to GRUB script.
25909
25910 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
25911 (grub_script_create_cmdwhile): New function prototype.
25912 (grub_script_execute_cmdwhile): New function prototype.
25913 * script/execute.c (grub_script_execute_cmdwhile): New function.
25914 * script/parser.y (command): New commands.
25915 (whilecmd): New grammar rule.
25916 (untilcmd): New grammar rule.
25917 * script/script.c (grub_script_create_cmdwhile): New function.
25918 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
25919 function.
25920
25921 * tests/grub_script_while1.in: New testcase.
25922 * conf/tests.rmk: Rule for new testcase.
25923
e215d8e0
VS
259242010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25925
25926 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
25927 as *.jpg.
25928
d7c43ba1
MV
259292010-04-09 Mario Vazquez <mariovazq@gmail.com>
25930
25931 GRUB_BACKGROUND support.
25932
25933 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
25934 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
25935
d64795c0
VS
259362010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25937
25938 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 25939 Idea by: Mario Vazquez
d64795c0
VS
25940
25941 * util/grub.d/00_header.in: Load pf2 and image modules.
25942
f267f83a
VS
259432010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25944
25945 grub-mkconfig multiple terminal support.
25946
25947 * util/grub-mkconfig.in: Handle multiple terminals correctly.
25948 * util/grub.d/00_header.in: Likewise.
25949
b7841ceb
VS
259502010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25951
25952 * Makefile.in: Specify files explicitly instead of using $< and $@ since
25953 we use cd $(srcdir).
25954
df60998c
CW
259552010-04-08 Colin Watson <cjwatson@ubuntu.com>
25956
25957 * util/grub.d/10_linux.in: Only use the first word of
25958 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
25959 spaces in GRUB_DISTRIBUTOR.
25960 * util/grub.d/10_kfreebsd.in: Likewise.
25961 * util/grub.d/10_hurd.in: Likewise.
25962
fa09c82e
BC
259632010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
25964
14e18ae3 25965 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
25966
25967 * tests/util/grub-shell.in: Remove -serial stdio option.
25968
daf892b3
BC
259692010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
25970
25971 POSIX header file wrappers.
25972
25973 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
25974 equivalents.
25975 * lib/posix_wrap/ctype.h: Likewise.
25976 * lib/posix_wrap/errno.h: Likewise.
25977 * lib/posix_wrap/langinfo.h: Likewise.
25978 * lib/posix_wrap/limits.h: Likewise.
25979 * lib/posix_wrap/localcharset.h: Likewise.
25980 * lib/posix_wrap/stdint.h: Likewise.
25981 * lib/posix_wrap/stdio.h: Likewise.
25982 * lib/posix_wrap/stdlib.h: Likewise.
25983 * lib/posix_wrap/string.h: Likewise.
25984 * lib/posix_wrap/sys/types.h: Likewise.
25985 * lib/posix_wrap/unistd.h: Likewise.
25986 * lib/posix_wrap/wchar.h: Likewise.
25987 * lib/posix_wrap/wctype.h: Likewise.
25988 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
25989 (grub_script.yy.h): Likewise.
25990 * script/yylex.l: Remove POSIX emulation #defines.
25991 * Makefile.in (POSIX_CFLAGS): New variable.
25992 (GNULIB_UTIL_CFLAGS): Likewise.
25993
25994 Regexp support.
25995
25996 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
25997 (regexp_mod_SOURCES): New variable.
25998 (regexp_mod_CFLAGS): Likewise.
25999 (regexp_mod_LDFLAGS): Likewise.
26000 * commands/regexp.c: New file.
26001 * gnulib/regcomp.c: New file. Imported from gnulib.
26002 * gnulib/regex.c: Likewise.
26003 * gnulib/regex_internal.c: Likewise.
26004 * gnulib/regex_internal.h: Likewise.
26005 * gnulib/regexec.c: Likewise.
26006 * gnulib/regex.h: Likewise.
26007
974ac4f7
VS
260082010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
26009
26010 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
26011 unsupported video mode types.
26012
2622c3ff
VS
260132010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
26014
26015 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
26016
064cb524
VS
260172010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
26018
26019 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
26020 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
26021
a8c3b552
VS
260222010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
26023
26024 Remove unused grub_vga_get_font.
26025
26026 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
26027 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
26028
187bbe3d
GS
260292010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
26030
26031 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
26032 * include/grub/misc.h: Likewise.
26033
b9396631
GS
260342010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
26035
26036 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
26037 for which failure is fatal.
26038
50479feb
GS
260392010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
26040
26041 * util/grub-install.in: Use mkdir -p to create grub directory.
26042 * util/i386/efi/grub-install.in: Likewise.
26043 * util/ieee1275/grub-install.in: Likewise.
26044
b1654fdf
GS
260452010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
26046
26047 * Makefile.in (LEX): new variable.
26048
bd5a6415
GS
260492010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
26050
26051 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
26052 `=' and added double quotes on operands of this equality test.
26053
3db3a82b
VS
260542010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
26055
26056 * Makefile.in (uninstall): Remove a leftover debug echo.
26057 Reported by: Grégoire Sutre
26058
38023412
VS
260592010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
26060
26061 MIPS multiboot2 support.
26062
26063 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
26064 (multiboot2_mod_SOURCES): New variable.
26065 (multiboot2_mod_CFLAGS): Likewise.
26066 (multiboot2_mod_LDFLAGS): Likewise.
26067 (multiboot2_mod_ASFLAGS): Likewise.
26068 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
26069 definition.
26070 (MULTIBOOT_ENTRY_REGISTER): Likewise.
26071 (MULTIBOOT_MBI_REGISTER): Likewise.
26072 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
26073 (MULTIBOOT_ELF32_MACHINE): Likewise.
26074 (MULTIBOOT_ELF64_MACHINE): Likewise.
26075 * include/grub/mips/multiboot.h: New file.
26076 * include/grub/video.h (grub_video_driver_id): New type
26077 GRUB_VIDEO_DRIVER_SM712.
26078 (grub_video_get_info_and_fini): Export.
26079 (grub_video_get_palette): Likewise.
26080 (grub_video_get_driver_id): Likewise.
26081 * include/multiboot2.h: Resynced with spec.
26082 * loader/i386/multiboot.c: Moved from here ...
26083 * loader/multiboot.c: ... here. All users updated.
26084 (grub_multiboot_boot): Use platform-specific macros.
26085 * loader/i386/multiboot_elfxx.c: Moved from here ...
26086 * loader/multiboot_elfxx.c: ... here. All users updated.
26087 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
26088 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
26089 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
26090
47674667
VS
260912010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
26092
26093 Import gnulib argp module.
26094
26095 * gnulib/argp-ba.c: New file.
26096 * gnulib/argp-eexst.c: Likewise.
26097 * gnulib/argp-fmtstream.c: Likewise.
26098 * gnulib/argp-fmtstream.h: Likewise.
26099 * gnulib/argp-fs-xinl.c: Likewise.
26100 * gnulib/argp-help.c: Likewise.
26101 * gnulib/argp-namefrob.h: Likewise.
26102 * gnulib/argp-parse.c: Likewise.
26103 * gnulib/argp-pin.c: Likewise.
26104 * gnulib/argp-pv.c: Likewise.
26105 * gnulib/argp-pvh.c: Likewise.
26106 * gnulib/argp-version-etc.c: Likewise.
26107 * gnulib/argp-version-etc.h: Likewise.
26108 * gnulib/argp-xinl.c: Likewise.
26109 * gnulib/argp.h: Likewise.
26110
495442ed
VS
261112010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
26112
26113 * kern/device.c (grub_device_iterate): Clear errors after failed
26114 opening device.
26115
f9fd65df
VS
261162010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
26117
26118 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
26119 returned by firmware.
26120
af09641e
VS
261212010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
26122
26123 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
26124 compilation on coreboot and qemu
26125
016883a5
VS
261262010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
26127
26128 * include/multiboot2.h: Resync with spec.
26129
f97e1f7d
VS
261302010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
26131
26132 Multiboot2 tag support
26133
26134 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
26135 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
26136 Remove loader/multiboot_loader.c.
26137 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
26138 (grub_multiboot2_real_boot): Likewise.
26139 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
26140 (grub_get_multiboot_mmap_count): New proto.
26141 (grub_fill_multiboot_mmap): Likewise.
26142 (grub_multiboot_set_video_mode): Likewise.
26143 (grub_multiboot_set_console): Likewise.
26144 (grub_multiboot_load): Likewise.
26145 (grub_multiboot_load_elf): Likewise.
26146 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
26147 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
26148 * include/multiboot.h: Resynced with specification.
26149 * include/multiboot2.h: Resynced with specification.
26150 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
26151 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
26152 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
26153 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
26154 users updated.
26155 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
26156 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
26157 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
26158 Removed.
26159 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
26160 Moved from here...
26161 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
26162 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
26163 Moved from here...
26164 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
26165 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
26166 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
26167 All users updated.
26168 * loader/i386/multiboot_mbi2.c: New file.
26169
3506b90b
VS
261702010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
26171
26172 Resync with gnulib.
26173
26174 * Makefile.in (GNULIB_CFLAGS): New variable.
26175 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
26176 (grub_script_check_CFLAGS): New variable.
26177 * gnulib/alloca.h: Resync with gnulib.
26178 * gnulib/error.c: Likewise.
26179 * gnulib/error.h: Likewise.
26180 * gnulib/fnmatch.c: Likewise.
26181 * gnulib/fnmatch_loop.c: Likewise.
26182 * gnulib/getdelim.c: Likewise.
26183 * gnulib/getline.c: Likewise.
26184 * gnulib/getopt.c: Likewise.
26185 * gnulib/getopt1.c: Likewise.
26186 * gnulib/getopt_int.h: Likewise.
26187 * gnulib/gettext.h: Likewise.
26188 * gnulib/progname.c: Likewise.
26189 * gnulib/progname.h: Likewise.
26190
394a3120
GS
261912010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
26192
26193 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
26194 which is the case with --disabled-nls.
26195
26196 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
26197 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
26198 * util/misc.c: Likewise.
26199 * util/mkisofs/mkisofs.c: Likewise.
26200 * util/mkisofs/mkisofs.h: Likewise.
26201
969d1c78
VS
262022010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
26203
26204 Simplify Apple CC support.
26205
26206 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
26207 Add 0 byte at the end not to have a symbol with empty target.
26208 * mmap/i386/pc/mmap_helper.S: Likewise.
26209 * genmk.rb: Ignore errors 2030 and 2050.
26210 * kern/i386/pc/startup.S: Use LOCAL when possible.
26211
8d2977bb
BC
262122010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
26213
26214 Testcase and the fix for final semicolon on cmdline.
26215
26216 * tests/grub_script_final_semicolon.in: New testcase.
26217 * conf/tests.rmk: Rules for the new testcase.
26218 * script/parser.y: Grammar fix.
26219
a7bd6915
BC
262202010-03-26 BVK Chaitanya <bvk@localhost>
26221
26222 Blank lines testcase for GRUB script.
26223
26224 * tests/grub_script_blanklines.in: New testcase.
26225 * conf/tests.rmk: Rules for the new testcase.
26226
e4ff6628
VS
262272010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
26228
26229 Don't use __FILE__.
26230
26231 * genmk.rb: Add -DGRUB_FILE to all C targets.
26232 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
26233 * include/grub/list.h: Likewise.
26234 * include/grub/misc.h: Likewise.
26235 * include/grub/mm.h: Likewise.
26236 * include/grub/test.h: Likewise.
26237 * kern/mm.c: Likewise.
26238 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
26239
6a5cf6b6
VS
262402010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
26241
26242 Sunpc partitions support.
26243
26244 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
26245 (grub_fstest_SOURCES): Likewise.
26246 (pkglib_MODULES): Add part_sunpc.mod.
26247 (part_sunpc_mod_SOURCES): New variable.
26248 (part_sunpc_mod_CFLAGS): Likewise.
26249 (part_sunpc_mod_LDFLAGS): Likewise.
26250 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
26251 * partmap/sunpc.c: New file.
26252
746d9045
BC
262532010-03-26 BVK Chaitanya <bvk@localhost>
26254
26255 For loop support to GRUB script.
26256
26257 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
26258 (grub_script_create_cmdfor): New function prototype.
26259 (grub_script_execute_cmdfor): New function prototype.
26260 * script/execute.c (grub_script_execute_cmdfor): New function.
26261 * script/parser.y (command): New for command.
26262 (forcmd): New grammar rule.
26263 * script/script.c (grub_script_create_cmdfor): New function.
26264 * util/grub-script-check.c (grub_script_execute_cmdfor): New
26265 function.
26266 * tests/grub_script_for1.in: New testcase.
26267 * conf/tests.rmk: Rules for new testcase.
26268
18486b18
VS
262692010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
26270
26271 Nested partitions
26272
26273 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
26274 'partition' is NULL, grub_partition_get_start already does that.
26275 * commands/loadenv.c (check_blocklists): Likewise.
26276 (write_blocklists): Likewise.
26277 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
26278 (grub_fstest_SOURCES): Likewise.
26279 (pkglib_MODULES): Add part_bsd.mod.
26280 (part_bsd_mod_SOURCES): New variable.
26281 (part_bsd_mod_CFLAGS): Likewise.
26282 (part_bsd_mod_LDFLAGS): Likewise.
26283 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
26284 (grub_emu_SOURCES): Likewise.
26285 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26286 * include/grub/bsdlabel.h: New file.
26287 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
26288 'get_name'.
26289 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
26290 (grub_partition_map_list): New variable.
26291 (grub_partition_map_register): Inline.
26292 (grub_partition_map_unregister): Likewise.
26293 (FOR_PARTITION_MAPS): New macro.
26294 (grub_partition_map_iterate): Removed.
26295 (grub_partition_get_start): Handle nested partitions.
26296 * include/grub/msdos_partition.h: Remove bsd-related entries.
26297 (grub_pc_partition): Remove.
26298 * kern/disk.c (grub_disk_close): Free partition data.
26299 (grub_disk_adjust_range): Handle nested partitions.
26300 * kern/partition.c (grub_partition_map_probe): New function.
26301 (grub_partition_probe): Parse name to number, handle subpartitions.
26302 (get_partmap): New function.
26303 (grub_partition_iterate): Handle subpartitions.
26304 (grub_partition_get_name): Likewise.
26305 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
26306 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
26307 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
26308 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
26309 Set 'number'.
26310 (acorn_partition_map_probe): Remove.
26311 (acorn_partition_map_get_name): Likewise.
26312 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
26313 Set 'number'.
26314 Set 'index' to 0 since there can be only one partition entry per sector.
26315 (amiga_partition_map_probe): Remove.
26316 (amiga_partition_map_get_name): Likewise.
26317 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
26318 Set 'number'.
26319 Set 'offset' and 'index' to real positions of partitions.
26320 (apple_partition_map_probe): Remove.
26321 (apple_partition_map_get_name): Likewise.
26322 * partmap/bsdlabel.c: New file.
26323 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
26324 Set 'number'.
26325 Allocate 'data' so it can be correctly freed.
26326 Set 'index' to offset inside sector.
26327 (gpt_partition_map_probe): Remove.
26328 (gpt_partition_map_get_name): Likewise.
26329 * partmap/msdos.c (grub_partition_parse): Remove.
26330 (pc_partition_map_iterate): Don't force raw access.
26331 Set 'number'.
26332 Make 'ext_offset' a local variable.
26333 (pc_partition_map_probe): Remove.
26334 (pc_partition_map_get_name): Remove.
26335 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
26336 Set 'number'.
26337 (sun_partition_map_probe): Remove.
26338 (sun_partition_map_get_name): Likewise.
26339 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
26340 (grub_pcpart_type): Likewise.
26341 * util/hostdisk.c (open_device): Handle new numbering scheme.
26342 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
26343 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
26344 * util/grub-probe.c (probe_partmap): Handle nested paritions.
26345 * util/grub-install.in: Insert all subpartition modules.
26346 * util/ieee1275/grub-install.in: Likewise.
26347
a3940f88
AG
263482010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
26349
26350 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
26351 grammar.
26352
21b99926 263532010-03-24 Colin Watson <cjwatson@ubuntu.com>
26354
26355 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
26356
bed1d352
CW
263572010-03-21 Colin Watson <cjwatson@ubuntu.com>
26358
26359 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
26360 match where 'make install' puts them.
26361 * util/i386/efi/grub-install.in: Likewise.
26362
c9f58427
CW
263632010-03-19 Colin Watson <cjwatson@ubuntu.com>
26364
26365 * .bzrignore: Add gentrigtables, grub-script-check,
26366 grub_script_check_init.c, grub_script_check_init.h, and
26367 trigtables.c.
26368
f84afb27
VS
263692010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
26370
26371 * kern/parser.c: Indented.
26372
ed0e3d30
VS
263732010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
26374
26375 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
26376
0ea81d98
VS
263772010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
26378
26379 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
26380 alpha_mask_size == 0 case.
26381
0cdc2a09
BC
263822010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
26383
26384 GRUB shell lexer and parser improvements.
26385
26386 * conf/any-emu.rmk: Build rule updates.
26387 * conf/common.rmk: Likewise.
26388 * conf/i386-coreboot.rmk: Likewise.
26389 * conf/i386-efi.rmk: Likewise.
26390 * conf/i386-ieee1275.rmk: Likewise.
26391 * conf/i386-pc.rmk: Likewise.
26392 * conf/powerpc-ieee1275.rmk: Likewise.
26393 * conf/x86_64-efi.rmk: Likewise.
26394
26395 * configure.ac: Configure check for flex.
26396
26397 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
26398 types.
26399 (grub_lexer_param): Struct member updates.
26400 (grub_parser_param): Likewise.
26401 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
26402 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
26403 (grub_script_lexer_init): Prototype update.
26404 (grub_script_lexer_record_start): Likewise.
26405 (grub_script_lexer_record_stop): Likewise.
26406 (grub_script_lexer_yywrap): New function prototype.
26407 (grub_script_lexer_fini): Likewise.
26408 (grub_script_execute_argument_to_string): Removed by...
26409 (grub_script_execute_argument_to_argv): ...better version.
26410
26411 * script/execute.c (ROUND_UPTO): New macro.
26412 (grub_script_execute_cmdline): Out of memory fixes.
26413 (grub_script_execute_menuentry): Likewise.
26414 (grub_script_execute_argument_to_string): Removed. Update all
26415 users by...
26416 (grub_script_execute_argument_to_argv): ...better version.
26417 * script/function.c (grub_script_function_create): Use
26418 grub_script_execute_argument_to_argv instead of
26419 grub_script_execute_argument_to_string.
26420
26421 * script/lexer.c (check_varstate): Removed.
26422 (check_textstate): Removed.
26423 (grub_script_lexer_record_start): Likewise.
26424 (grub_script_lexer_record_stop): Likewise.
26425 (recordchar): Replaced with...
26426 (grub_script_lexer_record): ...new function.
26427 (nextchar): Removed.
26428 (grub_script_lexer_init): Rewritten.
26429 (grub_script_yylex): Rewritten.
26430 (append_newline): New function.
26431 (grub_script_lexer_yywrap): New function.
26432 (grub_script_lexer_fini): New function.
26433 (grub_script_yyerror): Sets error flag.
26434
26435 * script/yylex.l: New file.
26436 (grub_lexer_yyfree): Wrapper for flex yyffre.
26437 (grub_lexer_yyalloc): Likewise.
26438 (grub_lexer_yyrealloc): Likewise.
26439 * script/parser.y: Refactored.
26440
26441 * script/script.c (grub_script_arg_add): Out of memory fixes.
26442 (grub_script_add_arglist): Likewise.
26443 (grub_script_create_cmdline): Likewise.
26444 (grub_script_create_cmdmenu): Likewise.
26445 (grub_script_add_cmd): Likewise.
26446 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
26447 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
26448 unnecessary code.
26449
26450 * tests/grub_script_echo1.in: New testcase.
26451 * tests/grub_script_vars1.in: New testcase.
26452 * tests/grub_script_echo_keywords.in: New testcase.
26453
1d63a066
VS
264542010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
26455
26456 Remove some redundancy in build system.
26457
26458 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
26459 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
26460 (TARGET_LDFLAGS): Add -nostdlib.
26461 (TARGET_IMG_LDFLAGS): Likewise.
26462 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
26463 anything since mmap isn't available.
26464 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
26465 Add util/time.c.
26466 (pkglib_MODULES): Remove reboot.mod.
26467 (reboot_mod_SOURCES): Removed.
26468 (reboot_mod_CFLAGS): Likewise.
26469 (reboot_mod_LDFLAGS): Likewise.
26470 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
26471 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
26472 (DEFSYMFILES): Add kernel_syms.lst.
26473 (kernel_img_HEADERS): Add common headers.
26474 (symlist.c): New target.
26475 (kernel_syms.lst): Likewise.
26476 (pkglib_MODULES): Add memdisk.mod.
26477 (memdisk_mod_SOURCES): New variable.
26478 (memdisk_mod_CFLAGS): Likewise.
26479 (memdisk_mod_LDFLAGS): Likewise.
26480 (pkglib_MODULES): Add reboot.mod.
26481 (reboot_mod_SOURCES): New variable.
26482 (reboot_mod_CFLAGS): Likewise.
26483 (reboot_mod_LDFLAGS): Likewise.
26484 (pkglib_MODULES): Add date.mod.
26485 (date_mod_SOURCES): New variable.
26486 (date_mod_CFLAGS): Likewise.
26487 (date_mod_LDFLAGS): Likewise.
26488 (pkglib_MODULES): Add datehook.mod.
26489 (datehook_mod_SOURCES): New variable.
26490 (datehook_mod_CFLAGS): Likewise.
26491 (datehook_mod_LDFLAGS): Likewise.
26492 (pkglib_MODULES): Add lsmmap.mod.
26493 (lsmmap_mod_SOURCES): New variable.
26494 (lsmmap_mod_CFLAGS): Likewise.
26495 (lsmmap_mod_LDFLAGS): Likewise.
26496 (pkglib_MODULES): Add boot.mod.
26497 (boot_mod_SOURCES): New variable.
26498 (boot_mod_CFLAGS): Likewise.
26499 (boot_mod_LDFLAGS): Likewise.
26500 * conf/i386-coreboot.rmk: Removed redundant parts.
26501 * conf/i386-ieee1275.rmk: Likewise.
26502 * conf/i386-pc.rmk: Likewise.
26503 * conf/mips-yeeloong.rmk: Likewise.
26504 * conf/mips.rmk: Likewise.
26505 * conf/powerpc-ieee1275.rmk: Likewise.
26506 * conf/sparc64-ieee1275.rmk: Likewise.
26507 * conf/x86_64-efi.rmk: Likewise.
26508 * conf/i386-coreboot.rmk: Moved qemu parts ..
26509 * conf/i386-qemu.rmk: ... here
26510 * conf/i386-efi.rmk: Moved common parts to...
26511 * conf/x86-efi.rmk: ... here.
26512 * conf/i386.rmk: Added modules common to all x86 variants.
26513 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
26514 * disk/memdisk.c: Remove grub/machine/kernel.h.
26515 * gensymlist.sh.in: Include symbol.h.
26516 * hook/datehook.c: Correct module name.
26517 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
26518 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
26519 * include/grub/i386/efi/serial.h: New file.
26520 * include/grub/x86_64/efi/serial.h: Likewise.
26521 * util/time.c: Likewise.
26522 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
26523
463ac55f
CK
265242010-03-14 Colin King <colin.king@ubuntu.com>
265252010-03-14 Colin Watson <cjwatson@ubuntu.com>
26526
26527 Shrink the pre-partition-table part of boot.img by eight bytes.
26528
26529 * boot/i386/pc/boot.S (ERR): New macro.
26530 (chs_mode): Use ERR.
26531 (geometry_error): Likewise.
26532 (hd_probe_error): Remove. This is only used once, so we wrwite
26533 it inline instead.
26534 (read_error): Instead of printing read_error_string, just set up
26535 %si and fall through to ...
26536 (error_message): ... this new function, also used by ERR.
26537
08e46ede
CW
265382010-03-14 Colin Watson <cjwatson@ubuntu.com>
26539
26540 Speed up consecutive hostdisk operations on the same device.
26541
26542 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
26543 (grub_util_biosdisk_open): Initialise disk->data.
26544 (struct linux_partition_cache): New structure.
26545 (linux_find_partition): Cache partition start positions; these are
26546 expensive to compute on every read and write.
26547 (open_device): Cache open file descriptor in disk->data, so that we
26548 don't have to reopen it and flush the buffer cache for consecutive
26549 operations on the same device.
26550 (grub_util_biosdisk_close): New function.
26551 (grub_util_biosdisk_dev): Set `close' member.
26552
26553 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
26554 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
26555 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
26556 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
26557 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
26558
4a6d2d06
VS
265592010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
26560
26561 Compile parts of grub-emu as modules.
26562
26563 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
26564 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
26565 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
26566 (all-local): Add $(GRUB_EMU).
26567 (install-local): Install $(GRUB_EMU).
26568 (uninstall): Uninstall $(GRUB_EMU).
26569 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
26570 * kern/dl.c: Likewise.
26571 * commands/sleep.c: Not include machine/time.h.
26572 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
26573 (COMMON_CFLAGS): Likewise.
26574 (sbin_UTILITIES): Remove grub-emu.
26575 (grub_emu_SOURCES): Removed.
26576 (kernel_img_RELOCATABLE): New variable.
26577 (pkglib_PROGRAMS): Add kernel.img.
26578 (kernel_img_SOURCES): New variable
26579 (kernel_img_CFLAGS): Likewise.
26580 (kernel_img_LDFLAGS): Likewise.
26581 (TARGET_NO_STRIP): Likewise.
26582 (TARGET_NO_DYNAMIC_MODULES): Likewise.
26583 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
26584 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
26585 (grub-emu): New target.
26586 (GRUB_EMU): New variable.
26587 * configure.ac: Whitelist -emu as possible x86_64 architecture.
26588 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
26589 * loader/xnu.c: Likewise.
26590 * include/grub/pci.h: Likewise.
26591 * genemuinit.sh: New file.
26592 * genemuinitheader.sh: Likewise.
26593 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
26594 Support TARGET_NO_DYNAMIC_MODULES.
26595 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
26596 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
26597 * disk/loopback.c: Likewise.
26598 * font/font_cmd.c: Likewise.
26599 * partmap/acorn.c: Likewise.
26600 * partmap/amiga.c: Likewise.
26601 * partmap/apple.c: Likewise.
26602 * partmap/gpt.c: Likewise.
26603 * partmap/msdos.c: Likewise.
26604 * partmap/sun.c: Likewise.
26605 * parttool/msdospart.c: Likewise.
26606 * term/gfxterm.c: Likewise.
26607 * video/bitmap.c: Likewise.
26608 * video/readers/jpeg.c: Likewise.
26609 * video/readers/png.c: Likewise.
26610 * video/readers/tga.c: Likewise.
26611 * video/video.c: Likewise.
26612 * util/grub-emu.c (read_command_list): Removed.
26613 (main): Don't call util_init_nls.
26614 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
26615 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
26616
91fdd2ed
VS
266172010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
26618
26619 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
26620 date.mod, datehook.mod.
26621 (datetime_mod_SOURCES): New variable.
26622 (datetime_mod_CFLAGS): Likewise.
26623 (datetime_mod_LDFLAGS): Likewise.
26624 (date_mod_SOURCES): Likewise.
26625 (date_mod_CFLAGS): Likewise.
26626 (date_mod_LDFLAGS): Likewise.
26627 (datehook_mod_SOURCES): Likewise.
26628 (datehook_mod_CFLAGS): Likewise.
26629 (datehook_mod_LDFLAGS): Likewise.
26630 * conf/sparc64-ieee1275.rmk: Likewise.
26631 * lib/ieee1275/datetime.c: New file.
26632
873ccae6
VS
266332010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
26634
26635 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
26636 (ieee1275_fb_mod_SOURCES): New variable.
26637 (ieee1275_fb_mod_CFLAGS): Likewise.
26638 (ieee1275_fb_mod_LDFLAGS): Likewise.
26639 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
26640 New proto.
26641 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
26642 (HEAP_MAX_ADDR): Likewise.
26643 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
26644 type.
26645 Correct stop condition.
26646 (grub_ieee1275_devices_iterate): New function.
26647 * video/ieee1275.c: New file.
26648
601c97c0
VS
266492010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
26650
26651 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
26652
26653 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
26654 as scratch.
26655 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
26656 SCRATCH_PAD_DISKBOOT as scratch.
26657 (bootit): Pass Openfirmware pointer in %o4.
26658 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
26659 of 0x200000.
26660 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
26661 with util/grub-mkrawimage.c.
26662 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
26663 * include/grub/aout.h (AOUT_MID_SUN): New definition.
26664 (grub_aout_get_type) [GRUB_UTIL]: Removed.
26665 (grub_aout_load) [GRUB_UTIL]: Likewise.
26666 * include/grub/kernel.h (grub_modules_get_end): New proto.
26667 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
26668 (SCRATCH_PAD_BOOT): New definition.
26669 (SCRATCH_PAD_DISKBOOT): Likewise.
26670 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
26671 * include/grub/sparc64/ieee1275/ieee1275.h
26672 (grub_ieee1275_original_stack): New variable
26673 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
26674 New definition
26675 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
26676 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
26677 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
26678 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
26679 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
26680 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
26681 (grub_platform_image_format_t): New type.
26682 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
26683 * kern/main.c (grub_modules_get_end)
26684 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
26685 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
26686 (codestart): Switch stacks.
26687 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
26688 variable.
26689 (grub_heap_init): Use grub_modules_get_end.
26690 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
26691 stack.
26692 * util/grub-mkrawimage.c (generate_image): Support sparc64.
26693 (main): Likewise.
26694 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
26695
d68b491e
TG
266962010-03-14 Thorsten Glaser <tg@mirbsd.org>
26697
26698 * util/grub-mkrescue.in: Base ISO UUID on UTC.
26699
4e02ed50
MK
267002010-03-08 Matt Kraai <kraai@ftbfs.org>
26701
26702 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
26703 bug #559005).
26704
1f15fc1e
VS
267052010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
26706
26707 * genmoddep.awk: Output all missing symbols and not only first.
26708
fce5d8ff
VS
267092010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
26710
26711 * NEWS: Put the date of 1.98 release.
26712
d1e8a02f
VS
267132010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
26714
26715 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
26716 ft2build.h.
26717
696fd607
VS
267182010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
26719
26720 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
26721 completition in the middle of string.
26722
33e2e6f3
VS
267232010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
26724
26725 * util/grub-mkrescue.in: Use mktemp with explicit template.
26726
b1f6d291
VS
267272010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
26728
26729 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
26730
2ac227c7
VS
267312010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
26732
26733 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
26734 right pointer.
26735
8f9a632b
VS
267362010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
26737
26738 Fix FreeBSD compilation.
26739
26740 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
26741 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
26742
60b03859
VS
267432010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
26744
26745 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
26746
48a5a769
VS
267472010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26748
26749 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
26750
3ab4bd77
VS
267512010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26752
26753 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
26754
d116e0d8
RM
267552010-03-04 Robert Millan <rmh.grub@aybabtu.com>
26756
26757 Support relative image path in theme file.
26758
26759 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
26760 (image_set_property): Handle theme_dir and relative path.
26761
c7ef54aa
VS
267622010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26763
26764 * configure.ac: Alias amd64 to x86_64.
26765
fcee14ed
VS
267662010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26767
26768 * NEWS: mention multiboot on EFI.
26769
d0780363
VS
267702010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26771
26772 * kern/main.c (grub_load_modules): Handle errors from init functions of
26773 embeded modules.
26774
41168ea4
VS
267752010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26776
26777 * normal/autofs.c (autoload_fs_module): Handle errors.
26778
b54d93ac
VS
267792010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26780
26781 Disable linux.mod on qemu-mips since it's not functional and leads
26782 to compilation failure.
26783
26784 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
26785 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
26786 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
26787 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
26788 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
26789 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
26790 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
26791 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
26792 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
26793 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
26794 Reported by: BVK Chaitanya
26795
fc8345da
JU
267962010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
26797
26798 * INSTALL: Add gettext as a dependency and add qemu to a new section
26799 "Prerequisites for make-check".
26800
4760f979
CF
268012010-03-04 Christian Franke <franke@computer.org>
26802
26803 * util/grub-pe2elf.c: Add missing include "progname.h".
26804
f209b5b2
VS
268052010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26806
26807 * normal/crypto.c (read_crypto_list): Fix a typo.
26808 Reported by: Seth Goldberg.
26809
b4b7be98
VS
268102010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26811
26812 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 26813 Reported by: Seth Goldberg.
b4b7be98 26814
c0ee0385
VS
268152010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26816
26817 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
26818 ascii.bitmaps.
26819
a8efbf64
VS
268202010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26821
26822 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 26823 Reported by: Seth Goldberg.
a8efbf64 26824
08dcd913
VS
268252010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26826
26827 * util/i386/efi/grub-install.in: Copy gettext files.
26828
c4d0b332
VS
268292010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
26830
26831 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
26832
c6f2fe52
VS
268332010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
26834
26835 Wait for user entry basing on presence of output rather than on errors.
26836
26837 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
26838 (grub_install_newline_hook): Likewise.
26839 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
26840 * normal/menu.c (show_menu): Check line_counter to determine presence
26841 of output.
26842 * normal/term.c (grub_normal_line_counter): New variable.
26843 (grub_normal_get_line_counter): New function.
26844 (grub_install_newline_hook): Likewise.
26845
5382b1e4
VS
268462010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
26847
26848 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
26849
5519963b
VS
268502010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
26851
26852 * configure.ac: Update version to 1.98.
26853
72b28631
VS
268542010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
26855
26856 * util/grub.d/10_linux.in (linux_entry): Don't default to
26857 gfxpayload=keep if Linux doesn't support video handover.
26858
c140a180
VS
268592010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
26860
26861 Don't compile video modules on yeeloong since video subsystem is part
26862 of kernel.
26863
26864 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
26865 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
26866 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
26867 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
26868 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
26869 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
26870 * include/grub/bitmap_scale.h: Likewise.
26871 * include/grub/bufio.h: Likewise.
26872 * include/grub/font.h: Likewise.
26873 * include/grub/gfxterm.h: Likewise.
26874 * include/grub/video.h: Likewise.
26875 * include/grub/vbe.h: Don't include video_fb.h.
26876 * video/i386/pc/vbe.c: Include video_fb.h.
26877 * commands/i386/pc/vbetest.c: Include video.h.
26878
a0ca21c2
CW
268792010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
26880
26881 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
26882 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
26883 default entry if GRUB_SAVEDEFAULT=true. This allows using
26884 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
26885 saving a new default on every boot.
26886
4a8a763c
VS
268872010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
26888
26889 * normal/crypto.c (read_crypto_list): Fix a memory leak.
26890 * normal/term.c (read_terminal_list): Likewise.
26891 * normal/main.c (grub_normal_init_page): Likewise.
26892 (grub_normal_read_line_real): Likewise.
26893
607ffde2
VS
268942010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
26895
26896 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
26897 memory leak.
26898 Reported by: Seth Goldberg.
26899
2b8fa975
CW
269002010-02-24 Joey Korkames <joey+lists@kidfixit.com>
26901
26902 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
26903 duplicate declaration of `start'.
26904
618307dd
VS
269052010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
26906
26907 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
26908 filename.
26909 Reported by: Georgy Buranov
26910
7dd05b96 269112010-02-20 Carles Pina i Estany <carles@pina.cat>
26912
26913 * util/grub-mkrawimage.c (usage): Change string formatting to
26914 improve gettext.
26915
d1484a42
MRA
269162010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
26917
26918 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
26919 backspace keys.
26920
42b1d186
VS
269212010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
26922
26923 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
26924 Reported by: Michael Suchanek.
26925
269262010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
26927
26928 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
26929 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
26930
d9f31a41
VS
269312010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
26932
26933 Remove any reference to non-free fonts.
26934
26935 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
26936 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
26937 uses non-free components.
26938 * font/font.c (grub_font_get_name): Remove example name.
26939 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
26940 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
26941 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
26942 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
26943
2793c71e
GB
269442010-02-16 Georgy Buranov <gburanov@gmail.com>
26945
26946 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
26947
402e3779
VS
269482010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
26949
26950 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
26951 Double divisor.
26952 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
26953 features.
26954 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
26955
0dd1e0dd
VS
269562010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
26957
26958 * gensymlist.sh.in: Use TARGET_CC instead of CC.
26959
6fa7cfce
ST
269602010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
26961
26962 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
26963 * docs/grub.texi (Command-line and menu entry commands): Document play
26964 command.
26965
37c8483b
ST
269662010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
26967
26968 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
26969 parse arguments as inline tempo and notes. Move code for playing notes
26970 to...
26971 (play): ... new function.
26972
14da0fb7
ST
269732010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
26974
26975 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
26976 grub_uint16_t instead of short.
26977 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
26978 disk from little endian to cpu endianness.
26979
04459e70
ST
269802010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
26981
26982 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
26983 GRUB_TICKS_PER_SECOND instead of 120.
26984
a0876943
VS
269852010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26986
26987 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
26988 escape sequence after \e.
26989
e29f95dc
VS
269902010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26991
26992 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
26993 non-ASCII characters.
26994
d27859b2
VS
269952010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26996
26997 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
26998 set root in single quotes to prevent \, from being unescaped.
26999
bc028f2f
VS
270002010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
27001
27002 Prevent unknown commands from stopping menuentry execution.
27003
27004 * script/execute.c (grub_script_execute_cmdline): Print error after
27005 unknown command.
27006
095f5f82
VS
270072010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
27008
27009 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
27010 Reported by: Pavel Pisa.
27011
8c717950
VS
270122010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27013
27014 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
27015
904935c3
VS
270162010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27017
27018 Merge grub_ieee1275_map_physical into grub_map and rename to
27019 grub_ieee1275_map
27020
27021 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
27022 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
27023 Remove.
27024 * kern/ieee1275/openfw.c (grub_map): Rename to ...
27025 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
27026 necessary.
27027 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
27028
5b59a4e3
VS
270292010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27030
27031 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
27032 opening and not after.
27033
69e137e8
VS
270342010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27035
27036 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
27037 constants.
27038
2c0fcc36
VS
270392010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27040
27041 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
27042 (alloc_phys): Use ALIGN_UP instead of align_addr.
27043
8c6052ce
VS
270442010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27045
27046 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
27047
17cec782
VS
270482010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27049
27050 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
27051
e0128bbd
VS
270522010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27053
27054 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
27055 verbose dprintf.
27056
ca62070b
VS
270572010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27058
27059 Fix over-4GiB seek on sparc64.
27060
27061 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
27062 Replace pos_i and pos_lo with pos. All users updated.
27063 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
27064 New constant.
27065 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
27066 Likewise.
27067 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
27068 and pos_lo.
27069
bdca2607
VS
270702010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27071
27072 * util/grub-mkrawimage.c (main): Call set_program_name.
27073
da278c4d
VS
270742010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27075
27076 Properly align 64-bit targets.
27077
27078 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
27079 (generate_image): Use ALIGN_ADDR.
27080
b274d734
VS
270812010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27082
27083 Properly create cross-endian images.
27084
27085 * include/grub/types.h (grub_host_to_target_addr): New macro
27086 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
27087
82da2062
VS
270882010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27089
27090 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
27091
7cae4377
VS
270922010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
27093
27094 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
27095
27096 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
27097 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
27098 (grub_linux_boot): Divide by 64K when on VESA.
27099
65a533e7
VS
271002010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
27101
27102 Support GRUB_GFXPAYLOAD_LINUX.
27103
27104 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
27105 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
27106
dd01d397
VS
271072010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
27108
27109 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
27110 to show messages instead of discarding them.
27111 Process errors after executing command and not before. Keep old method
27112 too as precaution.
27113
660960d6
VS
271142010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
27115
27116 * configure.ac: Check for ft2build.h.
27117
62509f04
VS
271182010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
27119
27120 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
27121
473df63d
VS
271222010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
27123
27124 * genkernsyms.sh.in: Use TARGET_CC.
27125
c98d2a13
CW
271262010-02-07 Colin Watson <cjwatson@ubuntu.com>
27127
27128 * NEWS: Update.
27129
6e14234c
VS
271302010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
27131
27132 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
27133 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
27134 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 27135
b255e9cf
YB
271362010-02-07 Yves Blusseau <blusseau@zetam.org>
27137
6e14234c 27138 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 27139
98e6959d
VS
271402010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
27141
27142 Fix warnings in grub-emu when compiling with maximum warning options.
27143
27144 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
27145 (grub_arch_modules_addr): Return 0 and not NULL.
27146 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 27147 (xstrdup): Use newstr instead of dup.
f88d801b
VS
27148 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
27149 of disk to dsk to avoid shadowing.
74e4934e
VS
27150 (find_free_slot): Fix prototype.
27151 * util/getroot.c (grub_util_is_dmraid): Make static.
27152 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
27153 Add missing prototype.
27154 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 27155
74e31b5c
VS
271562010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
27157
27158 * loader/i386/linux.c (grub_linux_setup_video): Handle error
27159 appropriately.
27160
6b2ad14b
VS
271612010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
27162
27163 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
27164 code out.
27165
8f891adc
VS
271662010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
27167
27168 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
27169 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
27170 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
27171 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
27172 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
27173 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
27174
74b45184
VS
271752010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
27176
27177 * include/grub/err.h (grub_err_printf): Don't export.
27178
a4bced77
VS
271792010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
27180
27181 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
27182
007d0695
VS
271832010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
27184
27185 * include/grub/i18n.h (grub_gettext_dummy): Removed.
27186 * kern/misc.c (grub_gettext_dummy): Make static.
27187
b6c0d9c2
VS
271882010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27189
27190 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
27191 by non-valid ones.
27192 * kern/term.c (grub_putchar): Likewise.
27193
f51a90d0
VS
271942010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27195
27196 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
27197 buggy hook call and memory leak.
27198
6846cec5
VS
271992010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27200
27201 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
27202
468d69fe
VS
272032010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27204
27205 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
27206
51906b8c
VS
272072010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27208
27209 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
27210 modevar.
27211 Return grub_errno on allocation error.
27212
09706ce5
VS
272132010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27214
27215 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
27216
911df80c
YB
272172010-02-06 Yves Blusseau <blusseau@zetam.org>
27218
27219 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
27220 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
27221
3746a6bc
VS
272222010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27223
27224 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
27225 non-pxe disk.
27226 (grub_pxefs_open): Likewise.
27227
09706ce5
VS
272282010-02-06 Robert Millan <rmh.grub@aybabtu.com>
27229
27230 * util/grub.d/10_hurd.in: Add --class information to menuentries.
27231 * util/grub.d/10_kfreebsd.in: Likewise.
27232 * util/grub.d/10_linux.in: Likewise.
27233
7cc192d9
VS
272342010-02-06 Colin D Bennett <colin@gibibit.com>
27235
27236 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
27237 (gfxmenu_mod_SOURCES): New variable.
27238 (gfxmenu_mod_CFLAGS): Likewise.
27239 (gfxmenu_mod_LDFLAGS): Likewise.
27240 * include/grub/term.h (grub_term_set_current_output): Declare
27241 argument as const.
27242 * docs/gfxmenu-theme-example.txt: New file.
27243 * gfxmenu/gfxmenu.c: Likewise.
27244 * gfxmenu/gui_box.c: Likewise.
27245 * gfxmenu/gui_canvas.c: Likewise.
27246 * gfxmenu/gui_circular_progress.c: Likewise.
27247 * gfxmenu/gui_image.c: Likewise.
27248 * gfxmenu/gui_label.c: Likewise.
27249 * gfxmenu/gui_list.c: Likewise.
27250 * gfxmenu/gui_progress_bar.c: Likewise.
27251 * gfxmenu/gui_string_util.c: Likewise.
27252 * gfxmenu/gui_util.c: Likewise.
27253 * gfxmenu/icon_manager.c: Likewise.
27254 * gfxmenu/model.c: Likewise.
27255 * gfxmenu/named_colors.c: Likewise.
27256 * gfxmenu/theme_loader.c: Likewise.
27257 * gfxmenu/view.c: Likewise.
27258 * gfxmenu/widget-box.c: Likewise.
27259 * include/grub/gfxmenu_model.h: Likewise.
27260 * include/grub/gfxmenu_view.h: Likewise.
27261 * include/grub/gfxwidgets.h: Likewise.
27262 * include/grub/gui.h: Likewise.
27263 * include/grub/gui_string_util.h: Likewise.
27264 * include/grub/icon_manager.h: Likewise.
27265
272662010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27267
27268 Agglomerate scrolling in gfxterm.
27269
27270 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
27271 (grub_virtual_screen_setup): Initialise 'total_screen'.
27272 (write_char): Split to ...
27273 (paint_char): ... this ...
27274 (write_char): ... and this.
27275 (paint_char): Handle delayed scrolling.
27276 (draw_cursor): Likewise.
27277 (scroll_up): Split to ...
27278 (real_scroll): ... this ...
27279 (scroll_up): ... and this.
27280 (real_scroll): Handle multi-line scroll and draw below-the-bottom
27281 characters.
27282 (grub_gfxterm_refresh): Call real_scroll.
27283
272842010-02-06 Colin D Bennett <colin@gibibit.com>
27285
27286 * include/grub/misc.h (grub_iscntrl): New inline function.
27287 (grub_isalnum): Likewise.
27288 (grub_strtol): Likewise.
27289
272902010-02-06 Colin D Bennett <colin@gibibit.com>
27291
27292 * normal/menu_text.c (get_entry_number): Move from here ...
27293 * normal/menu.c (get_entry_number): ... moved here.
27294 * include/grub/menu.h (grub_menu_get_default_entry_index):
27295 New prototype.
27296 * normal/menu.c (grub_menu_get_default_entry_index): New function.
27297 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
27298 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
27299 (grub_menu_viewer_should_return): Likewise.
27300 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
27301 * normal/menu_text.c (run_menu): Enable menu switching.
27302 * normal/menu_viewer.c (should_return): New variable.
27303 (menu_viewer_changed): Likewise.
27304 (grub_menu_viewer_show_menu): Handle menu viewer changes.
27305 (grub_menu_viewer_should_return): New function.
27306 (menuviewer_write_hook): Likewise.
27307 (grub_menu_viewer_init): Likewise.
27308
273092010-02-06 Colin D Bennet <colin@gibibit.com>
273102010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27311
27312 Support for gfxterm in a window.
27313
27314 * include/grub/gfxterm.h: New file.
27315 * include/grub/video.h (struct grub_video_rect): New declaration.
27316 (grub_video_rect_t): Likewise.
27317 * term/gfxterm.c (struct grub_gfxterm_window): New type.
27318 (refcount): New variable.
27319 (render_target): Likewise.
27320 (window): Likewise.
27321 (repaint_callback): Likewise.
27322 (grub_virtual_screen_setup): Use 'render_target'.
27323 (init_window): New function.
27324 (grub_gfxterm_init_window): Likewise.
27325 (grub_gfxterm_init): Check reference counter.
27326 Use init_window.
27327 (destroy_window): New function.
27328 (grub_gfxterm_destroy_window): Likewise.
27329 (grub_gfxterm_fini): Check reference counter.
27330 Use destroy_window.
27331 (redraw_screen_rect): Restore viewport.
27332 Use 'render_target' and 'window'.
27333 Call 'repaint_callback'.
27334 (write_char): Use 'render_target'.
27335 (draw_cursor): Likewise.
27336 (scroll_up): Restore viewport.
27337 Use 'render_target' and 'window'.
27338 Call 'repaint_callback'.
27339 (grub_gfxterm_cls): Likewise.
27340 (grub_gfxterm_refresh): Use 'window'.
27341 (grub_gfxterm_set_repaint_callback): New function.
27342 (grub_gfxterm_background_image_cmd): Use 'window'.
27343 (grub_gfxterm_get_term): New function.
27344 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
27345
273462010-02-06 Colin D Bennett <colin@gibibit.com>
27347
27348 Bitmap scaling support.
27349
27350 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
27351 (bitmap_scale_mod_SOURCES): New variable.
27352 (bitmap_scale_mod_CFLAGS): Likewise.
27353 (bitmap_scale_mod_LDFLAGS): Likewise.
27354 * include/grub/bitmap_scale.h: New file.
27355 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
27356 (background_image_cmd_options): New variable.
27357 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
27358 (cmd): Rename and change type to ...
27359 (background_image_cmd_handle): ... this. All users updated.
27360 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
27361 * video/bitmap_scale.c: New file.
27362
273632010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27364
27365 SDL support.
27366
27367 * Makefile.in (LIBSDL): New variable.
27368 (enable_grub_emu_sdl): Likewise.
27369 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
27370 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
27371 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
27372 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
27373 * util/sdl.c: New file.
27374
273752010-02-06 Colin D Bennett <colin@gibibit.com>
273762010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27377
27378 Double buffering support.
27379
27380 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
27381 * include/grub/video.h: Update comment.
27382 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
27383 New type.
27384 (grub_video_fb_doublebuf_blit_init): New prototype.
27385 * term/gfxterm.c (scroll_up): Support double buffering.
27386 (grub_gfxterm_refresh): Likewise.
27387 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
27388 (grub_video_fb_doublebuf_blit_init): Likewise.
27389 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
27390 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
27391 'displayed_page', 'render_page' and 'update_screen'.
27392 (grub_video_vbe_fini): Free offscreen buffer.
27393 (doublebuf_pageflipping_commit): New function.
27394 (doublebuf_pageflipping_update_screen): Likewise.
27395 (doublebuf_pageflipping_init): Likewise.
27396 (double_buffering_init): Likewise.
27397 (grub_video_vbe_setup): Enable doublebuffering.
27398 (grub_video_vbe_swap_buffers): Implement.
27399 (grub_video_vbe_set_active_render_target): Handle double buffering.
27400 (grub_video_vbe_get_active_render_target): Likewise.
27401 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
27402 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
27403 (grub_video_vbe_enable_double_buffering): Likewise.
27404 (grub_video_vbe_swap_buffers): Use update_screen.
27405 (grub_video_set_mode): Use double buffering.
27406
274072010-02-06 Robert Millan <rmh.grub@aybabtu.com>
27408
27409 * maintainance/gentrigtables.py: Remove.
27410 * lib/trig.c: Likewise.
27411
27412 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
27413
27414 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
27415 `trigtables.c'.
27416 (trigtables.c): New rule.
27417 (gentrigtables): Likewise.
27418 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
27419
274202010-02-06 Robert Millan <rmh.grub@aybabtu.com>
27421
27422 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
27423 integer constants.
27424
274252010-02-06 Colin D Bennet <colin@gibibit.com>
27426
27427 Trigonometry support.
27428
27429 * include/grub/trig.h: New file.
27430 * lib/trig.c: Likewise.
27431 * maintainance/gentrigtables.py: Likewise.
27432 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
27433 (trig_mod_SOURCES): New variable.
27434 (trig_mod_CFLAGS): Likewise.
27435 (trig_mod_LDFLAGS): Likewise.
27436
5562834e
VS
274372010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27438
27439 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
27440 disk devices.
27441
4f8528fc
VS
274422010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
27443
27444 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
27445 error.
27446
2b4068e9
VS
274472010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
27448
27449 * util/hostdisk.c (open_device): Don't use partition device when reading
27450 before the partition.
27451 (grub_util_biosdisk_read): Don't read from partition and before the
27452 partition in single operation.
27453 (grub_util_biosdisk_write): Don't write to partition and before the
27454 partition in single operation.
27455
399f6e4d
TL
274562010-02-03 Torsten Landschoff <torsten@debian.org>
27457
27458 * kern/disk.c (grub_disk_read): Fix offset computation when reading
27459 last sectors.
27460
996649b0
VS
274612010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
27462
27463 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
27464 CDROM reads.
27465 (grub_biosdisk_write): Refuse to write to CDROM.
27466
3b205d4d
VS
274672010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
27468
27469 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
27470
61e89d9d
VS
274712010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
27472
27473 * font/font.c (find_glyph): Check that bmp_idx is available before
27474 using it.
27475 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
27476 with (font == NULL).
27477
bf7fcba2
CS
274782010-01-28 Christian Schmitt <chris@ilovelinux.de>
27479
27480 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
27481
f45d2663
BC
274822010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
27483
27484 * include/grub/script_sh.h (sourcecode): Add const qualifier.
27485 * util/grub-script-check.c (getline): Fix empty lines case.
27486
ec1444e6
RM
274872010-01-28 Robert Millan <rmh.grub@aybabtu.com>
27488
27489 * Makefile.in (check): Exit with fail status when one of the tests
27490 fails.
27491 * tests/example_functional_test.c (example_test): Fix reversed assert.
27492 * tests/example_unit_test.c (example_test): Likewise.
27493
2e1cb9bb
CW
274942010-01-28 Colin Watson <cjwatson@ubuntu.com>
27495
27496 * util/grub.d/10_linux.in: This script does not use any of the
27497 contents of gettext.sh, only the external command `gettext', so stop
27498 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
27499 the same prefix as GRUB.)
27500 * util/grub.d/10_kfreebsd.in: Likewise.
27501
63533ab0
VS
275022010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
27503
27504 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
27505 of the line.
27506
989e1f93
VS
275072010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
27508
27509 * kern/disk.c (grub_disk_read): Fix offset computation when reading
27510 last sectors.
27511
e709ebe2
VS
275122010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
27513
27514 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
27515 having a 4KiB and not 32KiB buffer size.
27516
27dea7ed
RM
275172010-01-27 Robert Millan <rmh.grub@aybabtu.com>
27518
27519 * util/hostfs.c: Include `<errno.h>'.
27520 (grub_hostfs_read): Handle errors from fseeko() and fread().
27521
67667b9c
RM
275222010-01-27 Robert Millan <rmh.grub@aybabtu.com>
27523
27524 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
27525 loop when using read hooks on files whose size isn't sector-aligned.
27526
c294d9d8
RM
275272010-01-27 Robert Millan <rmh.grub@aybabtu.com>
27528
27529 Remove unused parameter.
27530
27531 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
27532 (grub_iso9660_open): Remove initialization of `data->length'.
27533
af75a9f1
RM
275342010-01-27 Robert Millan <rmh.grub@aybabtu.com>
27535
27536 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
27537 memleak conditions.
27538
254e2ce5 275392010-01-27 Carles Pina i Estany <carles@pina.cat>
27540
27541 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
27542 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
27543
b510928c 275442010-01-26 Carles Pina i Estany <carles@pina.cat>
27545
27546 * util/bin2h.c (usage): Fix warning (space after backslash).
27547
aa2f9dd2 275482010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 27549
27550 * font/font.c: Include `grub/fontformat.h.
27551 Remove font file format constants.
27552 (grub_font_load): Use the new macros.
27553 * include/grub/fontformat.h: New file.
27554 * util/grub-mkfont.c: Include `grub/fontformat.c'.
27555 (write_font_pf2): Use the new macros.
27556
94e7e712
RM
275572010-01-26 Robert Millan <rmh.grub@aybabtu.com>
27558
27559 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
27560 does.
27561
3973a59a
RM
275622010-01-26 Robert Millan <rmh.grub@aybabtu.com>
27563
27564 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
27565
27566 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
27567 (_start): Macroify `0x7F'.
27568
27569 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
27570 (make_install_device): Use "(pxe)" as fallback prefix when booting
27571 via PXE.
27572
42e0cba3
GS
275732010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
27574
27575 * configure.ac: Reset LIBS after check for libgcc symbols.
27576
847effd8
CW
275772010-01-25 Colin Watson <cjwatson@ubuntu.com>
27578
27579 * util/hostdisk.c (open_device): Add trailing newline to debug
27580 message.
27581
ea4a7e35
GS
275822010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
27583
27584 * configure.ac: Check for `limits.h'.
27585 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
27586
67951a53
RM
275872010-01-24 Robert Millan <rmh.grub@aybabtu.com>
27588
27589 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
27590 capitalize error strings.
27591
c273d4ce
ST
275922010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
27593
27594 * util/grub.d/10_hurd.in: Add a recovery mode.
27595
69be5b74
VS
275962010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
27597
27598 * configure.ac: Check for libgcc symbols with -nostdlib.
27599
fc9e5810
BC
276002010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
27601
27602 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
27603
4b358c0a
VS
276042010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
27605
27606 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
27607 stack since heap may be unavailable at that point.
27608 (grub_ofconsole_gotoxy): Likewise.
27609
454fcd1c
VS
276102010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
27611
27612 * configure.ac: Check for _restgpr_14_x.
27613 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
27614 and _savegpr_* prototypes.
27615
566863ca
RM
276162010-01-22 Robert Millan <rmh.grub@aybabtu.com>
27617
27618 Use generic grub_reboot() for i386-efi.
27619
27620 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
27621 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
27622 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
27623
bf86e59a
VS
276242010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
27625
27626 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
27627 presence of "prefix" variable as it breaks when normal.mod is
27628 embedded.
27629
d645e0f8
VS
276302010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
27631
27632 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
27633 stack since heap is unavailable at that point.
27634
f9ab2e25
VS
276352010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
27636
27637 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
27638 (grub_freebsd_bootinfo): Rewritten.
27639 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
27640
01fc7054
VS
276412010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
27642
27643 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
27644
caab4fd6
RM
276452010-01-21 Robert Millan <rmh.grub@aybabtu.com>
27646
27647 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
27648 domain now.
27649
67eb1427
FZ
276502010-01-20 Felix Zielcke <fzielcke@z-51.de>
27651
27652 * util/misc.c (make_system_path_relative_to_its_root): Change the work
27653 around for handling "/" to the correct fix. Fix a memory leak. Use
27654 xstrdup instead of strdup.
27655
a9ed4ff3
VS
276562010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27657
27658 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
27659
276602010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
27661
27662 Optimise glyph lookup by Basic Multilingual Plane lookup array.
27663
27664 * font/font.c (struct grub_font): New member 'bmp_idx'.
27665 (font_init): Initialise 'bmp_idx'.
27666 (load_font_index): Fill 'bmp_idx'.
27667 (find_glyph): Make inline. Use bmp_idx for BMP characters.
27668
48209f4f
VS
276692010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27670
27671 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
27672 unnecessary calls.
27673
9f0a4bb7
VS
276742010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27675
27676 Move context handling out of the kernel.
27677
27678 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
27679 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
27680 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
27681 * conf/i386-efi.rmk: Likewise.
27682 * conf/i386-ieee1275.rmk: Likewise.
27683 * conf/i386-pc.rmk: Likewise.
27684 * conf/powerpc-ieee1275.rmk: Likewise.
27685 * conf/sparc64-ieee1275.rmk: Likewise.
27686 * conf/x86_64-efi.rmk: Likewise.
27687 * include/grub/env.h: Include grub/menu.h.
27688 (grub_env_var_type): Removed.
27689 (grub_env_var): Replaced field 'type' with 'global'.
27690 (grub_env_find): New prototype.
27691 (grub_env_context_open): Remove EXPORT_FUNC.
27692 (grub_env_context_close): Likewise.
27693 (grub_env_export): Likewise.
27694 (grub_env_set_data_slot): Removed.
27695 (grub_env_get_data_slot): Likewise.
27696 (grub_env_unset_data_slot): Likewise.
27697 (grub_env_unset_menu): New prototype.
27698 (grub_env_set_menu): Likewise.
27699 (grub_env_get_menu): Likewise.
27700 * include/grub/env_private.h: New file.
27701 * include/grub/normal.h (grub_context_init): New prototype.
27702 (grub_context_fini): Likewise.
27703 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
27704 * normal/context.c (grub_cmd_export): ... to here.
27705 * kern/env.c: Include env_private.h.
27706 (HASHSZ): Moved to include/grub/env_private.h.
27707 (grub_env_context): Likewise.
27708 (grub_env_sorted_var): Likewise.
27709 (current_context): Renamed from this ...
27710 (grub_current_context): ...to this. 'static' removed. All users updated.
27711 (grub_env_find): Removed 'static'.
27712 (grub_env_context_open): Moved to normal/context.c.
27713 (grub_env_context_close): Likewise.
27714 (grub_env_export): Likewise.
27715 (mangle_data_slot_name): Removed.
27716 (grub_env_set_data_slot): Likewise.
27717 (grub_env_get_data_slot): Likewise.
27718 (grub_env_unset_data_slot): Likewise.
27719 * kern/main.c (grub_set_root_dev): Don't export root.
27720 It will be done later.
27721 (grub_main): Don't export prefix.
27722 It will be done later.
27723 * normal/context.c: New file.
27724 * normal/main.c (free_menu): Use grub_env_unset_menu.
27725 (grub_normal_add_menu_entry): Use grub_env_get_menu.
27726 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
27727 (GRUB_MOD_INIT(normal)): Call grub_context_init.
27728 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
27729
8dd35b8c
VS
277302010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27731
27732 setpci support.
27733
27734 * commands/setpci.c: New file.
27735 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
27736 (setpci_mod_SOURCES): New variable.
27737 (setpci_mod_CFLAGS): Likewise.
27738 (setpci_mod_LDFLAGS): Likewise.
27739
449193d5
VS
277402010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27741
27742 Byte-addressable PCI configuration space.
27743
27744 * bus/pci.c (grub_pci_make_address): Use byte address instead of
27745 dword address.
27746 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
27747 GRUB_PCI_REG_CACHELINE.
27748 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
27749 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
27750 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
27751 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
27752 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
27753 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
27754 grub_pci_make_address.
27755 (lock_rom_area): Likewise.
27756 * commands/lspci.c (grub_lspci_iter): Use macroses
27757 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
27758 of grub_pci_make_address.
27759 * disk/ata.c (grub_ata_pciinit): Likewise.
27760 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
27761 (GRUB_PCI_REG_VENDOR): Likewise.
27762 (GRUB_PCI_REG_DEVICE): Likewise.
27763 (GRUB_PCI_REG_COMMAND): Likewise.
27764 (GRUB_PCI_REG_STATUS): Likewise.
27765 (GRUB_PCI_REG_REVISION): Likewise.
27766 (GRUB_PCI_REG_CLASS): Likewise.
27767 (GRUB_PCI_REG_CACHELINE): Likewise.
27768 (GRUB_PCI_REG_LAT_TIMER): Likewise.
27769 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
27770 (GRUB_PCI_REG_BIST): Likewise.
27771 (GRUB_PCI_REG_ADDRESSES): Likewise.
27772 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
27773 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
27774 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
27775 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
27776 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
27777 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
27778 (GRUB_PCI_REG_CIS_POINTER): Likewise.
27779 (GRUB_PCI_REG_SUBVENDOR): Likewise.
27780 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
27781 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
27782 (GRUB_PCI_REG_CAP_POINTER): Likewise.
27783 (GRUB_PCI_REG_IRQ_LINE): Likewise.
27784 (GRUB_PCI_REG_IRQ_PIN): Likewise.
27785 (GRUB_PCI_REG_MIN_GNT): Likewise.
27786 (GRUB_PCI_REG_MAX_LAT): Likewise.
27787 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
27788 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
27789 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 27790 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
27791 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
27792 space.
27793
96d73208
RM
277942010-01-20 Robert Millan <rmh.grub@aybabtu.com>
27795
27796 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
27797 can be reliably determined to be supported.
27798
d4484482
RM
277992010-01-20 Robert Millan <rmh.grub@aybabtu.com>
27800
27801 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
27802 that VESA is supported.
27803 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
27804 supported.
27805
00308ecf
VS
278062010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27807
27808 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
27809
f66924a4
RM
278102010-01-20 Robert Millan <rmh.grub@aybabtu.com>
27811
27812 * util/misc.c (make_system_path_relative_to_its_root): Work around
27813 special-casing of "/", as previous incarnation of this routine did.
27814
cbca0ada
VS
278152010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27816
27817 Fix any-emu compilation.
27818
27819 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
27820 * grub_bin2h_SOURCES: New variable.
27821
34a66d99
RM
278222010-01-20 Robert Millan <rmh.grub@aybabtu.com>
27823
27824 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
27825
94fabf58
RM
278262010-01-20 Robert Millan <rmh.grub@aybabtu.com>
27827
27828 * util/grub.d/00_header.in: Fix handling of locale_dir.
27829
02cf98ca
VS
278302010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27831
27832 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
27833 as possible unifont location (Gentoo).
27834 Reported by: Alexander Brüning
27835
327dbcd7
VS
278362010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27837
27838 Don't try to generate lists for kernel.img.
27839
27840 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
27841 (pkglib_MODULES): Remove kernel.img.
27842 (kernel_img_EXPORTS): Removed.
27843 (kernel_img_RELOCATABLE): New variable.
27844 * conf/x86_64-efi.rmk: Likewise.
27845 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
27846
ca467290
VS
278472010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27848
27849 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
27850 grub_xasprintf or grub_snprintf.
27851 (grub_vsprintf): Likewise.
27852 (grub_snprintf): New proto.
27853 (grub_vsnprintf): Likewise.
27854 (grub_xasprintf): Likewise.
27855 (grub_xvasprintf): Likewise.
27856 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
27857 (grub_sprintf): Removed.
27858 (grub_vsnprintf): New function.
27859 (grub_snprintf): Likewise.
27860 (grub_xvasprintf): Likewise.
27861 (grub_xasprintf): Likewise.
27862 (grub_vsprintf): Renamed to ...
27863 (grub_vsnprintf_real): ...this. New argument max_len.
27864
aca655fd
BC
278652010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
27866
27867 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
27868 fix grub-script-check warning.
27869
7ee92c32
VS
278702010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27871
27872 * include/grub/font.h (grub_font_load): Fix prototype.
27873
f80927ca
VS
278742010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27875
27876 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
27877
119c50ea
VS
278782010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27879
27880 * include/grub/x86_64/at_keyboard.h: New file.
27881
47d5f3c1
VS
278822010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27883
27884 * loader/mips/linux.c: Include missing grub/i18n.h.
27885
55ff5266
RM
278862009-12-20 Robert Millan <rmh.grub@aybabtu.com>
27887
27888 * normal/menu.c (notify_execution_failure): Clarify error message.
27889
c893cc87
RM
278902009-12-20 Robert Millan <rmh.grub@aybabtu.com>
27891
27892 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
27893 return value (and revert all return statements). Update users.
27894
917dd370
CW
278952010-01-20 Dan Merillat <debian@dan.merillat.org>
27896
27897 * kern/device.c (grub_device_iterate): Allocate new part_ent
27898 structure based on sizeof (*p) rather than sizeof (p->next), to
27899 account for structure padding.
27900
27901 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
27902 disk is NULL, which might happen for LVM physical volumes with no
27903 LVM signature.
27904
d4a4ee57
RM
279052009-12-20 Robert Millan <rmh.grub@aybabtu.com>
27906
27907 * loader/mips/linux.c (grub_cmd_initrd)
27908 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
27909
279102009-12-20 Robert Millan <rmh.grub@aybabtu.com>
27911
27912 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
27913 (grub_video_video_init, grub_video_bitmap_init)
27914 (grub_font_manager_init, grub_term_gfxterm_init)
27915 (grub_at_keyboard_init): New extern declarations.
27916 (grub_machine_init): Initialize gfxterm and at_keyboard.
27917
27918 * kern/main.c (grub_main): Revert grub_printf delay kludge.
27919
27920 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
27921 `gfxterm.mod' into core image.
27922
27923 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
27924 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
27925 (kernel_img_FORMAT): Copy to ...
27926
27927 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
27928 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
27929 (kernel_img_FORMAT): ... here, and ...
27930
27931 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
27932 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
27933 (kernel_img_FORMAT): ... here.
27934
27935 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
27936 and input (at_keyboard) terminals in kernel.
27937 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
27938
27939 (pkglib_MODULES): Remove `pci.mod'.
27940 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
27941 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
27942 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
27943 (at_keyboard_mod_LDFLAGS): Remove variables.
27944
279452010-01-11 Felix Zielcke <fzielcke@z-51.de>
27946
27947 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
27948
279492009-12-10 Robert Millan <rmh.grub@aybabtu.com>
27950
27951 * include/grub/mips/libgcc.h: Only export symbols for functions
27952 that libgcc provides.
27953
279542009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
27955
27956 MIPS support.
27957
27958 * bus/bonito.c: New file.
27959 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
27960 GRUB_PCI_NUM_DEVICES.
27961 * term/i386/pc/serial.c: Move to ...
27962 * term/serial.c: ... here. All users updated.
27963 * util/i386/pc/grub-mkimage.c: Move to ...
27964 * util/grub-mkrawimage.c: ... here. All users updated.
27965 * term/i386/pc/at_keyboard.c: Move to ...
27966 * term/at_keyboard.c: ... here. All users updated.
27967 * conf/mips-qemu-mips.rmk: New file.
27968 * conf/mips-yeeloong.rmk: Likewise.
27969 * conf/mips.rmk: Likewise.
27970 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
27971 mipsel-qemu-mips.
27972 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
27973 to port addresses.
27974 (grub_ata_pciinit): Support CS5536.
27975 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
27976 * font/font_cmd.c (loadfont_command): Open file before passing it to
27977 grub_font_load.
27978 (pseudo_file_read): New function.
27979 (pseudo_file_close): Likewise.
27980 (pseudo_fs): New structure.
27981 (load_font_module): New function.
27982 (GRUB_MOD_INIT(font_manager)): Load embedded font.
27983 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
27984 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
27985 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
27986 * include/grub/i386/at_keyboard.h: Split into ...
27987 * include/grub/at_keyboard.h: ... this ...
27988 * include/grub/i386/at_keyboard.h: ... and this.
27989 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
27990 New prototype.
27991 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
27992 updated.
27993 (grub_elf64_size): Likewise.
27994 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
27995 filename.
27996 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
27997 * include/grub/i386/coreboot/serial.h: Rewritten.
27998 * include/grub/i386/ieee1275/serial.h: Include
27999 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
28000 * include/grub/i386/pc/serial.h: Moved from here ...
28001 * include/grub/serial.h: ... to here. All users updated.
28002 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
28003 (GRUB_PCI_NUM_BUS): Likewise.
28004 (GRUB_PCI_NUM_DEVICES): Likewise.
28005 (grub_pci_device_map_range): Add missing volatile keyword.
28006 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
28007 * include/grub/mips/at_keyboard.h: New file.
28008 * include/grub/mips/cache.h: Likewise.
28009 * include/grub/mips/io.h: Likewise.
28010 * include/grub/mips/kernel.h: Likewise.
28011 * include/grub/mips/libgcc.h: Likewise.
28012 * include/grub/mips/pci.h: Likewise.
28013 * include/grub/mips/qemu-mips/boot.h: Likewise.
28014 * include/grub/mips/qemu-mips/kernel.h: Likewise.
28015 * include/grub/mips/qemu-mips/loader.h: Likewise.
28016 * include/grub/mips/qemu-mips/memory.h: Likewise.
28017 * include/grub/mips/qemu-mips/serial.h: Likewise.
28018 * include/grub/mips/qemu-mips/time.h: Likewise.
28019 * include/grub/mips/relocator.h: Likewise.
28020 * include/grub/mips/time.h: Likewise.
28021 * include/grub/mips/types.h: Likewise.
28022 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
28023 * include/grub/mips/yeeloong/boot.h: Likewise.
28024 * include/grub/mips/yeeloong/kernel.h: Likewise.
28025 * include/grub/mips/yeeloong/loader.h: Likewise.
28026 * include/grub/mips/yeeloong/memory.h: Likewise.
28027 * include/grub/mips/yeeloong/pci.h: Likewise.
28028 * include/grub/mips/yeeloong/serial.h: Likewise.
28029 * include/grub/mips/yeeloong/time.h: Likewise.
28030 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
28031 * kern/elf.c (grub_elf32_size): New parameter. All users
28032 updated.
28033 (grub_elf64_size): Likewise.
28034 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
28035 Load modules before saying "Welcome to GRUB!".
28036 Call grub_refresh after saying "Welcome to GRUB!".
28037 * kern/mips/cache.S: New file.
28038 * kern/mips/cache_flush.S: Likewise.
28039 * kern/mips/dl.c: Likewise.
28040 * kern/mips/init.c: Likewise.
28041 * kern/mips/qemu-mips/init.c: Likewise.
28042 * kern/mips/startup.S: Likewise.
28043 * kern/mips/yeeloong/init.c: Likewise.
28044 * kern/term.c (grub_putcode): Handle NULL terminal.
28045 (grub_getcharwidth): Likewise.
28046 (grub_getkey): Likewise.
28047 (grub_checkkey): Likewise.
28048 (grub_getkeystatus): Likewise.
28049 (grub_getxy): Likewise.
28050 (grub_getwh): Likewise.
28051 (grub_gotoxy): Likewise.
28052 (grub_cls): Likewise.
28053 (grub_setcolorstate): Likewise.
28054 (grub_setcolor): Likewise.
28055 (grub_getcolor): Likewise.
28056 (grub_refresh): Likewise.
28057 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
28058 (write_jump): Add hatch nop.
28059 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
28060 * lib/mips/setjmp.S: New file.
28061 * loader/mips/linux.c: Likewise.
28062 * term/i386/pc/at_keyboard.c: Move from here ...
28063 * term/at_keyboard.c: ... to here.
28064 * term/i386/pc/serial.c: Moved from here ...
28065 * term/serial.c: ... to here. All users updated.
28066 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
28067 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
28068 (serial_translate_key_sequence): Avoid deadlock.
28069 (grub_serial_getkey): Handle backspace.
28070 (grub_serial_putchar): Fix newline handling.
28071 * util/i386/pc/grub-mkimage.c: Move from here ...
28072 * util/grub-mkrawimage.c: ... to here. All users updated.
28073 (generate_image): New parameters 'font_path' and 'format'.
28074 Support embedding font.
28075 Use grub_host_to_target* instead of grub_cpu_to_le*.
28076 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
28077 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
28078 (options): New option "--font".
28079 (usage): Likewise.
28080 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
28081 (main): Handle "--font".
28082 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
28083 (grub_virtual_screen_setup): Set bg_color_display.
28084 (redraw_screen_rect): Use bg_color_display instead of incorrect
28085 bg_color.
28086 (grub_gfxterm_cls): Likewise.
28087 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
28088 Support embedding config file.
28089 (add_segments): Likewise.
28090 (options): New option "--config".
28091 (main): Handle "--config".
28092 * video/sm712.c: New file.
28093
25c2b5b3
RM
280942010-01-18 Robert Millan <rmh.grub@aybabtu.com>
28095
28096 Fix parallel builds.
28097
28098 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
28099 font.c depend on ascii.h).
28100
281012010-01-12 Carles Pina i Estany <carles@pina.cat>
28102
28103 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
28104
281052010-01-11 Carles Pina i Estany <carles@pina.cat>
28106
28107 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
28108 By default: disabled.
28109 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
28110 parameter.
28111
281122010-01-10 Carles Pina i Estany <carles@pina.cat>
28113
28114 * font/font.c: Update copyright years.
28115 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
28116
281172010-01-10 Carles Pina i Estany <carles@pina.cat>
28118
28119 * font/font.c: Include `ascii.h'.
28120 (ASCII_BITMAP_SIZE): New macro.
28121 (ascii_font_glyph): Define.
28122 (ascii_glyph_lookup): New function.
28123 (grub_font_get_string_width): Change comment. If glyph not found, use
28124 ascii_glyph_lookup.
28125 (grub_font_get_glyph_with_fallback): If glyph not available returns
28126 ascii_glyph_lookup.
28127 * util/grub-mkfont.c (file_formats): New enum.
28128 (options): Add `ascii-bitmaps' new option.
28129 (usage): Add `asii-bitmaps' new option.
28130 (write_font_ascii_bitmap): New function.
28131 (write_font): Rename to ...
28132 (write_font_p2): ... this. Remove print_glyphs call.
28133 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
28134 used. Call print_glyphs.
28135 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
28136
281372010-01-14 Robert Millan <rmh.grub@aybabtu.com>
28138
28139 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
28140 (grub_bin2h_SOURCES): New variable.
28141 * util/bin2h.c: New file.
28142
915fc1b8
VS
281432010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28144
28145 * include/multiboot.h: Resynced with spec.
28146 * include/multiboot2.h: Likewise.
28147 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
28148 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
28149
9444b678
RM
281502010-01-18 Robert Millan <rmh.grub@aybabtu.com>
28151
28152 * include/grub/term.h (grub_term_register_input,
28153 grub_term_register_output): Check return of terminal init()
28154 routines, and abort if errors are raised.
28155
28156 * commands/terminal.c: Update copyright year.
28157
cba98e8d
RM
281582010-01-18 Robert Millan <rmh.grub@aybabtu.com>
28159
28160 * commands/terminal.c (grub_cmd_terminal_input)
28161 (grub_cmd_terminal_output): Check return of terminal init()
28162 routines, and abort if errors are raised.
28163
6f7db5d6
VS
281642010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
28165
28166 * include/grub/i386/bsd.h: Fix include pathes.
28167
262bff8d
VS
281682010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
28169
28170 Add missing *BSD copyright headers.
28171
28172 * include/grub/aout.h: Add BSD licence.
28173 * include/grub/i386/bsd.h: Parts under different licences moved to ...
28174 * include/grub/i386/freebsd_linker.h: ... here,
28175 * include/grub/i386/freebsd_reboot.h: ... here,
28176 * include/grub/i386/netbsd_bootinfo.h: ... here,
28177 * include/grub/i386/netbsd_reboot.h: ... here,
28178 * include/grub/i386/openbsd_bootarg.h: ... here,
28179 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
28180 licence to each file.
28181
b2cab848
RM
281822010-01-18 Robert Millan <rmh.grub@aybabtu.com>
28183
28184 * acinclude.m4: Remove `nop' assembly instruction; it's not
28185 implemented by all architectures.
28186
2cb6be4b
RM
281872010-01-18 Robert Millan <rmh.grub@aybabtu.com>
28188
28189 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
28190 ELILO. This is no longer necessary.
28191
a2eaee15
BC
281922010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
28193
28194 Added new tool, grub-scrit-check to verify grub.cfg syntax.
28195
28196 * util/grub-script-check.c: grub-script-check tool.
28197 * conf/common.rmk: Make rules for grub-script-check.
28198
88d17012
RM
281992010-01-18 Robert Millan <rmh.grub@aybabtu.com>
28200
28201 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
28202 spotting it back in 2008. Shame on me for forgetting he did.
28203
28204 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
28205
8040619d
RM
282062010-01-18 Robert Millan <rmh.grub@aybabtu.com>
28207
28208 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
28209 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
28210 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
28211 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
28212 (GRUB_VIDEO_TYPE_EFI): Rename to ...
28213 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
28214
a0c2a0f6
RM
282152010-01-17 Robert Millan <rmh.grub@aybabtu.com>
28216
28217 * include/grub/test.h: Add license header.
28218 * tests/example_functional_test.c: Likewise.
28219 * tests/example_unit_test.c: Likewise.
28220 * tests/lib/functional_test.c: Likewise.
28221 * tests/lib/test.c: Likewise.
28222 * tests/lib/unit_test.c: Likewise.
28223
b0b13907
VS
282242010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
28225
28226 Use flag-based instead of hook-based video mode selection and "auto"
28227 keyword.
28228
28229 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
28230 (grub_video_set_mode): Changed prototype. All users updated.
28231 (grub_video_check_mode_flag): New inline function.
28232 * video/video.c (parse_modespec): New function.
28233 (grub_video_set_mode): Parse flags and keywords.
28234
ea379330 282352010-01-17 Carles Pina i Estany <carles@pina.cat>
28236
28237 * util/misc.c (grub_util_info): Fix the order of the parameters in a
28238 fprintf call.
28239
e15c215e
FZ
282402010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
28241
28242 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
28243
409ae1c9 282442010-01-16 Carles Pina i Estany <carles@pina.cat>
28245
28246 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
28247 string.
28248 * util/grub-emu.c (usage): Likewise.
28249 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
28250 * util/i386/efi/grub-mkimage.c (usage): Likewise.
28251 * util/i386/pc/grub-mkimage.c (usage): Likewise.
28252 * util/i386/pc/grub-setup.c (usage): Likewise.
28253
70a14d3d 282542010-01-16 Carles Pina i Estany <carles@pina.cat>
28255
28256 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
28257 the message.
28258 (grub_util_info): Likewise.
28259 (grub_util_error): Likewise.
28260 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
28261 and/or new lines in `grub_util_warna', `grub_util_info',
28262 `grub_util_error' calls.
28263 * util/getroot.c: Likewise.
28264 * util/grub-editenv.c: Likewise.
28265 * util/grub-emu.c: Likewise.
28266 * util/grub-fstest.c: Likewise.
28267 * util/grub-mkdevicemap.c: Likewise.
28268 * util/grub-mkfont.c: Likewise.
28269 * util/grub-mkpasswd-pbkdf2.c: Likewise.
28270 * util/grub-mkrelpath.c: Likewise.
28271 * util/grub-pe2elf.c: Likewise.
28272 * util/grub-probe.c: Likewise.
28273 * util/hostdisk.c: Likewise.
28274 * util/i386/efi/grub-mkimage.c: Likewise.
28275 * util/i386/pc/grub-mkimage.c: Likewise.
28276 * util/i386/pc/grub-setup.c: Likewise.
28277 * util/ieee1275/ofpath.c: Likewise.
28278 * util/mkisofs/eltorito.c: Likewise.
28279 * util/mkisofs/rock.c: Likewise.
28280 * util/mkisofs/write.c: Likewise.
28281 * util/raid.c: Likewise.
28282 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
28283 * util/sparc64/ieee1275/grub-setup.c: Likewise.
28284
a0b766fc
VS
282852010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
28286
28287 Enable multiboot on non-pc.
28288
28289 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
28290 multiboot.mod and multiboot2.mod to ...
28291 * conf/i386.rmk (pkglib_MODULES): ... here.
28292 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
28293 Moved to ...
28294 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
28295 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
28296 Moved to ...
28297 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
28298 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
28299 Moved to ...
28300 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
28301 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
28302 Moved to ...
28303 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
28304 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
28305 relocator.mod.
28306 (ata_mod_SOURCES): Removed.
28307 (ata_mod_CFLAGS): Likewise.
28308 (ata_mod_LDFLAGS): Likewise.
28309 (relocator_mod_SOURCES): Removed.
28310 (relocator_mod_CFLAGS): Likewise.
28311 (relocator_mod_ASFLAGS): Likewise.
28312 (relocator_mod_LDFLAGS): Likewise.
28313 Include i386.mk.
28314 * include/grub/x86_64/multiboot.h: New file.
28315 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
28316 Terminate EFI.
28317
884ade56
VS
283182010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
28319
28320 Video multiboot support.
28321
28322 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
28323 New prototype.
28324 * include/multiboot.h: Resynced with multiboot specification.
28325 * include/multiboot2.h: Likewise.
28326 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
28327 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
28328 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
28329 (HAS_VGA_TEXT): Likewise.
28330 (accepts_video): New variable.
28331 (grub_multiboot_set_accepts_video): New function.
28332 (grub_multiboot_get_mbi_size): Account for video structures.
28333 (set_video_mode): New function.
28334 (retrieve_video_parameters): Likewise.
28335 (grub_multiboot_make_mbi): Fill video fields.
28336
0d90e8a6
VS
283372010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
28338
28339 Video driver ids.
28340
28341 * include/grub/video.h (grub_video_driver_id): New type.
28342 (grub_video_adapter): New member 'id'. All users updated.
28343 (grub_video_get_driver_id): New proto.
28344 * video/video.c (grub_video_get_driver_id): New function.
28345
5c71db1b 283462010-01-14 Carles Pina i Estany <carles@pina.cat>
28347
28348 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
28349 `var=val'.
28350
cca15b52 283512010-01-14 Carles Pina i Estany <carles@pina.cat>
28352
28353 * normal/cmdline.c (print_completion): Gettextizze.
28354
c586fbb2 283552001-01-14 Carles Pina i Estany <carles@pina.cat>
28356
28357 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
28358
ba2f6848 283592010-01-14 Carles Pina i Estany <carles@pina.cat>
28360
28361 * gettext/gettext.c (grub_gettext_translate): Push and pop
28362 grub_errno.
28363 (grub_gettext_delete_list): Change comment style.
28364 * kern/err.c (grub_error): Gettextizze.
28365 (grub_fatal): Gettextizze.
28366
0a46429a
RM
283672010-01-14 Robert Millan <rmh.grub@aybabtu.com>
28368
28369 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
28370 (grub_linux16_real_boot): ... this.
28371 * kern/i386/loader.S: Likewise.
28372 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
28373 (grub_linux16_boot): New function. Switches to text mode and calls
28374 grub_linux16_real_boot().
28375
28376 * loader/i386/bsd.c: Include `<grub/video.h>'.
28377 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
28378 text mode before calling grub_unix_real_boot().
28379
28380 * loader/i386/multiboot.c: Include `<grub/video.h>'.
28381 (grub_multiboot_boot): Switch to text mode before calling
28382 grub_relocator32_boot().
28383
28384 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
28385 (grub_chainloader_boot): Switch to text mode before calling
28386 grub_chainloader_real_boot().
28387
d6f93a66
RM
283882010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
283892010-01-05 Colin Watson <cjwatson@ubuntu.com>
28390
28391 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
28392 non-empty value.
28393
283942010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
283952010-01-05 Colin Watson <cjwatson@ubuntu.com>
28396
28397 * util/grub.d/00_header.in: Define a "savedefault" function for use
28398 in menu entries.
28399 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
28400
284012010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
284022010-01-05 Colin Watson <cjwatson@ubuntu.com>
28403
28404 * util/grub-mkconfig_lib.in (save_default_entry): Only set
28405 saved_entry if boot_once is unset.
28406 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
28407 previous saved entry (i.e. grub-reboot).
28408
284092009-12-08 Colin Watson <cjwatson@ubuntu.com>
28410
28411 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
28412
284132009-12-08 Colin Watson <cjwatson@ubuntu.com>
28414
28415 * util/grub.d/00_header.in: Use `set var=val' rather than plain
28416 `var=val'.
28417 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
28418
284192009-12-08 Colin Watson <cjwatson@ubuntu.com>
28420
28421 * util/grub-reboot.in: Fix --version output.
28422 * util/grub-set-default.in: Likewise.
28423
284242009-12-08 Colin Watson <cjwatson@ubuntu.com>
28425
28426 * util/grub.d/00_header.in: Silently ignore zero-sized environment
28427 blocks.
28428
284292009-12-08 Colin Watson <cjwatson@ubuntu.com>
28430
28431 * util/grub.d/00_header.in: Quote the value assigned to `default',
28432 in case it contains spaces.
28433
284342009-12-08 Colin Watson <cjwatson@ubuntu.com>
28435
28436 * util/grub.d/30_os-prober.in: Fix merge error that moved a
28437 `save_default_entry' call from the macosx case to the linux case.
28438
284392009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
284402009-10-25 Colin Watson <cjwatson@ubuntu.com>
28441
28442 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
28443 in `chosen' environment variable.
28444 * normal/menu_text.c (get_entry_number): Check if the variable
28445 matches the title of a menu entry.
28446 (run_menu): Pass menu to get_entry_number.
28447
28448 * util/grub-reboot.in: New file.
28449 * util/grub-set-default.in: New file.
28450 * conf/common.rmk (grub-reboot): New utility.
28451 (grub-set-default): New utility.
28452
28453 * util/grub-mkconfig_lib.in (save_default_entry): New function.
28454 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
28455 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
28456 move it to `saved_entry' for the next boot. Load environment on
28457 initialisation.
28458 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
28459 * util/grub.d/10_hurd.in: Likewise.
28460 * util/grub.d/10_linux.in (linux_entry): Likewise.
28461 * util/grub.d/10_windows.in: Likewise.
28462 * util/grub.d/30_os-prober.in: Likewise.
28463
28464 * util/grub-install.in: Create environment block.
28465 * util/i386/efi/grub-install.in: Likewise.
28466 * util/ieee1275/grub-install.in: Likewise.
28467 * util/sparc64/ieee1275/grub-install.in: Likewise.
28468
0934d184
BC
284692010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
28470
28471 Unit testing framework for GRUB.
28472
28473 * Makefile.in: Test framework build rules for 'make check'.
28474 * conf/tests.rmk: Build rules for individual tests and framework.
28475
28476 * include/grub/test.h: Header file for whitebox tests.
28477 * tests/lib/functional_test.c: Framework support for whitebox
28478 functional tests.
28479 * tests/lib/test.c: Common whitebox testing code for unit and
28480 functional tests.
28481 * tests/lib/unit_test.c: Framework support for whitebox unit
28482 tests.
28483
28484 * tests/util/grub-shell-tester.in: Support utility for grub-script
28485 tests.
28486 * tests/util/grub-shell.in: Utility to execute grub-script
28487 commands in a Qemu instance.
28488
28489 * tests/example_functional_test.c: Example whitebox functional
28490 test.
28491 * tests/example_grub_script_test.in: Example grub-script test.
28492 * tests/example_scripted_test.in: Example scripted test.
28493 * tests/example_unit_test.c: Example whitebox unit test.
28494
9c4ffeeb
VS
284952010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
28496
28497 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
28498 Add loader/i386/multiboot_mbi.c.
28499 (multiboot2_mod_SOURCES): Likewise.
28500 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
28501 (multiboot2_mod_SOURCES): Likewise.
28502 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
28503 (grub_multiboot_make_mbi): Likewise.
28504 (grub_multiboot_free_mbi): Likewise.
28505 (grub_multiboot_init_mbi): Likewise.
28506 (grub_multiboot_add_module): Likewise.
28507 (grub_multiboot_set_bootdev): Likewise.
28508 * loader/i386/multiboot.c (mbi): Removed.
28509 (mbi_dest): Likewise.
28510 (alloc_mbi): New variable.
28511 (grub_multiboot_payload_size): Removed. All users updated.
28512 (grub_multiboot_pure_size): New variable.
28513 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
28514 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
28515 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
28516 (grub_fill_multiboot_mmap): Likewise.
28517 (grub_multiboot_get_bootdev): Likewise.
28518 (grub_multiboot): Use multiboot_mbi functions.
28519 * loader/i386/multiboot_mbi.c: New file.
28520
17383dfe
VS
285212010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
28522
28523 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
28524 it would result in module crash.
28525
c1f28820
VS
285262010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
28527
28528 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
28529 (grub_ofconsole_getwh): Split to ...
28530 (grub_ofconsole_getwh): ... this.
28531 (grub_ofconsole_dimensions): ...and this.
28532 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
28533
58655a16
RM
285342010-01-13 Robert Millan <rmh.grub@aybabtu.com>
28535
28536 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
28537
10891398
VS
285382010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
28539
28540 * loader/i386/pc/multiboot2.c: Removed stalled file.
28541
0b8a223c
VS
285422010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
28543
28544 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
28545 Reported by: Grégoire Sutre
28546
92ab12b0
RM
285472010-01-11 Robert Millan <rmh.grub@aybabtu.com>
28548
28549 * util/misc.c (canonicalize_file_name): New function.
28550 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
28551 instead of realpath().
28552
a788afb6
CW
285532010-01-11 Colin Watson <cjwatson@ubuntu.com>
28554
28555 * util/grub-install.in (usage): Clarify meaning of --root-directory,
28556 and make it clearer that it's optional. Based on confusion
28557 witnessed on IRC.
28558
ffa8e3d2
VS
285592010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
28560
28561 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
28562 in premature implicit newline.
28563
e9060a9d
VS
285642010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
28565
28566 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
28567 which resulted in garbled command line at the end of screen.
28568
f0d0c0b7
RM
285692010-01-10 Robert Millan <rmh.grub@aybabtu.com>
28570
28571 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
28572 initialization with similar approach as with other Linux loaders.
28573
0e60bae7
RM
285742010-01-10 Robert Millan <rmh.grub@aybabtu.com>
28575
28576 Fix i386-ieee1275 build.
28577
28578 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
28579 and grub_term_height() for video_{width,height} initialization.
28580
285812010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
28582
28583 Fix grub-emu build.
28584
28585 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
28586
cdb3f378
RM
285872010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
285882010-01-09 Robert Millan <rmh.grub@aybabtu.com>
28589
28590 Support for multiple terminals.
28591
28592 * Makefile.in (pkglib_DATA): terminal.lst.
28593 (terminal.lst): New target.
28594 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
28595 (GRUB_MOD_INIT(handler)): Likewise.
28596 (GRUB_MOD_FINI(handler)): Likewise.
28597 * commands/help.c (grub_cmd_help): Handle multiple terminals.
28598 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
28599 * commands/sleep.c (do_print): Use grub_term_restore_pos.
28600 (grub_cmd_sleep): Use grub_term_save_pos.
28601 * commands/terminal.c: New file.
28602 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
28603 commands/terminal.c and lib/charset.c.
28604 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
28605 (pkglib_MODULES): Add terminal.mod.
28606 (terminal_mod_SOURCES): New variable.
28607 (terminal_mod_CFLAGS): Likewise.
28608 (terminal_mod_LDFLAGS): Likewise.
28609 * genhandlerlist.sh: Don't handle terminals.
28610 * genmk.rb: Generate terminal-*.lst.
28611 * genterminallist.sh: New file.
28612 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
28613 (grub_is_valid_utf8): Likewise.
28614 (grub_utf8_to_ucs4_alloc): Likewise.
28615 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
28616 (grub_menu_register_viewer): Changed argument.
28617 (grub_menu_try_text): New proto.
28618 (grub_gfxmenu_try_hook): New declaration.
28619 * include/grub/normal.h (grub_normal_exit_level): New declaration.
28620 (grub_menu_init_page): Additional argument term.
28621 (grub_normal_init_page): Likewise.
28622 (grub_cmdline_get): Arguments simplified.
28623 (grub_utf8_to_ucs4_alloc): Removed.
28624 (grub_print_ucs4): Additional argument term.
28625 (grub_getstringwidth): Likewise.
28626 (grub_print_message_indented): Likewise.
28627 (grub_menu_text_register_instances): New proto.
28628 (grub_show_menu): Likewise.
28629 (read_terminal_list): Likewise.
28630 (grub_set_more): Likewise.
28631 * include/grub/parser.h: Include handler.h.
28632 * include/grub/reader.h: Rewritten.
28633 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
28634 (GRUB_TERM_WIDTH): Changed to function.
28635 (GRUB_TERM_HEIGHT): Likewise.
28636 (GRUB_TERM_BORDER_WIDTH): Likewise.
28637 (GRUB_TERM_BORDER_HEIGHT): Likewise.
28638 (GRUB_TERM_NUM_ENTRIES): Likewise.
28639 (GRUB_TERM_ENTRY_WIDTH): Likewise.
28640 (GRUB_TERM_CURSOR_X): Likewise.
28641 (grub_term_input_class): Likewise.
28642 (grub_term_output_class): Likewise.
28643 (grub_term_outputs_disabled): New declaration.
28644 (grub_term_inputs_disabled): Likewise.
28645 (grub_term_outputs): Likewise.
28646 (grub_term_inputs): Likewise.
28647 (grub_term_register_input): Rewritten.
28648 (grub_term_register_output): Likewise.
28649 (grub_term_unregister_input): Likewise.
28650 (grub_term_unregister_output): Likewise.
28651 (FOR_ACTIVE_TERM_INPUTS): New macro.
28652 (FOR_DISABLED_TERM_INPUTS): Likewise.
28653 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
28654 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
28655 * include/grub/terminfo.h: Add oterm argument to all protypes.
28656 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
28657 Use grub_rescue_run.
28658 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
28659 All users updated.
28660 * kern/reader.c: Removed. All users updated.
28661 * kern/rescue_reader.c (grub_rescue_init): Removed.
28662 (grub_rescue_reader): Likewise.
28663 (grub_register_rescue_reader): Likewise.
28664 (grub_rescue_run): New function based on kern/reader.c.
28665 * kern/term.c: Adapted for multiterm.
28666 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
28667 (grub_is_valid_utf8): Likewise.
28668 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
28669 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
28670 right terminal.
28671 * loader/i386/linux.c (grub_linux_boot): Likewise.
28672 * normal/auth.c (grub_username_get): New function.
28673 (grub_auth_check_authentication): Use grub_username_get.
28674 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
28675 * normal/color.c: Adapt for multiterm.
28676 * normal/main.c (read_config_file): Don't use grub_reader_loop.
28677 (grub_normal_init_page): Additional argument term.
28678 (read_lists): Call read_terminal_lists.
28679 (grub_enter_normal_mode): Call grub_cmdline_run.
28680 Handle grub_normal_exit_level.
28681 (grub_cmd_normal): Make reentrant.
28682 (grub_cmd_normal_exit): New function.
28683 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
28684 * normal/menu.c: Adapt for multiterm.
28685 * normal/menu_entry.c: Likewise.
28686 * normal/menu_text.c: Likewise.
28687 * normal/menu_viewer.c: Removed. All users updated.
28688 * normal/term.c: New file.
28689 * util/console.c: Change order of includes to workaround a bug in
28690 ncurses headers.
28691 * term/terminfo.c: New argument oterm on all exported functions.
28692 All users updated.
28693 * util/grub-editenv.c (grub_term_input_class): Removed.
28694 (grub_term_output_class): Likewise.
28695
1a064917
RM
286962010-01-09 Robert Millan <rmh.grub@aybabtu.com>
28697
28698 Make loader output a bit more user-friendly.
28699
28700 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
28701 is being loaded. Likewise for the Hurd.
28702
28703 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
28704 that kernel of FreeBSD ${version} is being loaded.
28705
28706 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
28707 grub_dprintf().
28708 (grub_cmd_initrd): Likewise.
28709 * util/grub.d/10_linux.in (linux_entry): Print message indicating
28710 that Linux ${version} is being loaded. Likewise for initrd.
28711
5ce0a83a 287122010-01-09 Carles Pina i Estany <carles@pina.cat>
28713
28714 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
28715
809bbfeb 287162010-01-08 Carles Pina i Estany <carles@pina.cat>
28717
28718 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
28719 (GRUB_MOD_INIT): Gettextizze.
28720 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
28721 (GRUB_MOD_INIT): Gettextizze.
28722 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
28723 (grub_cmd_linux): Capitalise Linux.
28724 (GRUB_MOD_INIT): Gettextizze.
28725 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
28726 (grub_cmd_linux): Capitalise Linux.
28727 (GRUB_MOD_INIT): Gettextizze.
28728 * loader/i386/linux.c: Include `<grub/i18n.h>'.
28729 (grub_cmd_linux): Capitalise Linux.
28730 (GRUB_MOD_INIT): Gettextizze.
28731 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
28732 (GRUB_MOD_INIT): Gettextizze.
28733 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
28734 (grub_cmd_linux): Capitalise Linux.
28735 (GRUB_MOD_INIT): Gettextizze.
28736 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
28737 (grub_cpu_xnu_init): Gettextizze.
28738 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
28739 (GRUB_MOD_INIT): Gettextizze.
28740 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
28741 (GRUB_MOD_INIT): Gettextizze.
28742 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
28743 (grub_linux_load64): Capitalise Linux.
28744 (GRUB_MOD_INIT): Gettextizze.
28745 * loader/xnu.c: Include `<grub/i18n.h>'.
28746 (GRUB_MOD_INIT): Gettextizze.
28747 * po/POTFILES: Add `loader/efi/appleloader.c',
28748 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
28749 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
28750 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
28751 `loader/i386/xnu.c', `loader/multiboot_loader.c',
28752 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
28753 and `loader/xnu.c'.
28754
b394b2ca
RM
287552010-01-08 Robert Millan <rmh.grub@aybabtu.com>
28756
28757 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
28758
287592010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
28760
28761 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
28762 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
28763 * util/mkisofs/mkisofs.c (main): Readjust --version output.
28764
bc8b32b3
RM
287652010-01-07 Robert Millan <rmh.grub@aybabtu.com>
28766
28767 Reset Multiboot 2 support. New loader implements the draft in
28768 /branches/multiboot2 and shares as much code as possible with the
28769 production Multiboot 1 implementation.
28770
28771 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
28772 * loader/multiboot2.c: Likewise.
28773 * loader/i386/multiboot_helper.S: Likewise.
28774 * include/multiboot2.h: Replace with latest version from the draft
28775 in /branches/multiboot2.
28776
28777 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
28778 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
28779 and `loader/multiboot2.c'.
28780 (pkglib_MODULES): Add `multiboot2.mod'.
28781 (multiboot2_mod_SOURCES): New variable.
28782 (multiboot2_mod_LDFLAGS): Likewise.
28783 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
28784
28785 * conf/i386-pc.rmk: Likewise.
28786
28787 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
28788 (multiboot_mod_SOURCES): Remove variable.
28789 (multiboot_mod_LDFLAGS): Likewise.
28790 (multiboot_mod_CFLAGS): Likewise.
28791
28792 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
28793 `<multiboot2.h>' instead of `<multiboot.h>'.
28794 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
28795 (MULTIBOOT_HEADER_MAGIC): New macros.
28796
28797 * loader/multiboot_loader.c (module_version_status): Remove variable.
28798 (find_multi_boot2_header): Remove function.
28799 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
28800 logic. Always check for the Multiboot version we're compiling for.
28801 (grub_cmd_module_loader): Likewise.
28802 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
28803 command instead of `multiboot'.
28804
5d2c52b8
RM
288052010-01-07 Robert Millan <rmh.grub@aybabtu.com>
28806
28807 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
28808 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
28809 all users.
28810
53108d92
RM
288112010-01-07 Robert Millan <rmh.grub@aybabtu.com>
288122010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
28813
28814 Fix breakage introduced with previous commit.
28815
28816 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
28817 commands.
28818 * normal/handler.c (read_handler_list): Revert part of previous commit
28819 affecting this file.
28820 * normal/main.c (read_lists): Move read_handler_list() call back to ...
28821 (grub_normal_execute): ... here.
28822
e2e936b2
RM
288232010-01-07 Robert Millan <rmh.grub@aybabtu.com>
28824
28825 Merge prefix-redefinition-fix branch.
28826
28827 * normal/autofs.c (read_fs_list): Make function capable of being
28828 run multiple times, gracefuly replacing the previous data
28829 structures.
28830 * normal/dyncmd.c (read_command_list): Likewise.
28831 * normal/handler.c (read_handler_list): Likewise.
28832 * normal/main.c (read_lists): New function. Calls all the
28833 list reading functions.
28834 (grub_normal_execute): Use read_lists() instead of calling all
28835 list reading functions explicitly. Register read_lists() as a
28836 variable hook attached to ${prefix}.
28837
607a3701
VS
288382010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
28839
28840 Merge crypto branch.
28841
28842 * Makefile.in (pkglib_DATA): Add crypto.lst.
28843 (crypto.lst): New target.
28844 * commands/hashsum.c: New file.
28845 * commands/password.c (check_password): Use grub_crypto_memcmp.
28846 * commands/password_pbkdf2.c: New file.
28847 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
28848 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
28849 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
28850 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
28851 -I$(srcdir)/lib/libgcrypt_wrap.
28852 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
28853 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
28854 password_pbkdf2.mod.
28855 (crypto_mod_SOURCES): New variable.
28856 (crypto_mod_CFLAGS): Likewise.
28857 (crypto_mod_LDFLAGS): Likewise.
28858 (hashsum_mod_SOURCES): New variable.
28859 (hashsum_mod_CFLAGS): Likewise.
28860 (hashsum_mod_LDFLAGS): Likewise.
28861 (pbkdf2_mod_SOURCES): New variable.
28862 (pbkdf2_mod_CFLAGS): Likewise.
28863 (pbkdf2_mod_LDFLAGS): Likewise.
28864 (password_pbkdf2_mod_SOURCES): New variable.
28865 (password_pbkdf2_mod_CFLAGS): Likewise.
28866 (password_pbkdf2_mod_LDFLAGS): Likewise.
28867 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
28868 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
28869 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
28870 Include conf/gcry.rmk.
28871 * include/grub/auth.h: Rewritten.
28872 * include/grub/crypto.h: New file.
28873 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
28874 * include/grub/normal.h (read_crypto_list): New prototype.
28875 * lib/crypto.c: New file.
28876 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
28877 * lib/pbkdf2.c: Likewise.
28878 * normal/auth.c (grub_auth_strcmp): Removed.
28879 (grub_iswordseparator): Likewise.
28880 (grub_auth_strword): Likewise.
28881 (is_authenticated): Use grub_strword.
28882 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
28883 and grub_strword. Pass entered password to authentication callback.
28884 * normal/crypto.c: New file.
28885 * normal/main.c: Call read_crypto_list.
28886 * util/grub-mkpasswd-pbkdf2.c: New file.
28887 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
28888
42841caa
VS
288892010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
28890
28891 Fix descent and ascent calculation.
28892
28893 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
28894 (options): New option "asce".
28895 (usage): Likewise.
28896 (add_char): Ignore invalid glyphs for descent calculation.
28897 Calculate ascent from actual content.
28898 (print_glyphs): Use 'asce'.
28899 (write_font): Likewise. Allow ascent override.
28900 (main): Handle "asce" option.
28901
e7730de7 289022010-01-06 Carles Pina i Estany <carles@pina.cat>
28903
28904 * kern/err.c: Include `<grub/i18n.h>'.
28905 (grub_print_error): Add full stop. Gettextizze.
28906 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
28907 (grub_bsd_load_elf): Capitalise ELF.
28908 (grub_cmd_freebsd_loadenv): Add `s' in error string.
28909 (grub_cmd_freebsd_module): Likewise.
28910 (grub_cmd_freebsd_module_elf): Likewise.
28911 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
28912
40e3a41f 289132010-01-06 Carles Pina i Estany <carles@pina.cat>
28914
28915 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
28916 * commands/search_file.c (HELP_MESSAGE): New macro.
28917 * commands/search_label.c (HELP_MESSAGE): Likewise.
28918 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
28919 * po/POTFILES: Add `commands/search_file.c',
28920 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
28921 `commands/search.c'.
28922
83507e68
RM
289232010-01-05 Robert Millan <rmh.grub@aybabtu.com>
28924
28925 * config.rpath: Update from Gnulib.
28926
465c787b
YB
289272010-01-05 Yves Blusseau <blusseau@zetam.org>
28928
28929 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
28930
6581dd3a
YB
289312010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
28932
28933 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
28934
3bff18c5
CW
289352010-01-05 Colin Watson <cjwatson@ubuntu.com>
28936
28937 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
28938 arguments to fread so that we get a return value in bytes, rather
28939 than something that will normally be rounded down to 0.
28940 Adjust error handling to avoid producing garbage when size_t is not
28941 the same size as long long.
28942
a1368118
CW
289432010-01-05 Colin Watson <cjwatson@ubuntu.com>
28944
28945 * util/mkisofs/write.c (padblock_write): Check return value of
28946 fread.
28947
7c302978
RM
289482010-01-05 Robert Millan <rmh.grub@aybabtu.com>
28949
28950 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
28951 floppy images now.
28952
28953 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
28954
e33ace06
RM
289552010-01-04 Robert Millan <rmh.grub@aybabtu.com>
28956
28957 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
28958 instead of manual alignment.
28959 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
28960 verbose). Avoid attempts to read past end of the device
28961 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
28962 but GRUB_DISK_CACHE_SIZE may exceed that).
28963
4b856776
RM
289642010-01-04 Robert Millan <rmh.grub@aybabtu.com>
28965
28966 * commands/crc.c (grub_cmd_crc): Abort on read errors.
28967 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
28968 it to upper layer.
28969
52c2d97f
VS
289702010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
28971
28972 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
28973 New constant.
28974 (grub_efi_piwg_device_path): New structure
28975 (grub_efi_piwg_device_path_t): New type.
28976 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
28977 (devpath_1): Transform to a structure. All users updated.
28978 (devpath_2): Likewise.
28979 (devpath_3): Likewise.
28980 (devpath_4): Likewise.
28981 (devpath_5): Likewise.
28982
98ff6a54
VS
289832010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
28984
28985 * loader/efi/appleloader.c: Restored. Update all users.
28986
3a73dcb6
RM
289872010-01-03 Robert Millan <rmh.grub@aybabtu.com>
28988
28989 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
28990
28991 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
28992 (struct boot_blocklist): Move from here ...
28993 * include/grub/i386/pc/boot.h [ASM_FILE]
28994 (struct grub_boot_blocklist): ... to here. Update all users.
28995 (setup): Only initialize `start' member of `first_block'
28996 structure. Add assert() calls to verify the other members.
28997
28998 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
28999 (generate_image): Fix broken blocklist length initialization.
29000 Add assert() call to verify blocklist `segment' field.
29001
ab0eeb0c
RM
290022010-01-03 Robert Millan <rmh.grub@aybabtu.com>
29003
29004 * loader/efi/appleloader.c: Remove. Update all users.
29005
58bc8bd5
RM
290062010-01-03 Robert Millan <rmh.grub@aybabtu.com>
29007
29008 * boot/i386/pc/boot.S: Update copyright year.
29009 * boot/i386/pc/cdboot.S: Likewise.
29010 * boot/i386/pc/diskboot.S: Likewise.
29011 * boot/i386/pc/lnxboot.S: Likewise.
29012 * boot/i386/pc/pxeboot.S: Likewise.
29013 * bus/pci.c: Likewise.
29014 * commands/cmp.c: Likewise.
29015 * commands/help.c: Likewise.
29016 * commands/hexdump.c: Likewise.
29017 * commands/i386/pc/halt.c: Likewise.
29018 * commands/i386/pc/play.c: Likewise.
29019 * commands/i386/pc/vbeinfo.c: Likewise.
29020 * commands/ls.c: Likewise.
29021 * commands/test.c: Likewise.
29022 * disk/dmraid_nvidia.c: Likewise.
29023 * disk/i386/pc/biosdisk.c: Likewise.
29024 * disk/ieee1275/nand.c: Likewise.
29025 * disk/ieee1275/ofdisk.c: Likewise.
29026 * disk/lvm.c: Likewise.
29027 * disk/raid.c: Likewise.
29028 * disk/raid6_recover.c: Likewise.
29029 * disk/scsi.c: Likewise.
29030 * fs/affs.c: Likewise.
29031 * fs/cpio.c: Likewise.
29032 * fs/ext2.c: Likewise.
29033 * fs/hfs.c: Likewise.
29034 * fs/iso9660.c: Likewise.
29035 * fs/ntfs.c: Likewise.
29036 * fs/sfs.c: Likewise.
29037 * fs/udf.c: Likewise.
29038 * fs/ufs.c: Likewise.
29039 * fs/xfs.c: Likewise.
29040 * gencmdlist.sh: Likewise.
29041 * genmk.rb: Likewise.
29042 * include/grub/disk.h: Likewise.
29043 * include/grub/efi/api.h: Likewise.
29044 * include/grub/efi/efi.h: Likewise.
29045 * include/grub/efi/pe32.h: Likewise.
29046 * include/grub/elf.h: Likewise.
29047 * include/grub/fs.h: Likewise.
29048 * include/grub/i386/at_keyboard.h: Likewise.
29049 * include/grub/i386/pc/memory.h: Likewise.
29050 * include/grub/i386/pc/vbe.h: Likewise.
29051 * include/grub/i386/pci.h: Likewise.
29052 * include/grub/i386/tsc.h: Likewise.
29053 * include/grub/ieee1275/ieee1275.h: Likewise.
29054 * include/grub/ntfs.h: Likewise.
29055 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
29056 * include/grub/sparc64/libgcc.h: Likewise.
29057 * include/grub/symbol.h: Likewise.
29058 * include/grub/types.h: Likewise.
29059 * include/multiboot2.h: Likewise.
29060 * io/gzio.c: Likewise.
29061 * kern/device.c: Likewise.
29062 * kern/disk.c: Likewise.
29063 * kern/efi/efi.c: Likewise.
29064 * kern/efi/mm.c: Likewise.
29065 * kern/elf.c: Likewise.
29066 * kern/file.c: Likewise.
29067 * kern/i386/dl.c: Likewise.
29068 * kern/i386/pc/init.c: Likewise.
29069 * kern/i386/pc/startup.S: Likewise.
29070 * kern/ieee1275/ieee1275.c: Likewise.
29071 * kern/ieee1275/init.c: Likewise.
29072 * kern/main.c: Likewise.
29073 * kern/mm.c: Likewise.
29074 * kern/powerpc/dl.c: Likewise.
29075 * kern/sparc64/dl.c: Likewise.
29076 * kern/x86_64/dl.c: Likewise.
29077 * lib/hexdump.c: Likewise.
29078 * loader/efi/appleloader.c: Likewise.
29079 * loader/i386/ieee1275/linux.c: Likewise.
29080 * loader/i386/pc/chainloader.c: Likewise.
29081 * loader/i386/pc/linux.c: Likewise.
29082 * loader/i386/pc/multiboot2.c: Likewise.
29083 * loader/ieee1275/multiboot2.c: Likewise.
29084 * loader/multiboot2.c: Likewise.
29085 * loader/multiboot_loader.c: Likewise.
29086 * loader/powerpc/ieee1275/linux.c: Likewise.
29087 * normal/completion.c: Likewise.
29088 * normal/menu_entry.c: Likewise.
29089 * partmap/apple.c: Likewise.
29090 * util/grub.d/10_hurd.in: Likewise.
29091 * util/hostfs.c: Likewise.
29092 * video/readers/png.c: Likewise.
29093
e2d70b5c
CW
290942010-01-03 Colin Watson <cjwatson@ubuntu.com>
29095
29096 * include/grub/misc.h (GNUC_PREREQ): New macro.
29097 (ATTRIBUTE_ERROR): New macro.
29098 * include/grub/list.h (grub_bad_type_cast_real): Use
29099 ATTRIBUTE_ERROR.
29100
a173283f 291012010-01-03 Carles Pina i Estany <carles@pina.cat>
29102
29103 * normal/menu_text.c (print_message): Change messages.
29104
7fa7ff74 291052010-01-03 Carles Pina i Estany <carles@pina.cat>
29106
29107 * normal/menu_entry.c (store_completion): Gettextizze.
29108
136d24f6 291092010-01-03 Carles Pina i Estany <carles@pina.cat>
29110
29111 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
29112
f936862e 291132010-01-03 Carles Pina i Estany <carles@pina.cat>
29114
29115 * po/POTFILES: Sort correctly.
29116
29c44ad1 291172010-01-03 Carles Pina i Estany <carles@pina.cat>
29118
29119 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
29120 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
29121 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
29122 full stop.
29123 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
29124 summary. Gettextizze the strings.
29125 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
29126 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
29127 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
29128 full stop.
29129 (GRUB_MOD_INIT): Remove command name from summary.
29130 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
29131 summary.
29132 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
29133 * term/i386/pc/serial.c (options): Add full stops.
29134 (GRUB_MOD_INIT): Remove command name from the summary.
29135
77a79592 291362010-01-03 Carles Pina i Estany <carles@pina.cat>
29137
29138 * commands/acpi.c: Gettextizze help strings and/or options. Include
29139 `grub/i18n.h' if needed.
29140 * commands/blocklist.c: Likewise.
29141 * commands/boot.c: Likewise.
29142 * commands/cat.c: Likewise.
29143 * commands/cmp.c: Likewise.
29144 * commands/configfile.c: Likewise.
29145 * commands/crc.c: Likewise.
29146 * commands/date.c: Likewise.
29147 * commands/echo.c: Likewise.
29148 * commands/efi/fixvideo.c: Likewise.
29149 * commands/efi/loadbios.c: Likewise.
29150 * commands/gptsync.c: Likewise.
29151 * commands/halt.c: Likewise.
29152 * commands/handler.c: Likewise.
29153 * commands/hdparm.c: Likewise.
29154 * commands/hexdump.c: Likewise.
29155 * commands/i386/cpuid.c: Likewise.
29156 * commands/i386/pc/drivemap.c: Likewise.
29157 * commands/i386/pc/halt.c: Likewise.
29158 * commands/i386/pc/pxecmd.c: Likewise.
29159 * commands/i386/pc/vbeinfo.c: Likewise.
29160 * commands/i386/pc/vbetest.c: Likewise.
29161 * commands/ieee1275/suspend.c: Likewise.
29162 * commands/keystatus.c: Likewise.
29163 * commands/loadenv.c: Likewise.
29164 * commands/ls.c: Likewise.
29165 * commands/lsmmap.c: Likewise.
29166 * commands/lspci.c: Likewise.
29167 * commands/memrw.c: Likewise.
29168 * commands/minicmd.c: Likewise.
29169 * commands/parttool.c: Likewise.
29170 * commands/password.c: Likewise.
29171 * commands/probe.c: Likewise.
29172 * commands/read.c: Likewise.
29173 * commands/reboot.c: Likewise.
29174 * commands/search.c: Likewise.
29175 * commands/sleep.c: Likewise.
29176 * commands/test.c: Likewise.
29177 * commands/true.c: Likewise.
29178 * commands/usbtest.c: Likewise.
29179 * commands/videotest.c: Likewise.
29180 * commands/xnu_uuid.c: Likewise.
29181 * disk/loopback.c: Likewise.
29182 * hello/hello.c: Likewise.
29183 * loader/i386/bsd.c: Likewise.
29184 * term/i386/pc/serial.c: Likewise.
29185 * po/POTFILES: Add new files.
29186
da8d5c53
CW
291872010-01-02 Colin Watson <cjwatson@ubuntu.com>
29188
29189 * term/i386/pc/at_keyboard.c
29190 (keyboard_controller_wait_untill_ready): Rename to ...
29191 (keyboard_controller_wait_until_ready): ... this. Update all users.
29192
33937904 291932010-01-01 Carles Pina i Estany <carles@pina.cat>
29194
29195 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
29196 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
29197 string using string width.
29198 * normal/menu_text.c (grub_print_message_indented): Use
29199 grub_print_spaces and not print_spaces.
29200 (print_timeout): Likewise.
29201 (print_spaces): Move to...
29202 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
29203
3fd3b8d8
RM
292042010-01-01 Robert Millan <rmh.grub@aybabtu.com>
29205
29206 Import from Gnulib.
29207
29208 * gnulib/getdelim.c: New file.
29209 * gnulib/getline.c: Likewise.
29210
33433555
VS
292112009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
29212
29213 * include/grub/list.h (grub_assert_fail): Removed.
29214 (grub_bad_type_cast_real): New function.
29215 (grub_bad_type_cast): New macro.
29216 (GRUB_AS_LIST): Use grub_bad_type_cast.
29217 (GRUB_AS_LIST_P): Likewise.
e44721e8 29218 (GRUB_AS_NAMED_LIST): Likewise.
33433555 29219 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 29220 (GRUB_AS_PRIO_LIST): Likewise.
33433555 29221 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 29222 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 29223
f5a51306
VS
292242009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
29225
29226 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
29227 Fix syntax error.
29228
90d1e879
RM
292292009-12-29 Robert Millan <rmh.grub@aybabtu.com>
29230
29231 * configure.ac: Check for TARGET_CFLAGS initialization before we
29232 initialize it ourselves (sigh).
29233 Move a few modifications to TARGET_CFLAGS to be unconditional
29234 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
29235 eh_frame)
29236
29237 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
29238 * term/i386/pc/at_keyboard.c
29239 (keyboard_controller_wait_untill_ready): Likewise.
29240 (keyboard_controller_led): Rename `led_status' paramter to avoid
29241 name conflict.
29242
465b5a81 292432009-12-28 Carles Pina i Estany <carles@pina.cat>
29244
29245 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
29246 quotes.
29247
c181849b
VS
292482009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
29249
29250 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
29251
9c8739a4
VS
292522009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
29253
29254 * normal/menu_text.c (grub_print_message_indented): Prevent
29255 past-the-end-of-array dereference.
29256
3e74249c
VS
292572009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
29258
29259 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
29260 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
29261
64fd18ed 292622009-12-27 Carles Pina i Estany <carles@pina.cat>
29263
29264 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
29265 * normal/main.c (grub_normal_read_line): Remove a space from the
29266 default prompt.
29267
714af9b9 292682009-12-27 Carles Pina i Estany <carles@pina.cat>
29269
29270 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
29271 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
29272 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
29273 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
29274 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
29275 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
29276 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
29277
82f3e412 292782009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 29279
29280 * video/readers/jpeg.c (cmd): Declare.
29281 (grub_cmd_jpegtest): 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 * video/readers/png.c (cmd): Declare.
29286 (grub_cmd_pngtest): Use `grub_command_t' type.
29287 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
29288 Assign to `cmd'.
29289 (GRUB_MOD_FINI): Use `cmd' to unregister.
29290 * video/readers/tga.c (cmd): Declare.
29291 (grub_cmd_tgatest): Use `grub_command_t' type.
29292 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
29293 Assign to `cmd'.
29294 (GRUB_MOD_FINI): Use `cmd' to unregister.
29295
82f3e412 292962009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 29297
29298 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
29299 stops.
29300 * kern/corecmd.c (grub_register_core_commands): Likewise.
29301 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
29302 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
29303 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
29304 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
29305 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
29306 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
29307 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
29308 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
29309 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
29310 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
29311 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
29312 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
29313 * normal/handler.c (insert_handler): Likewise.
29314 * normal/main.c (GRUB_MOD_INIT): Likewise.
29315 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
29316
fdcdbb66 293172009-12-26 Carles Pina i Estany <carles@pina.cat>
29318
29319 * commands/help.c (grub_cmd_help): Print the command name before the
29320 summary.
29321 (GRUB_MOD_INIT): Remove command name from the summary.
29322 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 29323 string as summary.
fdcdbb66 29324 * lib/arg.c (find_long): Print the command name before the summary.
29325 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
29326 summary.
29327 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
29328 * commands/cat.c (GRUB_MOD_INIT): Likewise.
29329 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
29330 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
29331 * commands/crc.c (GRUB_MOD_INIT): Likewise.
29332 * commands/date.c (GRUB_MOD_INIT): Likewise.
29333 * commands/echo.c (GRUB_MOD_INIT): Likewise.
29334 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
29335 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
29336 * commands/handler.c (GRUB_MOD_INIT): Likewise.
29337 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
29338 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
29339 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
29340 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
29341 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
29342 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
29343 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
29344 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
29345 * commands/ls.c (GRUB_MOD_INIT): Likewise.
29346 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
29347 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
29348 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
29349 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
29350 * commands/password.c (GRUB_MOD_INIT): Likewise.
29351 * commands/probe.c (GRUB_MOD_INIT): Likewise.
29352 * commands/read.c (GRUB_MOD_INIT): Likewise.
29353 * commands/search.c (GRUB_MOD_INIT): Likewise.
29354 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
29355 * commands/test.c (GRUB_MOD_INIT): Likewise.
29356 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
29357 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
29358 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
29359 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
29360 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
29361 * lib/arg.c (GRUB_MOD_INIT): Likewise.
29362 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
29363 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
29364 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
29365 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
29366 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
29367 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
29368 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
29369 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
29370
9c288be2
VS
293712009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
29372
29373 Use search command for preliminar UUID search.
29374
29375 * commands/search.c: Split into ...
29376 * commands/search_wrap.c: ...this
29377 * commands/search.c: ...and this.
29378 * commands/search_file.c: New file.
29379 * commands/search_label.c: New file.
29380 * commands/search_uuid.c: New file.
29381 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
29382 Add commands/search_wrap.c, commands/search_file.c,
29383 commands/search_label.c and commands/search_uuid.c.
29384 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
29385 (search_mod_SOURCES): Set to commands/search_wrap.c.
29386 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
29387 search_label.mod.
29388 (search_fs_file_mod_SOURCES): New variable.
29389 (search_fs_file_mod_CFLAGS): Likewise.
29390 (search_fs_file_mod_LDFLAGS): Likewise.
29391 (search_label_mod_SOURCES): Likewise.
29392 (search_label_mod_CFLAGS): Likewise.
29393 (search_label_mod_LDFLAGS): Likewise.
29394 (search_fs_uuid_mod_SOURCES): New variable.
29395 (search_fs_uuid_mod_CFLAGS): Likewise.
29396 (search_fs_uuid_mod_LDFLAGS): Likewise.
29397 (fs_file_mod_SOURCES): Removed.
29398 (fs_file_mod_CFLAGS): Likewise.
29399 (fs_file_mod_LDFLAGS): Likewise.
29400 (fs_uuid_mod_SOURCES): Removed.
29401 (fs_uuid_mod_CFLAGS): Likewise.
29402 (fs_uuid_mod_LDFLAGS): Likewise.
29403 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
29404 Set to util/grub-install.in.
29405 * disk/fs_file.c: Removed.
29406 * disk/fs_uuid.c: Likewise.
29407 * include/grub/search.h: New file.
29408 * util/grub-install.in: Handle sparc64.
29409 Create and use load.cfg.
29410 * util/sparc64/ieee1275/grub-install.in: Removed.
29411
db943399
VS
294122009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
29413
29414 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
29415 Ignore return status if CF is cleared.
29416 (grub_biosdisk_get_diskinfo_standard): Likewise.
29417
3fdae612
RM
294182009-12-25 Robert Millan <rmh.grub@aybabtu.com>
29419
29420 * term/i386/pc/at_keyboard.c
29421 (keyboard_controller_wait_untill_ready): New function.
29422 (grub_keyboard_controller_write, grub_keyboard_controller_read)
29423 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
29424 for keyboard polling, rather than duplicate the same loop. This
29425 saves a few bytes in code size.
29426
7ebaa2b4
VS
294272009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
29428
29429 Support for (pxe[:server[:gateway]]) syntax and
29430 use environment variable for PXE.
29431
29432 * commands/i386/pc/pxecmd.c (options): Removed.
29433 (print_ip): Removed.
29434 (grub_cmd_pxe): Removed
29435 (grub_cmd_pxe_unload): New function.
29436 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
29437 (grub_pxe_your_ip): Made static.
29438 (grub_pxe_default_server_ip): Likewise.
29439 (grub_pxe_default_gateway_ip): Likewise.
29440 (grub_pxe_blksize): Likewise.
29441 (parse_ip): New function.
29442 (grub_pxe_open): Support server and gateway specification.
29443 (grub_pxe_close): Free disk->data.
29444 (grub_pxefs_open): Use disk->data.
29445 (grub_pxefs_read): Likewise.
29446 (grub_env_write_readonly): New function.
29447 (set_mac_env): Likewise.
29448 (set_env_limn_ro): Likewise.
29449 (parse_dhcp_vendor): Likewise.
29450 (grub_pxe_detect): Set the environment variables.
29451 (set_ip_env): New function.
29452 (write_ip_env): Likewise.
29453 (grub_env_write_pxe_default_server): Likewise.
29454 (grub_env_write_pxe_default_gateway): Likewise.
29455 (grub_env_write_pxe_blocksize): Likewise.
29456 (GRUB_MOD_INIT(pxe)): Set environment variables.
29457 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
29458 (grub_pxe_mac_addr_t): ... this. All users updated.
29459 (grub_pxe_your_ip): Removed.
29460 (grub_pxe_server_ip): Likewise.
29461 (grub_pxe_gateway_ip): Likewise.
29462 (grub_pxe_blksize): Likewise.
29463
ec5f98ab 294642009-12-25 Carles Pina i Estany <carles@pina.cat>
29465
29466 * commands/help.c: Include `<grub/i18n.h>'.
29467 (grub_cmd_help): Gettextizze.
29468 (GRUB_MOD_INIT): Likewise.
29469 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
29470 (GRUB_MOD_INIT): Gettextizze.
29471 * commands/search.c: Include `<grub/i18n.h>'.
29472 (options): Gettextizze.
29473 (GRUB_MOD_INIT): Gettextizze.
29474 * lib/arg.c: Include `<grub/i18n.h>'.
29475 (help_options): Gettextizze.
29476 (find_long): Likewise.
29477 (grub_arg_show_help): Likewise.
29478 * normal/dyncmd.c: Include `<grub/i18n.h>'.
29479 (read_command_list): Gettextizze.
29480 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 29481 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 29482
22815526
RM
294832009-12-25 Robert Millan <rmh.grub@aybabtu.com>
29484
29485 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
29486 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
29487 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
29488 (led_status): New variable.
29489 (keyboard_controller_led): New function.
29490 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
29491 update led status for caps lock, num lock and scroll lock.
29492
0ad46fd7
FZ
294932009-12-25 Felix Zielcke <fzielcke@z-51.de>
29494
29495 * util/hostdisk.c (open_device): Fix a comment.
29496
d0e158c2
RM
294972009-12-24 Robert Millan <rmh.grub@aybabtu.com>
29498
29499 * util/grub-install.in (host_os): New variable.
29500 * util/i386/efi/grub-install.in (host_os): Likewise.
29501
401c0ad6
RM
295022009-12-24 Robert Millan <rmh.grub@aybabtu.com>
29503
29504 * util/mkisofs/write.c (padblock_write): Abort when given an
29505 excedingly large embed image, instead of silently truncating it.
29506
d14d3370
RM
295072009-12-24 Robert Millan <rmh.grub@aybabtu.com>
29508
29509 * include/multiboot.h: Indentation fixes.
29510
eeed10b4
RM
295112009-12-24 Robert Millan <rmh.grub@aybabtu.com>
29512
29513 * include/multiboot.h (struct multiboot_aout_symbol_table)
29514 (struct multiboot_elf_section_header_table): New structure
29515 declarations (stolen from GRUB Legacy).
29516 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
29517 table information.
29518
29519 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
29520 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
29521 type aliases.
29522
681c70ab
RM
295232009-12-24 Robert Millan <rmh.grub@aybabtu.com>
29524
29525 * include/multiboot.h: Make comments src2texi-friendly.
29526
e4d47d8d
RM
295272009-12-24 Robert Millan <rmh.grub@aybabtu.com>
29528
29529 For consistency with [multiboot]/docs/boot.S.
29530
29531 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
29532 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
29533 (MULTIBOOT_MAGIC2): Rename from this ...
29534 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
29535
a0b70bda
RM
295362009-12-24 Robert Millan <rmh.grub@aybabtu.com>
29537
29538 * include/multiboot.h: Remove `<grub/types.h>'.
29539 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
29540 types. Update all users.
29541
61ba42be 295422009-12-25 Carles Pina i Estany <carles@pina.cat>
29543
29544 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
29545 `couldn't' and `can not' by `cannot'.
29546 * commands/i386/pc/drivemap.c: Likewise.
29547 * disk/ata.c: Likewise.
29548 * disk/ieee1275/nand.c: Likewise.
29549 * fs/affs.c: Likewise.
29550 * fs/fat.c: Likewise.
29551 * fs/hfs.c: Likewise.
29552 * fs/hfsplus.c: Likewise.
29553 * fs/iso9660.c: Likewise.
29554 * fs/jfs.c: Likewise.
29555 * fs/minix.c: Likewise.
29556 * fs/reiserfs.c: Likewise.
29557 * fs/sfs.c: Likewise.
29558 * fs/udf.c: Likewise.
29559 * fs/ufs.c: Likewise.
29560 * fs/xfs.c: Likewise.
29561 * loader/powerpc/ieee1275/linux.c: Likewise.
29562 * loader/sparc64/ieee1275/linux.c: Likewise.
29563 * util/grub-probe.c: Likewise.
29564 * util/misc.c: Likewise.
29565
7fd0baee 295662009-12-24 Carles Pina i Estany <carles@pina.cat>
29567
29568 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
29569 grub_errno calls.
29570 * commands/acpi.c: Likewise.
29571 * commands/blocklist.c: Likewise.
29572 * commands/efi/loadbios.c: Likewise.
29573 * commands/i386/pc/drivemap.c: Likewise.
29574 * commands/loadenv.c: Likewise.
29575 * commands/memrw.c: Likewise.
29576 * commands/password.c: Likewise.
29577 * commands/videotest.c: Likewise.
29578 * disk/ata.c: Likewise.
29579 * disk/ata_pthru.c: Likewise.
29580 * disk/dmraid_nvidia.c: Likewise.
29581 * disk/ieee1275/nand.c: Likewise.
29582 * disk/ieee1275/ofdisk.c: Likewise.
29583 * disk/loopback.c: Likewise.
29584 * disk/lvm.c: Likewise.
29585 * disk/mdraid_linux.c: Likewise.
29586 * disk/raid.c: Likewise.
29587 * disk/raid6_recover.c: Likewise.
29588 * disk/scsi.c: Likewise.
29589 * efiemu/main.c: Likewise.
29590 * efiemu/mm.c: Likewise.
29591 * efiemu/pnvram.c: Likewise.
29592 * efiemu/symbols.c: Likewise.
29593 * font/font.c: Likewise.
29594 * fs/cpio.c: Likewise.
29595 * fs/hfsplus.c: Likewise.
29596 * fs/iso9660.c: Likewise.
29597 * fs/jfs.c: Likewise.
29598 * fs/minix.c: Likewise.
29599 * fs/ntfs.c: Likewise.
29600 * fs/ntfscomp.c: Likewise.
29601 * fs/reiserfs.c: Likewise.
29602 * fs/ufs.c: Likewise.
29603 * fs/xfs.c: Likewise.
29604 * gettext/gettext.c: Likewise.
29605 * include/grub/auth.h: Likewise.
29606 * kern/elf.c: Likewise.
29607 * kern/file.c: Likewise.
29608 * kern/ieee1275/init.c: Likewise.
29609 * kern/ieee1275/mmap.c: Likewise.
29610 * kern/ieee1275/openfw.c: Likewise.
29611 * kern/powerpc/dl.c: Likewise.
29612 * kern/sparc64/dl.c: Likewise.
29613 * lib/arg.c: Likewise.
29614 * loader/i386/bsd.c: Likewise.
29615 * loader/i386/bsdXX.c: Likewise.
29616 * loader/i386/efi/linux.c: Likewise.
29617 * loader/i386/efi/xnu.c: Likewise.
29618 * loader/i386/ieee1275/linux.c: Likewise.
29619 * loader/i386/linux.c: Likewise.
29620 * loader/i386/multiboot.c: Likewise.
29621 * loader/i386/pc/linux.c: Likewise.
29622 * loader/i386/pc/multiboot2.c: Likewise.
29623 * loader/i386/xnu.c: Likewise.
29624 * loader/ieee1275/multiboot2.c: Likewise.
29625 * loader/macho.c: Likewise.
29626 * loader/machoXX.c: Likewise.
29627 * loader/multiboot2.c: Likewise.
29628 * loader/multiboot_loader.c: Likewise.
29629 * loader/powerpc/ieee1275/linux.c: Likewise.
29630 * loader/sparc64/ieee1275/linux.c: Likewise.
29631 * loader/xnu.c: Likewise.
29632 * loader/xnu_resume.c: Likewise.
29633 * mmap/i386/pc/mmap.c: Likewise.
29634 * normal/menu_viewer.c: Likewise.
29635 * partmap/acorn.c: Likewise.
29636 * partmap/amiga.c: Likewise.
29637 * partmap/apple.c: Likewise.
29638 * script/lexer.c: Likewise.
29639 * term/gfxterm.c: Likewise.
29640 * term/i386/pc/serial.c: Likewise.
29641 * term/i386/pc/vga.c: Likewise.
29642 * term/ieee1275/ofconsole.c: Likewise.
29643 * term/terminfo.c: Likewise.
29644 * video/bitmap.c: Likewise.
29645 * video/efi_gop.c: Likewise.
29646 * video/efi_uga.c: Likewise.
29647 * video/fb/video_fb.c: Likewise.
29648 * video/i386/pc/vbe.c: Likewise.
29649 * video/readers/tga.c: Likewise.
29650 * video/video.c: Likewise.
29651
0ad46fd7 296522009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
29653
29654 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
29655 * commands/lspci.c: Likewise.
29656 * commands/probe.c: Likewise.
29657 * commands/xnu_uuid.c: Likewise.
29658 * conf/i386-coreboot.rmk: Likewise.
29659 * conf/i386-efi.rmk: Likewise.
29660 * conf/i386-ieee1275.rmk: Likewise.
29661 * conf/i386-pc.rmk: Likewise.
29662 * conf/powerpc-ieee1275.rmk: Likewise.
29663 * conf/sparc64-ieee1275.rmk: Likewise.
29664 * conf/x86_64-efi.rmk: Likewise.
29665 * fs/i386/pc/pxe.c: Likewise.
29666 * gettext/gettext.c: Likewise.
29667 * include/grub/efi/graphics_output.h: Likewise.
29668 * include/grub/i386/pc/memory.h: Likewise.
29669 * kern/env.c: Likewise.
29670 * kern/i386/qemu/startup.S: Likewise.
29671 * lib/i386/pc/biosnum.c: Likewise.
29672 * lib/i386/relocator.c: Likewise.
29673 * lib/i386/relocator_asm.S: Likewise.
29674 * lib/relocator.c: Likewise.
29675 * loader/i386/bsd.c: Likewise.
29676 * loader/i386/multiboot.c: Likewise.
29677 * loader/i386/pc/chainloader.c: Likewise.
29678 * loader/i386/xnu.c: Likewise.
29679 * loader/xnu.c: Likewise.
29680 * normal/main.c: Likewise.
29681 * normal/menu_text.c: Likewise.
29682 * util/getroot.c: Likewise.
29683 * util/grub-mkconfig_lib.in: Likewise.
29684 * util/grub.d/00_header.in: Likewise.
29685 * util/i386/pc/grub-mkimage.c: Likewise.
29686 * util/mkisofs/eltorito.c: Likewise.
29687 * util/mkisofs/exclude.h: Likewise.
29688 * util/mkisofs/hash.c: Likewise.
29689 * util/mkisofs/iso9660.h: Likewise.
29690 * util/mkisofs/joliet.c: Likewise.
29691 * util/mkisofs/mkisofs.c: Likewise.
29692 * util/mkisofs/mkisofs.h: Likewise.
29693 * util/mkisofs/multi.c: Likewise.
29694 * util/mkisofs/name.c: Likewise.
29695 * util/mkisofs/rock.c: Likewise.
29696 * util/mkisofs/tree.c: Likewise.
29697 * util/mkisofs/write.c: Likewise.
29698 * video/efi_gop.c: Likewise.
29699
009ec743
VS
297002009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
29701
29702 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
29703 size counting.
29704
0ad46fd7 297052009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
29706
29707 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
29708 * genmk.rb (class SCRIPT): Modify the target file instead of source.
29709
d3d30ea0
VS
297102009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
29711
29712 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
29713 (GRUB_MOD_INIT(memrw)): Update help line.
29714
a34f5c70
VS
297152009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
29716
29717 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
29718 Use grub_extcmd_t. All users updated.
29719 (options): New variable.
29720 (grub_cmd_read): Restructure for readability. Support "-v" option.
29721 (grub_cmd_write): Restructure for readability.
29722
0ad46fd7 297232009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
29724
29725 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
29726
0ad46fd7 297272009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
29728
29729 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
29730 with the actual contents of the correspondending make variable.
29731 * util/grub-mkrescue.in (pkglib_DATA): New variable.
29732 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
29733 specifying `*.lst' and `efiemu??.o'
29734
0ad46fd7 297352009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
29736
29737 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
29738 after function name.
29739 Noticed by Rene Engelhard <rene@debian.org>.
29740
dc77a799
VS
297412009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
29742
29743 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
29744 (options): New variable.
29745 (iospace): Likewise.
29746 (grub_lspci_iter): List IO spaces if "-i" was given.
29747 (grub_cmd_lspci): Parse options.
29748 (GRUB_MOD_INIT(lspci)): Use extcmd.
29749 (GRUB_MOD_FINI(lspci)): Likewise.
29750
0ad46fd7 297512009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
29752
29753 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
29754 `function' keyword.
29755 Patch by Tony Mancill <tmancill@debian.org>.
29756
b5d5993b
VS
297572009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
29758
29759 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
29760 (grub_uhci_portstatus): Likewise.
29761 (grub_uhci_portstatus): Add necessary delay.
11d18281 29762 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 29763
941903f2 297642009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 29765
941903f2 29766 * commands/acpi.c (options): Fix capitalizations and/or full stops.
29767 (GRUB_MOD_INIT): Likewise.
29768 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 29769 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
29770 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 29771 * commands/efi/loadbios.c (enable_rom_area): Likewise.
29772 (enable_rom_area): Likewise.
29773 (GRUB_MOD_INIT): Likewise.
29774 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
29775 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
29776 * commands/handler.c (GRUB_MOD_INIT): Likewise.
29777 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
29778 * commands/hexdump.c (options): Likewise.
29779 * commands/i386/cpuid.c (options): Likewise.
29780 (GRUB_MOD_INIT): Likewise.
29781 * commands/i386/pc/drivemap.c (options): Likewise.
29782 (GRUB_MOD_INIT): Likewise.
29783 * commands/i386/pc/halt (options): Likewise.
29784 (GRUB_MOD_INIT): Likewise.
29785 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
29786 * commands/i386/pc/pxecmd.c (options): Likewise.
29787 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
29788 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
29789 * commands/keystatus.c (options): Likewise.
29790 (GRUB_MOD_INIT): Likewise.
29791 * commands/loadenv.c (options): Likewise.
29792 * commands/ls.c (options): Likewise.
29793 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
29794 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
29795 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
29796 * commands/parttool.c (helpmsg): Likewise.
29797 * commands/probe.c (options): Likewise.
29798 * commands/read.c (GRUB_MOD_INIT): Likewise.
29799 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
29800 * commands/search.c (options): Likewise.
29801 * commands/sleep.c (options): Likewise.
29802 * commands/test.c (GRUB_MOD_INIT): Likewise.
29803 * commands/true.c (GRUB_MOD_INIT): Likewise.
29804 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
29805 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
29806 * lib/arg.c (help_options): Likewise.
e9bbb4e7 29807 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
29808 `$(XGETTEXT)'.
98a50553 29809 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 29810
0ad46fd7 298112009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 29812
ef3c2c3a 29813 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
29814 instead of specifying them explicit.
29815
7922f68b
RM
298162009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29817
29818 * NEWS: Add grub-probe support for GNU/Hurd.
29819
537ce47f
RM
298202009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29821
29822 * NEWS: gettext was added after 1.97.
29823
9b214e3a
RM
298242009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29825
29826 * util/mkisofs/msdos_partition.h: New file (based on
29827 include/grub/msdos_partition.h).
29828 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
29829 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
29830 (ld_options, main): Recognize --protective-msdos-label.
29831 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
29832 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
29833 (padblock_write): If `use_protective_msdos_label' is set, patch a
29834 protective DOS-style label in the output image.
29835
29836 * util/grub-mkrescue.in: Use --protective-msdos-label.
29837
e9309813
RM
298382009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29839
29840 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
29841 boot.
29842
0ae56929
RM
298432009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29844
29845 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
29846 variables.
29847 (ld_options, main): Recognize `--embedded-boot'.
29848 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
29849 declarations.
29850 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
29851 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
29852 (padblock_write): Likewise. Rewrite to support embedded boot image.
29853
29854 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
29855 for BIOS-based disk boot instead of only ElTorito.
29856
b15937b1
RM
298572009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29858
29859 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
29860 build (not needed for bootstrap).
29861
52cc3ce0
RM
298622009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29863
29864 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
29865 from i386-pc build (not needed for bootstrap).
29866 Rewrite a pair of strings.
29867
36f5ff04
RM
298682009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29869
29870 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
29871
973c6c85 298722009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
29873
29874 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
29875
05d21547
AB
298762009-12-21 Andreas Born <futur.andy@googlemail.com>
29877
29878 * kern/env.c (grub_env_context_open): Mark exported variable for
29879 reexport.
29880
0175d51f
AB
298812009-12-21 Andreas Born <futur.andy@googlemail.com>
29882
29883 * kern/env.c (grub_env_export): Create nonexistent variables before
29884 exporting.
29885
7f39d92f 298862009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 29887
7f39d92f 29888 * include/grub/auth.h: Include `<grub/i18n.h>'.
29889 (GRUB_GET_PASSWORD): Gettextizze string.
29890 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
29891 menu_text.c.
29892 (grub_utf8_to_ucs4_alloc): Fix indentation.
29893 (grub_print_ucs4): Likewise.
29894 (grub_getstringwidth): Likewise.
29895 (print_message_indented): New declaration.
29896 * normal/auth.c: Include `<grub/i18n.h>'.
29897 (grub_auth_check_authentication): Gettexttize string.
29898 * normal/cmdline.c: Include `<grub/i18n.h>'.
29899 (grub_cmdline_get): Gettextizze.
29900 * normal/color.c: Include `<grub/i18n.h>'.
29901 (grub_parse_color_name_pair): Gettexttize strings.
29902 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
29903 string (use `print_message_indented').
29904 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
29905 `include/grub/normal.h'.
29906 (print_message_indented): Renamed to ...
29907 (grub_print_message_indented): ... this. Remove `static' qualifer (now
29908 used in normal/main.c).
29909 (print_message): Use `grub_print_message_indented' instead of
29910 `print_message_indented'.
29911 (print_timeout): Likewise.
29912 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
29913 (grub_normal_print_device_info): Gettexttize strings.
29914 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
29915
3041d898
VS
299162009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
29917
29918 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
29919 of arguments. Return number of tokens and not arguments. All users
29920 updated.
29921
de15bf8e
VS
299222009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
29923
29924 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
29925 non-MSDOS paritions.
29926
e0a6ca52
VS
299272009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
29928
29929 * include/grub/types.h (UNUSED): Removed since it conflicts with
29930 NetBSD headers. All users changed to direct __attribute__ ((unused)).
29931 Reported by Grégoire Sutre.
29932
b99518d1 299332009-12-19 Carles Pina i Estany <carles@pina.cat>
29934
29935 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
29936 (grub_print_ucs4_alloc): Likewise.
29937 (grub_getstringwidth): Likewise.
29938 * normal/main.c (grub_normal_init_page): Gettextize version string.
29939 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
29940 (getstringwidth): Renamed to ...
29941 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
29942 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
29943 (grub_print_ucs4): Remove `static' qualifer (now used in
29944 normal/main.c).
29945 * po/POTFILES: Add normal/main.c.
29946
bfd5e52b 299472009-12-19 Carles Pina i Estany <carles@pina.cat>
29948
29949 * normal/menu_text.c (STANDARD_MARGIN): New macro.
29950 (print_message_indented): Add `margin_left' and `margin_right'
29951 parameters.
29952 (print_message): Update `print_message_indented' calls. Adds '\n' to the
29953 strings.
29954 (print_timeout): Use `print_message_indented' to print the message.
29955 Deletes `second_stage' parameter.
29956 (run_menu): Update `print_timeout' calls.
29957
5a1ad2b9
VS
299582009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
29959
29960 Fix console palette on OpenFirmware.
29961
29962 * term/ieee1275/ofconsole.c (MAX): Removed.
29963 (colors): Redone based on VGA palette.
29964 (grub_ofconsole_setcolor): Discard brightness bit since only 8
29965 colors are supported.
29966 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
29967
b045f00a
VS
299682009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
29969
29970 Fix potential EfiEmu double prepare.
29971
29972 * efiemu/main.c (prepared): New variable
29973 (grub_efiemu_unload): Set prepare to '0'.
29974 (grub_efiemu_prepare): Return if already prepared. Set prepared.
29975
29976 set_virtual_address_map support.
29977
29978 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
29979 prototype.
29980 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
29981 prototype.
29982 (grub_efiemu_crc32): Likewise.
29983 (grub_efiemu_crc64): Likewise.
29984 (grub_efiemu_set_virtual_address_map): Likewise.
29985 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
29986 New definition.
29987 (grub_autoefi_set_virtual_address_map): Likewise.
29988 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
29989 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
29990 Restructure flow to accomodate it.
29991 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
29992 (grub_efiemu_crc): Recompute CRC32.
29993 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
29994 (efiemu_ptv_relocated): ... this. Made global. All users updated.
29995 * efiemu/symbols.c (relocated_handle): New variable.
29996 (grub_efiemu_free_syms): Free relocated_handle.
29997 (grub_efiemu_alloc_syms): Allocate relocated_handle.
29998 (grub_efiemu_write_sym_markers): New function.
29999 (grub_efiemu_set_virtual_address_map): Likewise.
30000
30001 Newer XNU parameters.
30002
30003 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
30004 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
30005 (grub_xnu_fill_devicetree): New prototype.
30006 (grub_xnu_heap_real_start): New variable.
30007 * loader/xnu.c (get_name_ptr): New function.
30008 (grub_xnu_load_driver): Fill namelen and name.
30009
30010 64-bit xnu support.
30011
30012 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
30013 and 'loader/macho64.c'.
30014 * conf/i386-pc.rmk: Likewise.
30015 * conf/x86_64-efi.rmk: Likewise.
30016 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
30017 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
30018 * include/grub/macho.h (grub_macho_segment64): New structure.
30019 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
30020 (grub_macho_size32): ... to this.
30021 (grub_macho32_get_entry_point): Renamed from ...
30022 (grub_macho_get_entry_point32): ... to this.
30023 (grub_macho_contains_macho64): New prototype.
30024 (grub_macho_size64): Likewise.
30025 (grub_macho_get_entry_point64): Likewise.
30026 (grub_macho32_load): Renamed from ...
30027 (grub_macho_load32): ... to this.
30028 (grub_macho32_filesize): Renamed from ...
30029 (grub_macho_filesize32): ... to this.
30030 (grub_macho32_readfile): Renamed from ...
30031 (grub_macho_readfile32): ... to this.
30032 (grub_macho_filesize64): New prototype.
30033 (grub_macho_readfile64): Likewise.
30034 (grub_macho_parse32): Likewise.
30035 (grub_macho_parse64): Likewise.
30036 * loader/macho.c: Split into ...
30037 * loader/machoXX.c: ... and this. Replace 32 with XX.
30038 * loader/macho32.c: New file.
30039 * loader/macho64.c: Likewise.
30040 * loader/xnu.c (grub_xnu_is_64bit): New variable.
30041 (grub_cmd_xnu_kernel): Make 32-bit only.
30042 (grub_cmd_xnu_kernel64): New function.
30043 (grub_xnu_load_driver): Support Mach-O 64.
30044 (grub_cmd_xnu_mkext): Likewise.
30045 * util/grub.d/30_os-prober.in (osx_entry): New function.
30046 Generate entries for 64-bit boot too.
30047
30048 Eliminate ad-hoc tree format in XNU and EfiEmu.
30049
30050 * efiemu/main.c (grub_efiemu_prepare): Update comment.
30051 * efiemu/pnvram.c: Rewritten to use environment variables.
30052 All users updated.
30053
30054 Inline utf16_to_utf8.
30055
30056 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
30057 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
30058 All users updated.
30059 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
30060
30061 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
30062 * commands/usbtest.c (grub_usb_get_string): ... move here.
30063 (usb_print_str): Fix error handling.
30064 * include/grub/usb.h (grub_usb_get_string): Remove.
30065
30066 UTF-8 to UTF-16 transformation.
30067
30068 * conf/common.rmk (pkglib_MODULES): Add charset.mod
30069 (charset_mod_SOURCES): New variable.
30070 (charset_mod_CFLAGS): Likewise.
30071 (charset_mod_LDFLAGS): Likewise.
30072 * include/grub/utf.h: New file.
30073 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
30074
30075 Support for device properties.
30076
30077 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
30078 (grub_xnu_devprop_device_header): Likewise.
30079 (grub_xnu_devprop_device_descriptor): Likewise.
30080 (grub_xnu_devprop_add_device): New prototype.
30081 (grub_xnu_devprop_remove_device): Likewise.
30082 (grub_xnu_devprop_remove_property): Likewise.
30083 (grub_xnu_devprop_add_property_utf8): Likewise.
30084 (grub_xnu_devprop_add_property_utf16): Likewise.
30085 (grub_cpu_xnu_init): Likewise.
30086 (grub_cpu_xnu_fini): Likewise.
30087 (grub_cpu_xnu_unload): Likewise.
30088 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
30089 (property_descriptor): Likewise.
30090 (devices): New variable.
30091 (grub_xnu_devprop_remove_property): New function.
30092 (grub_xnu_devprop_add_device): Likewise.
30093 (grub_xnu_devprop_remove_device): Likewise.
30094 (grub_xnu_devprop_add_property): Likewise.
30095 (grub_xnu_devprop_add_property_utf8): Likewise.
30096 (grub_xnu_devprop_add_property_utf16): Likewise.
30097 (hextoval): Likewise.
30098 (grub_cpu_xnu_fill_devprop): Likewise.
30099 (grub_cmd_devprop_load): Likewise.
30100 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
30101 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
30102 (cmd_devprop_load): New variable.
30103 (grub_cpu_xnu_init): New function.
30104 (grub_cpu_xnu_fini): Likewise.
30105 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
30106 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
30107 (grub_cmd_xnu_devtree): Likewise.
30108 (hextoval): New function.
30109 (unescape): Likewise.
30110 (grub_xnu_fill_devicetree): Likewise.
30111
30112 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
30113 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
30114
0945f181
VS
301152009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
30116
30117 Workaround for broken ATI VBE.
30118
30119 * video/i386/pc/vbe.c (last_set_mode): New variable.
30120 (grub_vbe_set_video_mode): Set 'last_set_mode'.
30121 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
30122 (grub_video_vbe_setup): Don't check for reserved flag.
30123
0ad46fd7 301242009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
30125
30126 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
30127 the `find' command.
30128
c179ebe4
VS
301292009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
30130
30131 UUID support for HFS.
30132
30133 * fs/hfs.c (grub_hfs_uuid): New function.
30134 (grub_hfs_fs): New value .uuid.
30135 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
30136
0ad46fd7 301372009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
30138
30139 Fix a segfault with parsing unknown long options.
30140
30141 * util/grub-mkrelpath.c (options): Zero terminate it.
30142
c4a3e41a
CPE
301432009-12-13 Carles Pina i Estany <carles@pina.cat>
30144
30145 * include/grub/misc.h (grub_puts): New declaration.
30146 (grub_puts_): Likewise.
a22008a6 30147 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
30148 (grub_puts_): Likewise.
30149
2e8a7602
RM
301502009-12-13 Robert Millan <rmh.grub@aybabtu.com>
30151
30152 * util/grub-probe.c (probe): Improve error message.
30153
b50b77b9
RM
301542009-12-13 Robert Millan <rmh.grub@aybabtu.com>
30155
30156 * loader/i386/multiboot_elfxx.c
30157 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
30158 initialization.
30159
301602009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
30161
30162 Relocator framework
30163
30164 * loader/i386/xnu_helper.S: Removed. All users updated.
30165 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
30166 (relocator_mod_SOURCES): New variable.
30167 (relocator_mod_CFLAGS): Likewise.
30168 (relocator_mod_LDFLAGS): Likewise.
30169 (relocator_mod_ASFLAGS): Likewise.
30170 * conf/x86_64.rmk: Likewise.
30171 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
30172 (grub_multiboot_payload_entry_offset): Likewise.
30173 (grub_multiboot_forward_relocator): Likewise.
30174 (grub_multiboot_forward_relocator_end): Likewise.
30175 (grub_multiboot_backward_relocator): Likewise.
30176 (grub_multiboot_backward_relocator_end): Likewise.
30177 (grub_multiboot_payload_eip): New variable.
30178 (grub_multiboot_payload_orig): Likewise.
30179 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
30180 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
30181 * include/grub/i386/memory.h
30182 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
30183 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
30184 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
30185 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
30186 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
30187 * include/grub/i386/relocator.h: New file.
30188 * include/grub/x86_64/relocator.h: Likewise.
30189 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
30190 (XNU_RELOCATOR): New macro.
30191 (grub_xnu_launcher_start): Remove.
30192 (grub_xnu_launcher_end): Likewise.
30193 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
30194 (grub_xnu_heap_real_start): Remove.
30195 (grub_xnu_heap_start): Change to void *. All users updated.
30196 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
30197 * lib/i386/relocator.c: New file.
30198 * lib/i386/relocator_asm.S: Likewise.
30199 * lib/i386/relocator_backward.S: Likewise.
30200 * lib/mips/relocator.c: Likewise.
30201 * lib/mips/relocator_asm.S: Likewise.
30202 * lib/relocator.c: Likewise.
30203 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
30204 (entry): Removed.
30205 (playground): Likewise.
30206 (grub_multiboot_payload_orig): New variable.
30207 (grub_multiboot_payload_dest): Likewise.
30208 (grub_multiboot_payload_size): Likewise.
30209 (grub_multiboot_payload_eip): Likewise.
30210 (grub_multiboot_payload_esp): Likewise.
30211 (grub_multiboot_boot): Use grub_relocator32_boot.
30212 (grub_multiboot_unload): Free relocators.
30213 (grub_multiboot): Setup stack. Use relocators.
30214 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
30215 (grub_multiboot_load_elfXX): Use relocators.
30216 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
30217 (grub_multiboot_payload_size): Likewise.
30218 (grub_multiboot_payload_dest): Likewise.
30219 (grub_multiboot_payload_entry_offset): Likewise.
30220 (grub_multiboot_forward_relocator): Likewise.
30221 (grub_multiboot_backward_relocator): Likewise.
30222 (grub_multiboot_real_boot): Likewise.
30223 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
30224 (grub_xnu_entry_point): Likewise.
30225 (grub_xnu_arg1): Likewise.
30226 (grub_xnu_stack): Likewise.
30227 (grub_xnu_launch): Removed.
30228 (grub_xnu_boot_resume): New function.
30229 (grub_xnu_boot): Use relocators.
30230 * loader/i386/xnu_helper.S: Removed.
30231 * loader/xnu.c (grub_xnu_heap_start): New variable.
30232 (grub_xnu_heap_size): Likewise.
30233 (grub_xnu_heap_malloc): Use relocators.
30234 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
30235
29eb90c6
VS
302362009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
30237
30238 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
30239 anything.
30240
31027430
CPE
302412009-12-13 Carles Pina i Estany <carles@pina.cat>
30242
30243 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
30244 GRUB_ERR_NONE before calling grub_env_set.
30245
dc0c71d9
RM
302462009-12-12 Robert Millan <rmh@aybabtu.com>
30247
30248 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
30249 * genmk.rb (video): New variable.
30250 (CLEANFILES, VIDEOFILES): Add #{video}.
30251 (#{video}): New target rule.
30252 * genvideolist.sh: New file.
30253 * Makefile.in (pkglib_DATA): Add video.lst.
30254 (video.lst): New target rule.
30255 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
30256 `video.lst'.
30257 * util/grub.d/30_os-prober.in: Replace `vbe' with
30258 ${GRUB_VIDEO_BACKEND}.
30259
2a4bfcf0
RM
302602009-12-11 Robert Millan <rmh.grub@aybabtu.com>
30261
30262 * THANKS: Add David Miller.
30263
2a3aa4d5
RM
302642009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
30265
30266 libpciaccess support.
30267
30268 * Makefile.in (LIBPCIACCESS): New variable.
30269 (enable_grub_emu_pci): Likewise.
30270 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
30271 util/pci.c and commands/lspci.c.
30272 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
30273 * configure.ac (grub-emu-pci): New option.
30274 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
30275 (grub_pci_device_unmap_range): Likewise.
30276 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
30277 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
30278 (grub_pci_address_t) [!GRUB_UTIL]: New type.
30279 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
30280 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
30281 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
30282 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
30283 * include/grub/pciutils.h: New file.
30284 * util/pci.c: Likewise.
30285
0ad46fd7 302862009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
30287
30288 * util/misc.c: Don't include <errno.h> twice.
30289
0ad46fd7 302902009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
30291
30292 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
30293 name in an error message.
30294 (grub_biosdisk_rw): Likewise.
30295
2e59983c
VS
302962009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
30297
30298 Eliminate NTFS 4Gib barrier.
30299
30300 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
30301 (read_run_data): Likewise.
30302 (grub_ntfs_read_run_list): Likewise.
30303 (grub_ntfs_read_block): Likewise.
30304 (grub_ntfs_iterate_dir): Likewise.
30305 (read_mft): Likewise.
30306 (read_data): Likewise.
30307 Use COM_LOG_LEN.
30308 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
30309 to avoid 64-bit division
30310 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
30311 (grub_ntfs_rlst): Use grub_disk_addr_t.
30312
71ee178a
VS
303132009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
30314
30315 Eliminate grub-fstest 4Gib barrier.
30316
30317 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
30318 (read_file): Fix error reporting.
30319
2520d4b8
VS
303202009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
30321
30322 Eliminate hexdump 4Gib barrier.
30323
30324 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
30325 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
30326
e1f27065
VS
303272009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
30328
30329 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
30330 Fixes amarsh bug.
30331
1a0f7f45
RM
303322009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
30333
30334 Remove miscellaneous files in distclean target.
30335
30336 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
30337
c631d9fb
CW
303382009-12-09 Colin Watson <cjwatson@ubuntu.com>
30339
30340 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
30341 if they're already set. This resolves the conflict between my
30342 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
30343 fixing the --grub-probe option again.
30344 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
30345 change on 2009-10-06, so that we now once again source
30346 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
30347
7c7b6106
RM
303482009-12-08 Robert Millan <rmh.grub@aybabtu.com>
30349
30350 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
30351 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
30352 `util/devicemap.c'.
30353
e3069ec1
CPE
303542009-12-08 Carles Pina i Estany <carles@pina.cat>
30355
30356 * include/grub/misc.h (grub_printf_): New declaration.
30357 * kern/misc.c (grub_printf_): New definition.
30358 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
30359 instead of `grub_printf' and `_'.
30360 * normal/menu_entry.c (store_completion): Likewise.
30361 (run): Likewise.
30362 (grub_menu_entry_run): Likewise.
30363 * normal/menu_text.c (grub_wait_after_message): Likewise.
30364 (notify_booting): Likewise.
30365 (notify_fallback): Likewise.
30366 (notify_execution_failure): Likewise.
30367
d6ceebf1
CW
303682009-12-07 Colin Watson <cjwatson@ubuntu.com>
30369
30370 * configure.ac: Check for vasprintf.
30371 * util/misc.c (asprintf): Move allocation from here ...
30372 (vasprintf): ... to here. New function.
30373 (xasprintf): New function.
30374 * include/grub/util/misc.h (vasprintf, xasprintf): Add
30375 prototypes.
30376 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
30377 * util/grub-mkfont.c (write_font): Likewise.
30378 * util/grub-probe.c (probe): Likewise.
30379 * util/hostdisk.c (make_device_name): Likewise.
30380
de6daa8b
DM
303812009-12-06 David S. Miller <davem@sunset.davemloft.net>
30382
30383 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
30384 anything even prefixed with 'cdrom' as a cdrom.
30385
0ad46fd7 303862009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
30387
30388 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
30389 mount points.
30390
98d3dc02
CPE
303912009-12-05 Carles Pina i Estany <carles@pina.cat>
30392
30393 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
30394 grub_gettext_msg_list.
30395 (grub_gettext_gettranslation_from_position): Return const char *
30396 and not char *.
a2c1332b 30397 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
30398 returns from the list if existing there.
30399 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
30400 (grub_gettext_delete_list): Delete the list.
30401 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
30402 lang environment variable is changed.
30403 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
30404
b283f108
VS
304052009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
30406
30407 Rename kernel.mod to kernel.img.
30408
30409 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
30410 (kernel_mod_EXPORTS): Rename to ...
30411 (kernel_img_EXPORTS): ... this.
30412 (kernel_mod_SOURCES): Rename to ...
30413 (kernel_img_SOURCES): ... this.
30414 (kernel_mod_HEADERS): Rename to ...
30415 (kernel_img_HEADERS): ... this. All users updated.
30416 (kernel_mod_CFLAGS): Rename to ...
30417 (kernel_img_CFLAGS): ... this.
30418 (kernel_mod_ASFLAGS): Rename to ...
30419 (kernel_img_ASFLAGS): ... this.
30420 (kernel_mod_LDFLAGS): Rename to ...
30421 (kernel_img_LDFLAGS): ... this.
30422 * conf/x86_64-efi.rmk: Likewise.
30423 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
30424 (read_kernel_image): ... this. All users updated.
30425 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
30426
69055f8a
CPE
304272009-12-05 Carles Pina i Estany <carles@pina.cat>
30428
30429 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
30430 (print_spaces): New function.
30431 (grub_print_ucs4): New function.
30432 (getstringwidth): New function.
30433 (print_message_indented): New function.
30434 (print_message): Gettexttize strings using print_message_indented.
30435 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
30436 width.
30437 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 30438 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
30439 Gettextize.
30440 * normal/menu_entry.c (store_completion): Cleanup the gettextized
30441 string.
30442 (run): Likewise.
30443 (grub_menu_entry_run): Likewise.
30444 * PO/POTFILES: Add normal/menu_entry.c.
30445
f616f51c
VS
304462009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
30447
30448 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
30449
57bbe3be
CPE
304502009-12-05 Carles Pina i Estany <carles@pina.cat>
30451
30452 * util/grub-install.in: Install gettext .mo files.
30453 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
30454
013d67a1
CPE
304552009-12-05 Carles Pina i Estany <carles@pina.cat>
30456
30457 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
30458 grub_dprintf.
30459
fb954db0
RM
304602009-12-05 Robert Millan <rmh.grub@aybabtu.com>
30461
30462 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
30463 non-firmware-dependant one in realmode.S takes precedence.
30464
6b8474f8
RM
304652009-12-04 Robert Millan <rmh.grub@aybabtu.com>
30466
30467 * commands/halt.c: Replace misc arch-specific headers with
30468 `<grub/misc.h>'.
30469 * commands/reboot.c: Likewise.
30470 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
30471 `<grub/misc.h>'.
30472 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
30473 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
30474 (kernel_img_SOURCES): ... to here.
30475
30476 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
30477 * include/grub/i386/pc/init.h: Likewise.
30478 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
30479 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
30480
30481 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
30482
30483 * include/grub/i386/halt.h: Remove.
30484 * include/grub/i386/reboot.h: Likewise.
30485
30486 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
30487
4b2e6ca2
DM
304882009-12-03 David S. Miller <davem@sunset.davemloft.net>
30489
30490 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
30491 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
30492 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
30493 "progname.h"
30494 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
30495 * util/sparc64/ieee1275/grub-setup.c: Likewise.
30496 (usage): Add missing comma in printf.
30497
5239348f
RM
304982009-12-02 Robert Millan <rmh.grub@aybabtu.com>
30499
30500 Use the same reboot approach on i386 coreboot and qemu as we do on
30501 BIOS.
30502
30503 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
30504 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
30505 * kern/i386/reboot.c: Remove.
30506 * include/grub/i386/reboot.h (grub_reboot): Export function.
30507 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
30508 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
30509 0xf000:0xfff0 instead of 0xffff:0x0000.
30510 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
30511 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
30512
ef34cbd4
RM
305132009-11-30 Robert Millan <rmh.grub@aybabtu.com>
30514
30515 Fix $srcdir != $objdir build.
30516
30517 * Makefile.in (po/%.po): Rewrite as ...
30518 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
30519
dc9837ea
ST
305202009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
30521
30522 Fix GNU/Hurd grub-install crash.
30523 * util/grub-probe.c (probe): Try to access `path' only when it is not
30524 NULL.
30525
2f857f98
VS
305262009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
30527
30528 Correct module naming.
30529
30530 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
30531 (GRUB_MOD_INIT(efi_uga)): ... to this
30532 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
30533 (GRUB_MOD_FINI(efi_uga)): ... to this
30534 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
30535 (GRUB_MOD_INIT(efi_gop)): ... to this
30536 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
30537 (GRUB_MOD_FINI(efi_gop)): ... to this
30538
c5448046
RM
305392009-11-28 Robert Millan <rmh.grub@aybabtu.com>
30540
30541 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
30542 translatable.
30543 (usage): Translate `arg' strings using gettext().
30544 Thanks to Jordi Mallach for the suggestion.
30545
c85184ad
VS
305462009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
30547
30548 GOP support. Based on patch from Bean
30549 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
30550
30551 * video/efi_gop.c: New file.
30552 * include/grub/efi/graphics_output.h: Likewise.
30553 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
30554 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
30555 variables.
30556 * conf/x86_64-efi.rmk: Likewise.
30557
8a4c48d8
VS
305582009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
30559
30560 Rename efi_fb to efi_uga.
30561
30562 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
30563 'efi_uga.mod'.
30564 (efi_fb_mod_SOURCES): Rename this ...
30565 (efi_uga_mod_SOURCES): ... to this.
30566 (efi_fb_mod_CFLAGS): Rename this ...
30567 (efi_uga_mod_CFLAGS): ... to this.
30568 (efi_fb_mod_LDFLAGS): Rename this ...
30569 (efi_uga_mod_LDFLAGS): ... to this.
30570 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
30571 'efi_uga.mod'.
30572 (efi_fb_mod_SOURCES): Rename this ...
30573 (efi_uga_mod_SOURCES): ... to this.
30574 (efi_fb_mod_CFLAGS): Rename this ...
30575 (efi_uga_mod_CFLAGS): ... to this.
30576 (efi_fb_mod_LDFLAGS): Rename this ...
30577 (efi_uga_mod_LDFLAGS): ... to this.
30578 * video/efi_fb.c: Move this ...
30579 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
30580
fb6c1a7b
RM
305812009-11-27 Robert Millan <rmh.grub@aybabtu.com>
30582
30583 * po/README: New file. Explain our PO file workflow.
30584
3bc7896c
RM
305852009-11-27 Robert Millan <rmh.grub@aybabtu.com>
30586
30587 * po/ChangeLog: Remove. Move relevant entries back to ...
30588 * ChangeLog: ... here.
30589 * po/ca.po: Remove (now handled by TLP).
30590 * po/id.po: Likewise.
30591 * po/zh_CN.po: Likewise.
30592 * Makefile.in (LINGUAS): Initialize in a way that supports
30593 empty set.
30594
9ed4841d
RM
305952009-11-27 Robert Millan <rmh.grub@aybabtu.com>
30596
30597 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
30598 reliing on po/LINGUAS.
30599 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
30600 (po/%.po): ... this.
30601
0ad46fd7 306022009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
30603
30604 * util/i386/efi/grub-mkimage.c: Include "progname.h".
30605 (main): Use `program_name' instead of nonexistent `progname'.
30606
e30dd392
FZ
306072009-11-26 Felix Zielcke <fzielcke@z-51.de>
30608
30609 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
30610 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
30611
7656de4f
RM
306122009-11-26 Robert Millan <rmh.grub@aybabtu.com>
30613
30614 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
30615 commit.
30616 * conf/i386-efi.rmk: Likewise.
30617 * conf/i386-ieee1275.rmk: Likewise.
30618 * conf/powerpc-ieee1275.rmk: Likewise.
30619 * conf/sparc64-ieee1275.rmk: Likewise.
30620 * conf/x86_64-efi.rmk: Likewise.
30621
db77c4d4
FZ
306222009-11-26 Felix Zielcke <fzielcke@z-51.de>
30623
30624 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
30625
a755bb04
FZ
306262009-11-26 Felix Zielcke <fzielcke@z-51.de>
30627
30628 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
30629
8a4c07fd
RM
306302009-11-26 Robert Millan <rmh.grub@aybabtu.com>
30631
30632 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
30633 (grub_mkdevicemap_SOURCES): New variable.
30634 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
30635 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
30636 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
30637 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
30638 (grub_mkdevicemap_SOURCES): Remove.
30639 * conf/i386-efi.rmk: Likewise.
30640 * conf/i386-ieee1275.rmk: Likewise.
30641 * conf/i386-pc.rmk: Likewise.
30642 * conf/powerpc-ieee1275.rmk: Likewise.
30643 * conf/sparc64-ieee1275.rmk: Likewise.
30644 * conf/x86_64-efi.rmk: Likewise.
30645 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
30646 (usage): Fix strings to use `program_name'.
30647 (main): Initialize gettext.
30648 * util/grub-editenv.c: Likewise.
30649 * util/grub-emu.c: Likewise.
30650 * util/grub-fstest.c: Likewise.
30651 * util/grub-mkdevicemap.c: Likewise.
30652 * util/grub-mkfont.c: Likewise.
30653 * util/grub-mkrelpath.c: Likewise.
30654 * util/grub-pe2elf.c: Likewise.
30655 * util/grub-probe.c: Likewise.
30656 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
30657 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
30658 * util/sparc64/ieee1275/grub-setup.c: Likewise.
30659
30660 * util/misc.c: Include `"progname.h"'.
30661 (progname): Remove variable.
30662 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
30663
6f61ed55
FZ
306642009-11-25 Felix Zielcke <fzielcke@z-51.de>
30665
30666 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
30667 printf and print a newline after the menuentry header line.
30668 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
30669
f022876b
FZ
306702009-11-25 Felix Zielcke <fzielcke@z-51.de>
30671
30672 autoconf >= 2.60 support $(localedir).
30673
30674 * INSTALL: Note that autoconf 2.60 is required.
30675 * configure.ac (AC_PREREQ): Bump to 2.60.
30676 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
30677 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
30678
6717926e
YB
306792009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
30680
30681 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
30682 aclocal is run.
30683
08806a54
RM
306842009-11-25 Robert Millan <rmh.grub@aybabtu.com>
30685
30686 * normal/main.c (grub_normal_read_line): Fix off-by-one
30687 buffer overflow.
30688
13b33fba
RM
306892009-11-25 Robert Millan <rmh.grub@aybabtu.com>
30690
30691 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
30692 "parser.grub" in grub_command_execute() call.
30693
4a8572e9
CPE
306942009-11-24 Carles Pina i Estany <carles@pina.cat>
30695
30696 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
30697 * conf/i386-efi.rmk: Likewise.
30698 * conf/i386-ieee1275.rmk: Likewise.
30699 * conf/i386-pc.rmk: Likewise.
30700 * conf/powerpc-ieee1275.rmk: Likewise.
30701 * conf/sparc64-ieee1275.rmk: Likewise.
30702 * conf/x86_64-efi.rmk: Likewise.
30703 * gettext/gettex.c: Include <grub/i18n.h>.
30704 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
30705 here ...
30706 * include/grub/i18n.h: ... to here
30707 * include/grub/i18n.h: ... to here.
30708 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 30709 (grub_gettext_dummy): Move above user.
4a8572e9 30710
bee48093
FZ
307112009-11-24 Felix Zielcke <fzielcke@z-51.de>
30712
30713 * util/Makefile.in (install-local): Convert a `for' into a normal
30714 shell expansion.
30715
a031e91c
RM
307162009-11-24 Robert Millan <rmh.grub@aybabtu.com>
30717
30718 * autogen.sh: Add automake call.
30719 * config.guess: Remove.
30720 * config.sub: Likewise.
30721 * install-sh: Likewise.
30722
26bec39d
FZ
307232009-11-24 Felix Zielcke <fzielcke@z-51.de>
30724
30725 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
30726
8e2532fd
FZ
307272009-11-24 Felix Zielcke <fzielcke@z-51.de>
30728
30729 * util/Makefile.in (install-local): Convert a make `$(foreach)'
30730 function to a normal shell `for'.
30731
fefa1b7d
FZ
307322009-11-24 Felix Zielcke <fzielcke@z-51.de>
30733
30734 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
30735
4501250b
FZ
307362009-11-24 Felix Zielcke <fzielcke@z-51.de>
30737
30738 * util/grub-mkrelpath.c: New file.
30739 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
30740 (grub_mkrelpath_SOURCES): New variable.
30741 * include/grub/util/misc.h: New function prototype.
30742 * util/misc.c (make_system_path_relative_to_its_root): New function.
30743
30744 * util/grub-mkconfig_lib.in (bindir): New variable.
30745 (grub_mkrelpath): Likewise.
30746 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
30747
30748 * util/probe.c (probe): Make the file path relative to its root.
30749 Change a info message to use the GRUB path. Enable again the
30750 check if we can read the file with GRUB facilities.
30751
30752 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
30753 to its root.
30754
11d9778b
FZ
307552009-11-24 Felix Zielcke <fzielcke@z-51.de>
30756
30757 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
30758 platform.
30759
4465287d
FZ
307602009-11-24 Felix Zielcke <fzielcke@z-51.de>
30761
30762 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
30763 strncmp().
30764
62b47f22
FZ
307652009-11-24 Felix Zielcke <fzielcke@z-51.de>
30766
30767 * util/getroot.c (grub_util_is_dmraid): New function.
30768 (grub_util_get_dev_abstraction): Treat dmraid and multipath
30769 devices as normal ones, not as LVM.
30770
1eafb9b9 307712009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
30772
30773 * conf/common.rmk: Add grub-gettext_lib target and updates
30774 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
30775 LDFLAGS.
30776 * gettext/gettext.c: New file. (Reads mo files).
30777 * include/grub/file.h (grub_file_pread): New prototype.
30778 * include/grub/i18n.h (_): New prototype.
30779 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
30780 prototypes.
30781 * kern/misc.c (grub_gettext_dummy): New function.
30782 * normal/menu_text.c: Include <grub/i18n.h>.
30783 * normal/menu_text.c (print_timeout): Gettexttize string.
30784 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
30785 * po/POTFILES: Add `normal/menu_text.c'.
30786 * po/ca.po: Add new translations.
c3ea6bd4
CPE
30787 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
30788 gettext module and defines locale_dir and lang in grub.cfg.
30789 * NEWS: Add gettext support.
30790
0fdb2568
RM
307912009-11-23 Robert Millan <rmh.grub@aybabtu.com>
30792
30793 * util/hostdisk.c: Include `<grub/i18n.h>'.
30794 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
30795 (make_device_name): Rewrite using asprintf.
30796 (convert_system_partition_to_system_disk): Replace 0 with NULL.
30797 (find_system_device): If a device is not found, generate one just
30798 by reusing the OS path name.
30799 (read_device_map): Make it permissible for device.map not to exist.
30800
f515aa62
RM
308012009-11-23 Robert Millan <rmh.grub@aybabtu.com>
30802
30803 * script/sh/execute.c: Move from here ...
30804 * script/execute.c: ... to here. Update all users.
30805 * script/sh/function.c: Move from here ...
30806 * script/function.c: ... to here. Update all users.
30807 * script/sh/lexer.c: Move from here ...
30808 * script/lexer.c: ... to here. Update all users.
30809 * script/sh/main.c: Move from here ...
30810 * script/main.c: ... to here. Update all users.
30811 * script/sh/parser.y: Move from here ...
30812 * script/parser.y: ... to here. Update all users.
30813 * script/sh/script.c: Move from here ...
30814 * script/script.c: ... to here. Update all users.
30815
f84b481b
RM
308162009-11-23 Robert Millan <rmh.grub@aybabtu.com>
30817
30818 * configure.ac: Detect all `emu' platforms. Define
30819 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
30820 --enable-grub-emu logic. Disable include/grub/machine
30821 symlink on `emu' platforms.
30822
30823 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
30824 * gensymlist.sh.in: Likewise.
30825
30826 * include/grub/i386/coreboot/machine.h: Remove file.
30827 * include/grub/i386/efi/machine.h: Likewise.
30828 * include/grub/i386/ieee1275/machine.h: Likewise.
30829 * include/grub/i386/pc/machine.h: Likewise.
30830 * include/grub/i386/qemu/machine.h: Likewise.
30831 * include/grub/powerpc/ieee1275/machine.h: Likewise.
30832 * include/grub/sparc64/ieee1275/machine.h: Likewise.
30833 * include/grub/x86_64/efi/machine.h: Likewise.
30834
30835 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
30836 * commands/halt.c: Likewise.
30837 * commands/reboot.c: Likewise.
30838 * include/grub/autoefi.h: Likewise.
30839 * include/grub/i386/at_keyboard.h: Likewise.
30840 * include/grub/i386/kernel.h: Likewise.
30841 * include/grub/i386/loader.h: Likewise.
30842 * include/grub/i386/pc/memory.h: Likewise.
30843 * kern/dl.c: Likewise.
30844 * kern/i386/coreboot/init.c: Likewise.
30845 * loader/i386/bsd.c: Likewise.
30846 * loader/i386/linux.c: Likewise.
30847 * loader/multiboot_loader.c: Likewise.
30848 * term/i386/pc/serial.c: Likewise.
30849 * term/usb_keyboard.c: Likewise.
30850
30851 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
30852 `<grub/machine/machine.h>'
30853 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
30854 * util/misc.c: Remove `<grub/machine/machine.h>' and
30855 `<grub/machine/time.h>'.
30856
30857 * Makefile.in (enable_grub_emu): Remove variable.
30858 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
30859
30860 * conf/any-emu.rmk: New file.
30861 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
30862 (grub_emu_init.c): Move from here ...
30863 * conf/any-emu.rmk: ... to here.
30864
30865 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
30866 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
30867 * conf/any-emu.rmk: ... to here.
30868
4efeab03
RM
308692009-11-23 Robert Millan <rmh.grub@aybabtu.com>
30870
30871 * include/grub/parser.h (grub_parser_register): Document need
30872 of `name' parameter.
30873 * normal/main.c (grub_normal_read_line): Simplify prompt string.
30874 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
30875 "sh" to "grub".
30876
ea1dd8bf
RM
308772009-11-23 Robert Millan <rmh.grub@aybabtu.com>
30878
30879 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
30880 `$(XGETTEXT)'.
30881 * include/grub/i18n.h (N_): New macro.
30882 * util/mkisofs/mkisofs.h: Likewise.
30883 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
30884 around N_().
30885 (usage): Use gettext() to translate help strings when printing them.
30886
0c140626
RM
308872009-11-23 Robert Millan <rmh.grub@aybabtu.com>
30888
30889 Based on patch from Bean
30890 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
30891
30892 * video/efi_fb.c: New file.
30893 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
30894 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
30895 variables.
30896 * conf/x86_64-efi.rmk: Likewise.
30897
87d58298
RM
308982009-11-22 Robert Millan <rmh.grub@aybabtu.com>
30899
30900 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
30901 * util/i386/pc/grub-setup.c: Likewise.
30902
994cc3a3
ST
309032009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
30904
30905 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
30906 <hurd/fs.h>
30907 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
30908 file_get_storage_info to implement grub_guess_root_device.
30909
26a61d6a
FZ
309102009-11-21 Felix Zielcke <fzielcke@z-51.de>
30911
30912 * Makefile.in (target): Use make's builtin $(shell) function
30913 instead of calling directly $(SHELL) to create the locale directories,
30914 inside the $(foreach) function.
30915
74ff1dd5
FZ
309162009-11-21 Felix Zielcke <fzielcke@z-51.de>
30917
30918 * util/grub-mkrescue.in: Print an error and usage if output option
30919 has not been given.
30920
0b787d0e
FZ
309212009-11-21 Felix Zielcke <fzielcke@z-51.de>
30922
30923 Patch from Loïc Minier <loic.minier@ubuntu.com>.
30924 * util/grub.d/30_os-prober.in: Cope with Linux entries where
30925 root and /boot are on different devices.
30926
1164b270
RM
309272009-11-21 Robert Millan <rmh.grub@aybabtu.com>
30928
30929 Fix build for srcdir != objdir.
30930
30931 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
30932 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
30933 $(srcdir).
30934 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
30935 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
30936 reference for input.
30937
13774a2f
RM
309382009-11-21 Robert Millan <rmh.grub@aybabtu.com>
30939
30940 * util/grub-mkrescue.in: Use source directory direcly (without copiing
30941 or hardlinking it). Remove -J option, Joliet is not compatible with
30942 multiple source directories.
30943
efda854e
RM
309442009-11-21 Carles Pina i Estany <carles@pina.cat>
309452009-11-21 Robert Millan <rmh.grub@aybabtu.com>
30946
30947 * util/grub-mkrescue.in: Recognize `--override-directory' option.
30948 (process_input_dir): New function. Process an arbitrary input
30949 directory.
30950 Misc adjustments to support both "override mode" and system-wide mode.
30951
6c09890c
FZ
309522009-11-20 Felix Zielcke <fzielcke@z-51.de>
30953
30954 * configure.ac (UNIFONT_BDF): Rename to ...
30955 (FONT_SOURCE): ... this. Update all users.
30956
a797824f
FZ
309572009-11-20 Felix Zielcke <fzielcke@z-51.de>
30958
30959 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
30960 to the list of unifont files to look for.
30961
cd4f42b0
RM
309622009-11-19 Robert Millan <rmh.grub@aybabtu.com>
30963
30964 Patch from Joe Auricchio <jauricchio@gmail.com>
30965 * commands/minicmd.c (grub_mini_cmd_clear): New function.
30966 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
30967 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
30968
393c783d
FZ
309692009-11-19 Felix Zielcke <fzielcke@z-51.de>
30970
30971 * Makefile.in (install-local): Add a missing backslash.
30972
b2f1e327
FZ
309732009-11-19 Felix Zielcke <fzielcke@z-51.de>
30974
30975 * include/grub/x86_64/io.h: New file.
30976
f577f7a0
RM
309772009-11-19 Robert Millan <rmh.grub@aybabtu.com>
30978
30979 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
30980 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
30981 Include `"progname.h"'.
30982 (main): Initialize gettext.
30983 * util/i386/pc/grub-setup.c: Gettexttize.
30984 * util/i386/pc/grub-mkimage.c: Likewise.
30985
30986 * Makefile.in (po/*.po): Redefine as ...
30987 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
30988
3bc7896c
RM
30989 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
30990
c37943b6
RM
309912009-11-19 Robert Millan <rmh.grub@aybabtu.com>
30992
30993 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
30994 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
30995 (program_name): Remove.
30996 (main): Initialize gettext support.
6323f705
RM
30997 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
30998 Include `<libintl.h>'.
30999 (_): New macro.
c37943b6
RM
31000
31001 * util/mkisofs/eltorito.c: Gettexttize.
31002 * util/mkisofs/joliet.c: Likewise.
31003 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
31004 * util/mkisofs/multi.c: Likewise.
31005 * util/mkisofs/rock.c: Likewise.
31006 * util/mkisofs/tree.c: Likewise.
31007 * util/mkisofs/write.c: Likewise.
31008
3bc7896c
RM
31009 * po/POTFILES: Update with new files.
31010
5ce77c6e
RM
310112009-11-18 Robert Millan <rmh.grub@aybabtu.com>
31012
31013 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
31014 * util/mkisofs/iso9660.h: Likewise.
31015 * util/mkisofs/joliet.c: Likewise.
31016 * util/mkisofs/mkisofs.c: Likewise.
31017 * util/mkisofs/mkisofs.h: Likewise.
31018 * util/mkisofs/rock.c: Likewise.
31019 * util/mkisofs/tree.c: Likewise.
31020 * util/mkisofs/write.c: Likewise.
31021
31022 * util/mkisofs/eltorito.c (rcsid): Remove.
31023 * util/mkisofs/hash.c: Likewise.
31024 * util/mkisofs/joliet.c: Likewise.
31025 * util/mkisofs/name.c: Likewise.
31026 * util/mkisofs/rock.c: Likewise.
31027 * util/mkisofs/tree.c: Likewise.
31028 * util/mkisofs/write.c: Likewise.
31029
1dabbc77
RM
310302009-11-18 Robert Millan <rmh.grub@aybabtu.com>
31031
31032 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
31033 instead of static allocation.
31034 * util/mkisofs/match.h: Likewise.
31035
633877cb
RM
310362009-11-18 Robert Millan <rmh.grub@aybabtu.com>
31037
3bc7896c
RM
31038 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
31039 and `util/grub.d/10_linux.in'.
633877cb
RM
31040 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
31041 translatable Shell files.
31042
af1c0c85
RM
310432009-11-18 Robert Millan <rmh.grub@aybabtu.com>
31044
31045 * Makefile.in ($(srcdir)/aclocal.m4): New target.
31046
769ae37b
RM
310472009-11-17 Robert Millan <rmh.grub@aybabtu.com>
31048
31049 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 31050 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
31051 * util/grub.d/10_kfreebsd.in (bindir): New variable.
31052 Add gettext initialization.
31053 (kfreebsd_entry): Make menuentry output translatable.
31054
310552009-11-17 Robert Millan <rmh.grub@aybabtu.com>
31056
31057 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
31058 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
31059 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
31060 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
31061 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 31062 * po/LINGUAS: New file.
769ae37b
RM
31063
310642009-11-17 Robert Millan <rmh.grub@aybabtu.com>
31065
31066 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
31067 other things).
31068 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
31069 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
31070 bindtextdomain() calls for gettext initialization.
31071
310722009-11-17 Robert Millan <rmh.grub@aybabtu.com>
31073
31074 * gnulib/progname.c: New file (imported from Gnulib).
31075 * gnulib/progname.h: Likewise.
31076 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
31077 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
31078 (usage): Replace `progname' with `program_name'.
31079 (main): Use set_program_name() for program name initialization.
31080
310812009-11-17 Robert Millan <rmh.grub@aybabtu.com>
31082
31083 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
31084 from here ...
31085 * Makefile.in (CPPFLAGS): ... to here.
31086
310872009-11-16 Robert Millan <rmh.grub@aybabtu.com>
31088
31089 * aclocal.m4: Move from here ...
31090 * acinclude.m4: ... to here.
31091 * autogen.sh: Add call to `aclocal'.
31092 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
31093
310942009-11-16 Robert Millan <rmh.grub@aybabtu.com>
31095
31096 * Makefile.in (CLEANFILES): Add `po/*.mo'.
31097 (LINGUAS): New variable.
31098 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
31099 (install-local): Install MO files.
31100 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
31101 * include/grub/i18n.h: New file.
3bc7896c
RM
31102 * po/POTFILES: New file.
31103 * po/ca.po: New file.
769ae37b
RM
31104 * util/grub.d/10_linux.in (bindir): New variable.
31105 Add gettext initialization.
31106 (linux_entry): Make menuentry output translatable.
31107 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
31108 (usage): Make --help output translatable.
31109 (main): Initialize gettext.
31110
02c0a6ad
RM
311112009-11-17 Robert Millan <rmh.grub@aybabtu.com>
31112
31113 * import_gcry.py: New file (written by Vladimir with minor
31114 adjustments).
31115 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
31116 ciphers.
31117 * INSTALL: Document that Python is required for bootstrap.
31118
311192009-11-17 Robert Millan <rmh.grub@aybabtu.com>
31120
31121 Import ciphers from libgcrypt 1.4.4.
31122
31123 * lib/libgcrypt/cipher/ChangeLog
31124 * lib/libgcrypt/cipher/ac.c
31125 * lib/libgcrypt/cipher/arcfour.c
31126 * lib/libgcrypt/cipher/bithelp.h
31127 * lib/libgcrypt/cipher/blowfish.c
31128 * lib/libgcrypt/cipher/camellia-glue.c
31129 * lib/libgcrypt/cipher/camellia.c
31130 * lib/libgcrypt/cipher/camellia.h
31131 * lib/libgcrypt/cipher/cast5.c
31132 * lib/libgcrypt/cipher/cipher.c
31133 * lib/libgcrypt/cipher/crc.c
31134 * lib/libgcrypt/cipher/des.c
31135 * lib/libgcrypt/cipher/dsa.c
31136 * lib/libgcrypt/cipher/ecc.c
31137 * lib/libgcrypt/cipher/elgamal.c
31138 * lib/libgcrypt/cipher/hash-common.c
31139 * lib/libgcrypt/cipher/hash-common.h
31140 * lib/libgcrypt/cipher/hmac-tests.c
31141 * lib/libgcrypt/cipher/md.c
31142 * lib/libgcrypt/cipher/md4.c
31143 * lib/libgcrypt/cipher/md5.c
31144 * lib/libgcrypt/cipher/primegen.c
31145 * lib/libgcrypt/cipher/pubkey.c
31146 * lib/libgcrypt/cipher/rfc2268.c
31147 * lib/libgcrypt/cipher/rijndael-tables.h
31148 * lib/libgcrypt/cipher/rijndael.c
31149 * lib/libgcrypt/cipher/rmd.h
31150 * lib/libgcrypt/cipher/rmd160.c
31151 * lib/libgcrypt/cipher/rsa.c
31152 * lib/libgcrypt/cipher/seed.c
31153 * lib/libgcrypt/cipher/serpent.c
31154 * lib/libgcrypt/cipher/sha1.c
31155 * lib/libgcrypt/cipher/sha256.c
31156 * lib/libgcrypt/cipher/sha512.c
31157 * lib/libgcrypt/cipher/tiger.c
31158 * lib/libgcrypt/cipher/twofish.c
31159 * lib/libgcrypt/cipher/whirlpool.c
31160
af2f93ac
RM
311612009-11-16 Robert Millan <rmh.grub@aybabtu.com>
31162
31163 Fix build for systems without error().
31164
31165 * gnulib/error.c: New file (imported from Gnulib).
31166 * gnulib/error.h: Likewise.
31167 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
31168 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
31169 (this variable is now used by error()).
31170
73fb3dd5
FZ
311712009-11-16 Felix Zielcke <fzielcke@z-51.de>
31172
814f5e96
FZ
31173 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
31174 instead of relying that char is signed.
73fb3dd5 31175
a691ca33
VS
311762009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
31177
31178 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
31179 blocksize different from specified.
31180 (grub_pxefs_read): Likewise.
31181
2af8f0f4
FZ
311822009-11-16 Felix Zielcke <fzielcke@z-51.de>
31183
31184 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
31185
31186 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
31187 (grub_ata_readwrite): Likewise. Update 2 format strings.
31188 (grub_atapi_read): Likewise.
31189
31190 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
31191 * conf/i386.rmk (pkglib_MODULES): ... to here ...
31192 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
31193 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
31194 (ata_mod_LDFLAGS): Move from here ...
31195 * conf/i386.rmk: ... to here ...
31196 * conf/x86_64-efi.rmk: ... and here.
31197 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
31198 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
31199
83bdecaf
RM
312002009-11-16 Robert Millan <rmh.grub@aybabtu.com>
31201
31202 Relicense multiboot.h, with RMS' blessing.
31203
31204 * include/multiboot.h: Change to X11 license.
31205
fd6fd3d7
RM
312062009-11-15 Robert Millan <rmh.grub@aybabtu.com>
31207
31208 Support --version in grub-mkisofs.
31209
31210 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
31211 (OPTION_VERSION): New macro.
31212 (ld_options): Recognize --version.
31213 (usage): Move `program_name' from here ...
31214 (program_name): ... to here. Add `static' qualifier.
31215 (main): Recognize `OPTION_VERSION'.
31216
16a88c49
FZ
312172009-11-15 Felix Zielcke <fzielcke@z-51.de>
31218
31219 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
31220 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
31221
a4158476
RM
312222009-11-14 Robert Millan <rmh.grub@aybabtu.com>
31223
31224 Fix help2man generation for mkisofs.
31225
31226 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
31227 (usage): Send output to stdout (rather than stderr).
31228
fc2208b0
RM
312292009-11-14 Robert Millan <rmh.grub@aybabtu.com>
31230
31231 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
31232 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
31233 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
31234 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
31235 (bin_SCRIPTS): Add `grub-mkfloppy'.
31236 (grub_mkfloppy_SOURCES): New variable.
31237
31238 * util/grub-mkrescue.in: New file.
31239 * util/i386/pc/grub-mkfloppy.in: New file.
31240
31241 * util/i386/coreboot/grub-mkrescue.in: Remove.
31242 * util/i386/pc/grub-mkrescue.in: Remove.
31243
8d0edf4a
RM
312442009-11-13 Robert Millan <rmh.grub@aybabtu.com>
31245
31246 * include/grub/multiboot.h (struct grub_multiboot_header): Move
31247 from here ...
31248 * include/multiboot.h (struct multiboot_header): ... to here. Update
31249 all users.
31250 * include/grub/multiboot.h (struct grub_multiboot_info): Move
31251 from here ...
31252 * include/multiboot.h (struct multiboot_info): ... to here. Update
31253 all users.
31254 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
31255 from here ...
31256 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
31257 Update all users.
31258 * include/grub/multiboot.h (struct grub_mod_list): Move
31259 from here ...
31260 * include/multiboot.h (struct multiboot_mod_list): ... to here.
31261 Update all users.
31262
a73f5969
RM
312632009-11-13 Robert Millan <rmh.grub@aybabtu.com>
31264
31265 * include/multiboot2.h (multiboot_word): Rename from this ...
31266 (multiboot2_word): ... to this. Update all users.
31267 (multiboot_header): Rename from this ...
31268 (multiboot2_header): ... to this. Update all users.
31269 (multiboot_tag_header): Rename from this ...
31270 (multiboot2_tag_header): ... to this. Update all users.
31271 (multiboot_tag_start): Rename from this ...
31272 (multiboot2_tag_start): ... to this. Update all users.
31273 (multiboot_tag_name): Rename from this ...
31274 (multiboot2_tag_name): ... to this. Update all users.
31275 (multiboot_tag_module): Rename from this ...
31276 (multiboot2_tag_module): ... to this. Update all users.
31277 (multiboot_tag_memory): Rename from this ...
31278 (multiboot2_tag_memory): ... to this. Update all users.
31279 (multiboot_tag_unused): Rename from this ...
31280 (multiboot2_tag_unused): ... to this. Update all users.
31281 (multiboot_tag_end): Rename from this ...
31282 (multiboot2_tag_end): ... to this. Update all users.
31283
1c8927f0
RM
312842009-11-13 Robert Millan <rmh.grub@aybabtu.com>
31285
31286 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
31287 this platform we should support Multiboot1 first.
31288
31289 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
31290 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
31291 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
31292
6e1e0d89
RM
312932009-11-12 Robert Millan <rmh.grub@aybabtu.com>
31294
31295 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
31296 of write calls (converting them to fwrite() if they aren't already).
31297 (get_torito_desc): Likewise.
31298 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
31299
7f2b34d8
RM
313002009-11-12 Robert Millan <rmh.grub@aybabtu.com>
31301
31302 * util/i386/pc/grub-install.in: Move from here ...
31303 * util/grub-install.in: ... to here. Update all users.
31304
c0ef3311
CW
313052009-11-11 Colin Watson <cjwatson@ubuntu.com>
31306
31307 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
31308
e1f240ff
RM
313092009-11-11 Robert Millan <rmh.grub@aybabtu.com>
31310
31311 Support for El Torito without floppy emulation.
31312
31313 * util/mkisofs/eltorito.c: Include `<errno.h>'.
31314 (init_boot_catalog): Improve error handling.
31315 (get_torito_desc): Don't use floppy emulation unless requested by
31316 user. Patch boot information table when requested via
31317 `-boot-info-table'.
31318 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
31319 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
31320 (use_boot_info_table): New variables.
31321 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
31322 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
31323 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
31324 `--eltorito-emul-floppy'.
31325 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
31326 and `OPTION_ELTORITO_EMUL_FLOPPY'.
31327 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
31328 (use_boot_info_table, get_731): New prototypes.
31329 * util/mkisofs/write.c (get_731): New function.
31330
af7d4de5
FZ
313312009-11-11 Felix Zielcke <fzielcke@z-51.de>
31332
31333 Fix the generation of the man page.
31334
31335 * util/pc/i386/grub-install.in: Source
31336 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
31337
2c55dbc0
RM
313382009-11-11 Robert Millan <rmh.grub@aybabtu.com>
31339
31340 Large file support for grub-mkisofs.
31341
31342 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
31343 * util/mkisofs/mkisofs.c (next_extent, last_extent)
31344 (session_start): Upgrade type to `uint64_t'. Update all users.
31345 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
31346 (struct directory_entry): Upgrade type of `starting_block' and
31347 `size' to `uint64_t'. Update all users.
31348 (struct deferred): Remove unused structure.
31349 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
31350 Update all users.
31351 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
31352 file is larger than `UINT32_MAX'.
31353 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
31354 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
31355 return value.
31356 (struct deferred_write): Upgrade type of `extent' and `size' to
31357 `uint64_t'. Update all users.
31358 (last_extent_written): Upgrade type to `uint64_t'. Update all
31359 users.
31360 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
31361 Update all users. Upgrade type of `remain' to `int64_t' and
31362 `use' to `size_t'. Use error() to handle fread() errors.
31363 (write_files): Rely on write_one_file() rather than calling
31364 xfwrite() directly.
31365
6a9cead5
FZ
313662009-11-09 Felix Zielcke <fzielcke@z-51.de>
31367
31368 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
31369
4825d790
RM
313702009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31371
31372 * util/mkisofs/fnmatch.c: Remove.
31373 * util/mkisofs/getopt1.c: Likewise.
31374 * util/mkisofs/getopt.c: Likewise.
31375 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
31376 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
31377 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
31378 `gnulib/getopt1.c' and `gnulib/getopt.c'.
31379 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
31380
31381 * configure.ac: Detect `mingw32msvc' host_os.
31382 Check for lstat(), getuid() and getgid().
31383
31384 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
31385 instances of `u_char' with `uint8_t'.
31386
31387 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
31388 [!HAVE_GETUID] (getuid): New function (stub).
31389 [!HAVE_GETGID] (getgid): Likewise.
31390 [!HAVE_LSTAT] (lstat): Likewise.
31391 [!S_IROTH] (S_IROTH): New macro (dummy).
31392 [!S_IRGRP] (S_IRGRP): Likewise.
31393
84b860d8
RM
313942009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31395
31396 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
31397 conditional expression).
31398
66e9b712
RM
313992009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31400
31401 Import from Gnulib.
31402
31403 * gnulib/fnmatch.c: New file.
31404 * gnulib/fnmatch.h: Likewise.
31405 * gnulib/fnmatch_loop.c: Likewise.
31406 * gnulib/getopt.c: Likewise.
31407 * gnulib/getopt.h: Likewise.
31408 * gnulib/getopt1.c: Likewise.
31409 * gnulib/getopt_int.h: Likewise.
31410 * gnulib/gettext.h: Likewise.
31411
34f4a5b0
RM
314122009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31413
31414 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
31415 * normal/handler.c (read_handler_list): Likewise.
31416
ac451143
RM
314172009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31418
31419 Misc cleanup.
31420
31421 * kern/command.c (grub_register_command_prio): Use
31422 grub_zalloc() instead of explicitly zeroing data.
31423 * kern/list.c: Include `<grub/mm.h>'.
31424 (grub_named_list_find): Replace `0' with `NULL'.
31425 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
31426 (fs_module_list): Change type to `grub_named_list_t'. Update all
31427 users.
31428 * normal/dyncmd.c (read_command_list): Add space between function
31429 call and parenthesis.
31430 * normal/handler.c (read_handler_list): Likewise.
31431
4089b167
RM
314322009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31433
31434 * normal/auth.c (punishment_delay): Moved from here ...
31435 (grub_auth_strcmp): ... to here (inside function).
31436
325f5037
RM
314372009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31438
31439 * include/grub/list.h (struct grub_named_list): Remove `const'
31440 qualifier from `name'.
31441 (struct grub_prio_list): Likewise.
31442
7aea29a3
RM
314432009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31444
31445 * normal/auth.c: Include `<grub/time.h>'.
31446 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
31447
3fd6f044
RM
314482009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31449
31450 * normal/auth.c (punishment_delay): New variable.
31451 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
31452 (grub_auth_check_authentication): Punish failed login attempts with
31453 an incremental (2^N) delay.
31454
a4cd68e4
RM
314552009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31456
31457 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
31458 path with $(srcdir).
31459
7ad12f43
VS
314602009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
31461
31462 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
31463
c1129f03
RM
314642009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31465
31466 * util/i386/coreboot/grub-mkrescue.in: New file.
31467 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
31468 variables.
31469
31470 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
31471 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
31472 * configure.ac: Add header and function checks to satisfy grub-mkisofs
31473 requirements.
31474 * util/mkisofs/defaults.h: New file.
31475 * util/mkisofs/eltorito.c: Likewise.
31476 * util/mkisofs/exclude.h: Likewise.
31477 * util/mkisofs/fnmatch.c: Likewise.
31478 * util/mkisofs/getopt.c: Likewise.
31479 * util/mkisofs/getopt1.c: Likewise.
31480 * util/mkisofs/hash.c: Likewise.
31481 * util/mkisofs/include/fctldefs.h: Likewise.
31482 * util/mkisofs/include/mconfig.h: Likewise.
31483 * util/mkisofs/include/prototyp.h: Likewise.
31484 * util/mkisofs/include/statdefs.h: Likewise.
31485 * util/mkisofs/iso9660.h: Likewise.
31486 * util/mkisofs/joliet.c: Likewise.
31487 * util/mkisofs/match.c: Likewise.
31488 * util/mkisofs/match.h: Likewise.
31489 * util/mkisofs/mkisofs.c: Likewise.
31490 * util/mkisofs/mkisofs.h: Likewise.
31491 * util/mkisofs/multi.c: Likewise.
31492 * util/mkisofs/name.c: Likewise.
31493 * util/mkisofs/rock.c: Likewise.
31494 * util/mkisofs/tree.c: Likewise.
31495 * util/mkisofs/write.c: Likewise.
31496
ec8bb77d
VS
314972009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
31498
31499 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
31500 being insecure.
31501
3716b12c
RM
315022009-11-08 Robert Millan <rmh.grub@aybabtu.com>
31503
31504 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
31505 `grub-mkimage' (and use $0 when possible).
31506
b97b7b91
RM
315072009-11-08 Robert Millan <rmh.grub@aybabtu.com>
31508
31509 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
31510 error message for excessively large memory map.
31511
04114812
RM
315122009-11-08 Robert Millan <rmh.grub@aybabtu.com>
31513
31514 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
31515 executable bit.
31516
e4eb2373
RM
315172009-11-08 Robert Millan <rmh.grub@aybabtu.com>
31518
31519 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
31520 message for coreboot users.
31521
c926e1d5 315222009-11-07 Robert Millan <rmh.grub@aybabtu.com>
31523
31524 Fix build with GNU gold.
31525
31526 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
31527 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
31528 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
31529 link addresses.
31530 * aclocal.m4: Likewise.
31531
86e5b1db 315322009-11-04 Felix Zielcke <fzielcke@z-51.de>
31533
31534 * configure.ac (AC_PREREQ): Bump to 2.59d.
31535 * INSTALL: Make it more clear when Autoconf and Ruby are
31536 needed and when to run `./autogen.sh'.
31537
246cd78f 315382009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
31539
31540 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
31541 OSes.
31542
4f9dfb37 315432009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
31544
31545 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
31546
b82bd5e1 315472009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
31548
31549 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
31550 giving it to GNU Mach.
31551
ff1a9bca 315522009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
31553
31554 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
31555 GNU partition number to get internal GRUB partition number.
31556
61697d9c 315572009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
31558
31559 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
31560 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
31561
a50569e1 315622009-11-01 Robert Millan <rmh.grub@aybabtu.com>
31563
31564 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
31565 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
31566 case.
31567
5b153867 315682009-11-01 Felix Zielcke <fzielcke@z-51.de>
31569
31570 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
31571
d9e2cd70 315722009-10-30 Robert Millan <rmh.grub@aybabtu.com>
31573
31574 Fix build problem.
31575
31576 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
31577 `-isystem=$(srcdir)/include'.
31578
805111a4 315792009-10-30 Robert Millan <rmh.grub@aybabtu.com>
31580
31581 * util/i386/pc/grub-install.in: Remove hint that device.map should be
31582 checked (grub-install doesn't currently rely on it).
31583
fa6e945f 315842009-10-29 Robert Millan <rmh.grub@aybabtu.com>
31585
31586 Revert SVN r2660.
31587
31588 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
31589 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
31590 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
31591 * conf/i386-ieee1275.rmk: Likewise.
31592 * conf/i386-pc.rmk: Likewise.
31593 * conf/powerpc-ieee1275.rmk: Likewise.
31594 * conf/sparc64-ieee1275.rmk: Likewise.
31595 * conf/x86_64-efi.rmk: Likewise.
31596
cee15086 315972009-10-28 Robert Millan <rmh.grub@aybabtu.com>
31598
31599 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
31600
95b9239e 316012009-10-28 Robert Millan <rmh.grub@aybabtu.com>
31602
31603 * include/grub/misc.h: Stop checking for APPLE_CC.
31604
2ed19dfd 316052009-10-28 Robert Millan <rmh.grub@aybabtu.com>
31606
31607 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
31608 doesn't cause an infinite call loop.
31609
fdcdde19 316102009-10-28 Felix Zielcke <fzielcke@z-51.de>
31611
31612 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
31613 strings.
31614
cefabfe1 316152009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31616
31617 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
31618 variable.
31619 * Makefile.in: Likewise.
31620
ed96ab6d 316212009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31622
31623 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
31624
0579b753 316252009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31626
31627 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
31628
478df409 316292009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31630
31631 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
31632
083d1679 316332009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31634
31635 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
31636 from here ...
31637 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
31638
5947ae32 316392009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31640
31641 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
31642 in $(MAKEINFO) invocation. This makes it clear in output that
31643 errors are being ignored.
31644
94180ff6 316452009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31646
31647 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
31648 from here ...
31649 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
31650 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
31651 * conf/i386-ieee1275.rmk: Likewise.
31652 * conf/i386-pc.rmk: Likewise.
31653 * conf/powerpc-ieee1275.rmk: Likewise.
31654 * conf/sparc64-ieee1275.rmk: Likewise.
31655 * conf/x86_64-efi.rmk: Likewise.
31656
9031b03a 316572009-10-26 Colin Watson <cjwatson@ubuntu.com>
31658
31659 * util/grub-editenv.c (main): If only a command is given, use
31660 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
31661 (usage): FILENAME is now optional and has a default.
31662
e4f6809b 316632009-10-26 Colin Watson <cjwatson@ubuntu.com>
31664
31665 Improve grub-mkconfig performance when there are several menu
31666 entries on a single filesystem.
31667
31668 * util/grub.d/10_linux.in (linux_entry): Cache the output of
31669 prepare_grub_to_access_device.
31670 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
31671 * util/grub.d/30_os-prober.in: Likewise.
31672
67937d4d 316732009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31674
31675 * util/grub.d/10_freebsd.in: Remove.
31676 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
31677 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
31678
ee3756cc 316792009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31680
5c35048e 31681 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 31682
4dea1c6f 316832009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31684
31685 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
31686 grub_util_error() call.
31687
042484d7 316882009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31689
31690 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
31691 `reserved_first_sector' member.
31692 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
31693 `reserved_first_sector' to 1.
31694 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
31695 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
31696 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
31697 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
31698 filesystems which begin at first sector.
31699 (options): New option --skip-fs-probe.
31700 (main): Handle --skip-fs-probe and pass it to setup().
31701
d64448a7 317022009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31703
31704 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
31705 (memset): Fix function prototype.
31706
508d42ec 317072009-10-25 Robert Millan <rmh.grub@aybabtu.com>
317082009-10-25 Vasily Averin <vvs@parallels.com>
31709
31710 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
31711 `dirent.direntlen == 0'.
31712
b240e30c 317132009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31714
31715 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
31716 `cpio'.
31717 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
31718
346e7fbe 317192009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31720
31721 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
31722 `__trampoline_setup' and `__ucmpdi2'.
31723 * include/grub/powerpc/libgcc.h: Only export symbols for functions
31724 that libgcc provides.
31725
cdb308b0 317262009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31727
31728 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
31729 * include/grub/sparc64/libgcc.h (memset): Likewise.
31730 * include/grub/misc.h (memset, memcmp): New function prototypes.
31731
fb26abc2 317322009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31733
31734 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
31735 `cpio'.
31736 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
31737
f6693890 317382009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31739
31740 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
31741 * docs/grub.cfg: Compensate for recent change in multiboot
31742 loader (since 2009-08-14 it won't pass filename to payload).
31743 * util/grub.d/10_hurd.in: Likewise.
31744
0933cdc0 317452009-10-21 Felix Zielcke <fzielcke@z-51.de>
31746
31747 * config.guess: Update to latest version from config git
31748 repository.
31749 * config.sub: Likewise.
31750
3b2fe8c2 317512009-10-20 Robert Millan <rmh.grub@aybabtu.com>
31752
31753 Fix build on sparc64.
31754
31755 * configure.ac: Perform checks for libgcc symbols before
31756 adding `-nostdlib' to LDFLAGS.
31757
46695a62 317582009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
31759
31760 Let user specify OpenBSD root device.
31761
31762 * loader/i386/bsd.c (openbsd_root): New variable.
31763 (openbsd_opts): New option 'root'.
31764 (OPENBSD_ROOT_ARG): New macro.
31765 (grub_openbsd_boot): Use 'openbsd_root'.
31766 (grub_cmd_openbsd): Fill 'openbsd_root'.
31767
d2b6b7fc 317682009-10-16 Robert Millan <rmh.grub@aybabtu.com>
31769
31770 * NEWS: Misc adjustments.
31771
421bd7ac 317722009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
31773
31774 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
31775
f1d29d87 317762009-10-16 Robert Millan <rmh.grub@aybabtu.com>
31777
31778 * configure.ac: Bump version to 1.97.
31779
6f3cd880 317802009-10-16 Colin Watson <cjwatson@ubuntu.com>
31781
31782 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
31783 -mno-3dnow on x86 architectures. Some toolchains enable these
31784 features by default, but they rely on registers that aren't enabled
31785 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
31786
035f7122 317872009-10-15 Robert Millan <rmh.grub@aybabtu.com>
31788
31789 Make entry text a bit more readable.
31790
31791 * util/grub.d/10_linux.in: Add `with' before `Linux'.
31792
44998e58 317932009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
31794
31795 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
31796
cd2851b3 317972009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
31798
31799 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
31800 operations.
31801
c6f3b249 318022009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
31803
31804 * configure.ac: Add missing dollar.
31805
6b5886ba 318062009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
31807
31808 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
31809
31810 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
31811 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
31812 exports.
31813 * include/grub/sparc64/libgcc.h: Likewise. Use
31814 preprocessor conditionals.
31815
e9d66f6d 318162009-10-14 Robert Millan <rmh.grub@aybabtu.com>
31817
31818 * conf/common.rmk (grub-dumpbios): Remove rule.
31819 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
31820 * util/grub-dumpbios.in: Remove file.
31821
9155bc17 318222009-10-14 Robert Millan <rmh.grub@aybabtu.com>
31823
31824 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
31825 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
31826
31827 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
31828 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
31829 users.
31830
31831 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
31832 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
31833 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
31834 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
31835 users.
31836
bf7f7a18 318372009-10-12 Robert Millan <rmh.grub@aybabtu.com>
31838
31839 * term/tparm.c: Switch to GPLv3.
31840
86564c26 318412009-10-09 Robert Millan <rmh.grub@aybabtu.com>
31842
31843 * include/grub/i386/cpuid.h: Add header protection.
31844
5c936493 318452009-10-09 Robert Millan <rmh.grub@aybabtu.com>
31846
31847 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
31848
31849 * include/grub/i386/cpuid.h: New file.
31850 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
31851 (has_longmode): Rename to ...
31852 (grub_cpuid_has_longmode): ... this. Update all users. Remove
31853 `static' attribute.
31854 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
31855 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
31856 on a CPU that doesn't implement AMD64 instruction set.
31857
186e7cf2 318582009-10-06 Colin Watson <cjwatson@ubuntu.com>
31859
31860 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
31861 that version.texi is rebuilt on version number changes.
31862
83b65c4a 318632009-10-06 Colin Watson <cjwatson@ubuntu.com>
31864
31865 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
31866 Fixes bug #27602.
31867
d244281c 318682009-10-06 Colin Watson <cjwatson@ubuntu.com>
31869
31870 * util/i386/pc/grub-install.in: Source
31871 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
31872 that the --grub-probe option will work.
31873 * util/sparc64/ieee1275/grub-install.in: Likewise.
31874
da25306d 318752009-10-05 Robert Millan <rmh.grub@aybabtu.com>
31876
31877 * configure.ac: Bump version to 1.97~beta4.
31878
e8ee83c0 318792009-10-03 Robert Millan <rmh.grub@aybabtu.com>
31880
31881 Resync grub-mkdevicemap in x86_64-efi.
31882
31883 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
31884 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
31885 `util/devicemap.c'.
31886
50dcabcf 318872009-10-01 Colin Watson <cjwatson@ubuntu.com>
31888
31889 * util/grub-editenv.c (create_envblk_file): Write new block with a
31890 .new suffix and then rename it into place, to ensure atomic
31891 creation.
31892
0e51c3a7 318932009-09-28 Robert Millan <rmh.grub@aybabtu.com>
31894
31895 Do not automatically install headers.
31896
31897 * Makefile.in (include_DATA): Remove. Update all users.
31898
31299a95 318992009-09-26 Robert Millan <rmh.grub@aybabtu.com>
31900
31901 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
31902 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
31903
31904 * util/osdetect.lua: Remove.
31905 * script/lua/lauxlib.c: Likewise.
31906 * script/lua/ldebug.c: Likewise.
31907 * script/lua/grub_main.c: Likewise.
31908 * script/lua/lauxlib.h: Likewise.
31909 * script/lua/ldebug.h: Likewise.
31910 * script/lua/ltablib.c: Likewise.
31911 * script/lua/liolib.c: Likewise.
31912 * script/lua/lstrlib.c: Likewise.
31913 * script/lua/lualib.h: Likewise.
31914 * script/lua/ldo.c: Likewise.
31915 * script/lua/ldump.c: Likewise.
31916 * script/lua/ldo.h: Likewise.
31917 * script/lua/loslib.c: Likewise.
31918 * script/lua/lundump.c: Likewise.
31919 * script/lua/grub_lib.c: Likewise.
31920 * script/lua/ldblib.c: Likewise.
31921 * script/lua/lundump.h: Likewise.
31922 * script/lua/lmem.c: Likewise.
31923 * script/lua/grub_lib.h: Likewise.
31924 * script/lua/lmathlib.c: Likewise.
31925 * script/lua/lstate.c: Likewise.
31926 * script/lua/ltm.c: Likewise.
31927 * script/lua/lvm.c: Likewise.
31928 * script/lua/lmem.h: Likewise.
31929 * script/lua/lstate.h: Likewise.
31930 * script/lua/ltm.h: Likewise.
31931 * script/lua/ltable.c: Likewise.
31932 * script/lua/lvm.h: Likewise.
31933 * script/lua/llex.c: Likewise.
31934 * script/lua/lgc.c: Likewise.
31935 * script/lua/grub_lua.h: Likewise.
31936 * script/lua/loadlib.c: Likewise.
31937 * script/lua/lfunc.c: Likewise.
31938 * script/lua/lopcodes.c: Likewise.
31939 * script/lua/lparser.c: Likewise.
31940 * script/lua/ltable.h: Likewise.
31941 * script/lua/llex.h: Likewise.
31942 * script/lua/lgc.h: Likewise.
31943 * script/lua/lfunc.h: Likewise.
31944 * script/lua/lbaselib.c: Likewise.
31945 * script/lua/lopcodes.h: Likewise.
31946 * script/lua/lparser.h: Likewise.
31947 * script/lua/lzio.c: Likewise.
31948 * script/lua/linit.c: Likewise.
31949 * script/lua/lobject.c: Likewise.
31950 * script/lua/llimits.h: Likewise.
31951 * script/lua/lstring.c: Likewise.
31952 * script/lua/lzio.h: Likewise.
31953 * script/lua/lapi.c: Likewise.
31954 * script/lua/lcode.c: Likewise.
31955 * script/lua/lua.h: Likewise.
31956 * script/lua/lobject.h: Likewise.
31957 * script/lua/lstring.h: Likewise.
31958 * script/lua/lapi.h: Likewise.
31959 * script/lua/lcode.h: Likewise.
31960 * script/lua/luaconf.h: Likewise.
31961
cb8a2c38 319622009-09-26 Colin Watson <cjwatson@ubuntu.com>
31963
31964 * docs/grub.texi (Command-line and menu entry commands): Document
31965 date and echo commands.
31966
6b9b6276 319672009-09-24 Pavel Roskin <proski@gnu.org>
31968
31969 * include/grub/kernel.h (struct grub_module_header): Remove
31970 `grub_module_header_types'. Make `type' unsigned. Make `size'
31971 32-bit on all platforms.
31972 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
31973 8-bit field. Use grub_host_to_target32() for `size'.
31974 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
31975 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
31976 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
31977
4e5a02a7 319782009-09-24 Robert Millan <rmh.grub@aybabtu.com>
31979
31980 Fix "lost keypress" bug in at_keyboard.
31981
31982 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
31983 Checks for readyness of input buffer (without flushing it).
31984 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
31985 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
31986
c6dcedf6 319872009-09-24 Robert Millan <rmh.grub@aybabtu.com>
31988
31989 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
31990 size check within GRUB_MACHINE_PCBIOS section.
31991
74c958b1 319922009-09-24 Robert Millan <rmh.grub@aybabtu.com>
31993
31994 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
31995 return value.
31996 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
31997 KEYBOARD_ISREADY check.
31998 (grub_at_keyboard_checkkey): Rename to ...
31999 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
32000 Remove gratuitous cast.
32001
ff420223 320022009-09-23 Colin Watson <cjwatson@ubuntu.com>
32003
32004 * configure.ac: Call AC_PROG_MKDIR_P.
32005 * Makefile.in (docs/stamp-vti): Create docs directory. Create
32006 version.texi in $(builddir) rather than $(srcdir).
32007 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
32008 to makeinfo's @include search path.
32009
d96875df 320102009-09-23 Felix Zielcke <fzielcke@z-51.de>
32011
32012 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
32013
9b3f8365 320142009-09-23 Felix Zielcke <fzielcke@z-51.de>
32015
32016 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
32017 for `*.dpkg-new'.
32018
c44c90db 320192009-09-21 Colin Watson <cjwatson@ubuntu.com>
32020
32021 Build info documentation. Some code borrowed from Automake.
32022
32023 * configure.ac: Check for makeinfo.
32024 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
32025 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
32026 docs/version.texi.
32027 (MOSTLYCLEANFILES): Add vti.tmp.
32028 (docs/version.texi, docs/stamp-vti): Update automatically.
32029 (docs/grub.info): Build info documentation. Use --force and ignore
32030 errors for now.
32031 (all-local): Add $(INFOS).
32032 (install-local): Install info files.
32033 (uninstall): Uninstall info files.
32034 * docs/version.texi: Remove from revision control. This file is
32035 automatically generated on build now.
32036 * gendistlist.sh: Add `*.info'.
32037
e0b37bb5 320382009-09-21 Felix Zielcke <fzielcke@z-51.de>
32039
32040 * kern/term.c: Fix indentation.
32041
5a78865b 320422009-09-21 Felix Zielcke <fzielcke@z-51.de>
32043
32044 * util/hostdisk.c: Fix a comment.
32045
dace7e8a 320462009-09-20 Robert Millan <rmh.grub@aybabtu.com>
32047
32048 Fix regression introduced in r2539.
32049
32050 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
32051 to 0xA1.
32052
a83d079b 320532009-09-19 Colin Watson <cjwatson@ubuntu.com>
32054
32055 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 32056 os-prober. Under normal operation, it does not print anything to
32057 stderr; if it does, we need to debug it, and throwing away stderr
32058 makes that excessively difficult.
a83d079b 32059
be94a509 320602009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
32061
32062 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
32063
63f745e8 320642009-09-16 Robert Millan <rmh.grub@aybabtu.com>
32065
32066 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
32067 AC_LANG_PROGRAM from autoconf.
32068 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
32069 prototypes (fixes warning).
32070
32071 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
32072 `--disable-werror' was used.
32073
bbb2a70f 320742009-09-16 Robert Millan <rmh.grub@aybabtu.com>
32075
32076 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
32077 uninitialized `lastaddr'.
32078
77c24f1d 320792009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
32080
0f0b8c87 32081 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 32082
07197f23 320832009-09-14 Colin Watson <cjwatson@ubuntu.com>
32084
32085 * commands/test.c (get_fileinfo): Return immediately if
32086 grub_fs_probe fails.
32087
dabf1798 320882009-09-14 José Martínez <xosemp@gmail.com>
32089
32090 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
32091
d52109a7 320922009-09-14 Colin Watson <cjwatson@ubuntu.com>
32093
32094 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
32095 output.
32096
56532179 320972009-09-13 Robert Millan <rmh.grub@aybabtu.com>
32098
32099 * configure.ac: Remove --enable-grub-pe2elf. Only build
32100 grub-pe2elf when needed by the build system itself.
32101 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
32102
8ef070f5 321032009-09-12 Robert Millan <rmh.grub@aybabtu.com>
32104
32105 * configure.ac: Bump version to 1.97~beta3.
32106 * docs/version.texi: Likewise.
32107
61229557 321082009-09-12 Robert Millan <rmh.grub@aybabtu.com>
32109
32110 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
32111 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
32112 from here ...
32113 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
32114 (grub_linux_setup_video): ... to here (with some adjustments).
32115
5c9f8d84 321162009-09-12 Robert Millan <rmh.grub@aybabtu.com>
32117
32118 Fix memory corruption issue (spotted by Colin Watson).
32119
32120 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
32121 causing returned size to be stored in an incorrect memory location.
32122 Fix use of uninitialized value when storing the returned size.
32123
e8f5d6e9 321242009-09-12 Yves Blusseau <blusseau@zetam.org>
32125
32126 Change clean rules to properly remove files
32127
32128 * genmk.rb: add new clean rules
32129 * Makefile.in (clean): add the new targets
32130 (mostlyclean): likewise
32131
cda2a409 321322009-09-11 Colin Watson <cjwatson@ubuntu.com>
32133
32134 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
32135 to grub_uint64_t.
32136 * fs/ntfs.c (init_file): Understand 64-bit sizes for
32137 non-resident files.
32138
86695375 321392009-09-11 Colin Watson <cjwatson@ubuntu.com>
32140
32141 * configure.ac: Don't look for help2man when cross-compiling. Fixes
32142 part of bug #27349.
32143
8aa1541a 321442009-09-10 Felix Zielcke <fzielcke@z-51.de>
32145
32146 * util/grub-mkconfig.in: Make the created config mode 400 and
32147 print a warning if it fails.
32148
48d9bb0a 321492009-09-10 Robert Millan <rmh.grub@aybabtu.com>
32150
32151 * util/grub.d/40_custom.in: Ask user to type custom entries below
32152 comment, rather than below 'exec tail' line.
32153
3b0521be 321542009-09-10 Colin Watson <cjwatson@ubuntu.com>
32155
32156 * util/grub.d/40_custom.in: Make sure that the explanatory text is
32157 visible in grub.cfg.
32158
50051d55 321592009-09-10 Colin Watson <cjwatson@ubuntu.com>
32160
32161 * util/grub.d/40_custom.in: Make it a little clearer how to use this
32162 file.
32163
c0d34387 321642009-09-10 Felix Zielcke <fzielcke@z-51.de>
32165
32166 * docs/grub.cfg: Add an example menu entry for memtest86+.
32167
80a608f3 321682009-09-09 Felix Zielcke <fzielcke@z-51.de>
32169
a2094832 32170 * config.guess: Update to latest version from config git.
80a608f3 32171 * config.sub: Likewise.
32172
99423078 321732009-09-08 Colin Watson <cjwatson@ubuntu.com>
32174
32175 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
32176 unknown-command case. Fixes bug #27320.
32177
44454e4c 321782009-09-08 Felix Zielcke <fzielcke@z-51.de>
32179
32180 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
32181 `help' if the command exists.
32182
e30d87ad 321832009-09-06 Robert Millan <rmh.grub@aybabtu.com>
32184
32185 * INSTALL: Require GCC 4.1.3 or later.
32186
9a86f1ec 321872009-09-06 Yves Blusseau <blusseau@zetam.org>
32188
32189 * Makefile.in (RMKFILES): add i386-qemu.rmk
32190 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
32191 $(srcdir)/stamp-h.in
32192
7f26d466 321932009-09-05 Robert Millan <rmh.grub@aybabtu.com>
32194
32195 * util/grub-probe.c (probe): Comment out buggy codepath, which
32196 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
32197 should be re-enabled after 1.97.
32198
3a613259 321992009-09-05 Felix Zielcke <fzielcke@z-51.de>
32200
32201 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
32202 find searches for.
32203
197f76c7 322042009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
32205
32206 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
32207 unnecessary calls to grub_error.
32208
70ba68ce 322092009-09-04 Colin Watson <cjwatson@ubuntu.com>
32210
32211 * NEWS: Mention `keystatus' and Unicode fonts.
32212
4ff0d7a4 322132009-09-04 Robert Millan <rmh.grub@aybabtu.com>
32214
32215 * configure.ac: Bump version to 1.97~beta2.
32216 * docs/version.texi: Likewise.
32217
77c55a87 322182009-09-03 Colin Watson <cjwatson@ubuntu.com>
32219
32220 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
32221 containing unwind information in some cases where it previously did
32222 not. Use -fno-dwarf2-cfi-asm if available to restore the old
32223 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
32224 discussion.
32225
f79572cd 322262009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
32227
32228 Embedding loadenv module into grub-emu
32229
32230 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
32231 commands/loadenv.c
32232 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
32233 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
32234 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
32235 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
32236 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
32237 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
32238
93a81088 322392009-09-03 Magnus Granberg <zorry@ume.nu>
32240
32241 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
32242 include -fPIE in the default specs.
32243 * configure.ac: Check if pie_possible is yes and add -fno-PIE
32244 to TARGET_CFLAGS.
32245
160034b2 322462009-09-03 Felix Zielcke <fzielcke@z-51.de>
32247
32248 * INSTALL: Note that GNU Bison 2.3 or later is required.
32249
087c07c4 322502009-09-03 Colin Watson <cjwatson@ubuntu.com>
32251
32252 * kern/i386/pc/startup.S: Fix typo.
32253
cbf978c0 322542009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
32255
32256 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
32257 according to GCS.
32258
322592009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 32260
32261 * docs/grub.texi (Naming convention): Describe one-based partition
32262 numbering.
32263 (Device syntax): Likewise.
32264 (File name syntax): Likewise.
32265 (Block list syntax): Likewise.
32266 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
32267 menu.lst.
32268 (File name syntax): Likewise.
32269 (Command-line and menu entry commands): Document acpi, blocklist,
32270 crc, export, insmod, keystatus, ls, set, and unset commands.
32271
f3e8cdfd 322722009-09-02 Colin Watson <cjwatson@ubuntu.com>
32273
32274 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
32275 to avoid implying that only one of --shift, --ctrl, or --alt may be
32276 used.
32277
c0bc232b 322782009-09-02 Colin Watson <cjwatson@ubuntu.com>
32279
32280 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
32281 rather than comparing against S_IFREG, which will almost never work.
32282
aa0f752d 322832009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
32284
32285 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
32286 (write_blocklists): Likewise.
32287
ecb3166a 322882009-09-01 Colin Watson <cjwatson@ubuntu.com>
32289
32290 * script/lua/grub_lua.h (fputs): Supply a format string as the first
32291 argument to grub_printf.
32292
c403a125 322932009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 32294
32295 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 32296 non GNU test.
31aba781 32297
b5e7312c 322982009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
32299
32300 * kern/file.c (grub_file_read): Spelling fix
32301
fe00f472 323022009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
32303
32304 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
32305 loading of headers in some cases.
32306
cc55302e 323072009-08-30 Robert Millan <rmh.grub@aybabtu.com>
32308
32309 * configure.ac: Bump version to 1.97~beta1.
32310 * docs/version.texi: Likewise.
32311
5c90cdd2 323122009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 32313
32314 * include/grub/i386/xnu.h: Add license header.
32315 include grub/err.h explicitly.
32316
c90edae4 323172009-08-29 Robert Millan <rmh.grub@aybabtu.com>
32318
32319 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
32320 to `ufs' in the vfs.root.mountfrom kernel parameter.
32321
d8888b5c 323222009-08-29 Robert Millan <rmh.grub@aybabtu.com>
32323
32324 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
32325
32326 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
32327 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
32328
32329 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
32330 `ARRAY_SIZE' macro.
32331
6f07b921 323322009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
32333
32334 * kern/file.c (grub_file_read): Check offset.
32335 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
32336 * fs/jfs.c (grub_jfs_read_file): Likewise.
32337 * fs/ntfs.c (grub_ntfs_read): Likewise.
32338 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
32339 * fs/minix.c (grub_minix_read_file): Correct offset check.
32340 * fs/ufs.c (grub_ufs_read_file): Likewise.
32341
b4f34077 323422009-08-28 Colin Watson <cjwatson@ubuntu.com>
32343
32344 * term/i386/pc/console.c (bios_data_area): Cast
32345 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
32346
e7c69859 323472009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
32348
32349 1-bit optimised blitters.
32350
32351 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
32352 prototype.
32353 (grub_video_fbblit_replace_24bit_1bit): Likewise.
32354 (grub_video_fbblit_replace_16bit_1bit): Likewise.
32355 (grub_video_fbblit_replace_8bit_1bit): Likewise.
32356 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
32357 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
32358 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
32359 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
32360 function.
32361 (grub_video_fbblit_replace_24bit_1bit): Likewise.
32362 (grub_video_fbblit_replace_16bit_1bit): Likewise.
32363 (grub_video_fbblit_replace_8bit_1bit): Likewise.
32364 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
32365 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
32366 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
32367 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
32368 when possible.
32369 * video/video.c (grub_video_get_blit_format): Return
32370 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
32371
a57da43f 323722009-08-28 Colin Watson <cjwatson@ubuntu.com>
32373
32374 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
32375 the first argument to grub_printf.
32376
4cbe67e5 323772009-08-28 Colin Watson <cjwatson@ubuntu.com>
323782009-08-28 Robert Millan <rmh.grub@aybabtu.com>
32379
32380 Add `getkeystatus' terminal method. Add a new `keystatus' command
32381 to query it.
32382
32383 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
32384 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
32385 modifier key bitmasks.
32386 (struct grub_term_input): Add `getkeystatus' member.
32387 (grub_getkeystatus): Add prototype.
32388 * kern/term.c (grub_getkeystatus): New function.
32389
32390 * include/grub/i386/pc/memory.h
32391 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
32392 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
32393 Data Area layout.
32394 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
32395 (grub_console_term_input): Set `getkeystatus' member.
32396 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
32397 constants.
32398 (grub_usb_keyboard_getreport): Likewise.
32399 (grub_usb_keyboard_checkkey): Likewise.
32400 (grub_usb_keyboard_getkeystatus): New function.
32401 (grub_usb_keyboard_term): Set `getkeystatus' member.
32402
32403 * commands/keystatus.c: New file.
32404 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
32405 (keystatus_mod_SOURCES): New variable.
32406 (keystatus_mod_CFLAGS): Likewise.
32407 (keystatus_mod_LDFLAGS): Likewise.
32408 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
32409 commands/keystatus.c.
32410 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32411 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32412 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32413 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32414 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32415 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 32416
6e2a9085 324172009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
32418
32419 Split befs.mod and afs.mod into *_be.mod and *.mod
32420
32421 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
32422 (grub_fstest_SOURCES): Likewise.
32423 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
32424 (afs_be_mod_SOURCES): New variable.
32425 (afs_be_mod_CFLAGS): Likewise.
32426 (afs_be_mod_LDFLAGS): Likewise.
32427 (befs_be_mod_SOURCES): Likewise.
32428 (befs_be_mod_CFLAGS): Likewise.
32429 (befs_be_mod_LDFLAGS): Likewise.
32430 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
32431 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32432 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32433 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
32434 (grub_emu_SOURCES): Likewise.
32435 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32436 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32437 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32438 * fs/afs_be.c: New file.
32439 * fs/befs_be.c: New file.
32440 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
32441 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
32442 (U16): Replaced with ...
32443 (grub_afs_to_cpu16): ...this. All users updated.
32444 (U32): Replaced with ...
32445 (grub_afs_to_cpu32): ...this. All users updated.
32446 (U64): Replaced with ...
32447 (grub_afs_to_cpu64): ...this. All users updated.
32448 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
32449 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 32450 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 32451 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
32452 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
32453 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
32454 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
32455 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
32456 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
32457 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
32458 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
32459
32a71655 324602009-08-26 Bean <bean123ch@gmail.com>
32461
32462 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
32463 64-bit number.
32464 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
32465 (grub_xfs_inode_block): Change return type to grub_uint64_t.
32466 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
32467
552bf6c5 324682009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
32469
32470 NetBSD memory map support.
32471
32472 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
32473 (grub_netbsd_btinfo_mmap_header): New structure.
32474 (grub_netbsd_btinfo_mmap_entry): Likewise.
32475 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
32476
1ae2078c 324772009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
32478
32479 Enable bsd.mod on coreboot.
32480
32481 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
32482 (bsd_mod_SOURCES): New variable.
32483 (bsd_mod_CFLAGS): Likewise.
32484 (bsd_mod_LDFLAGS): Likewise.
32485 (bsd_mod_ASFLAGS): Likewise.
32486 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
32487 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
32488
beefc598 324892009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
32490
32491 Cleanup NetBSD root support.
32492
32493 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
32494 grub_bsd_get_device.
32495 Fix typo.
32496
3b76e68b 324972009-08-25 Felix Zielcke <fzielcke@z-51.de>
32498
32499 * util/grub.d/00_header.in: Move check for the video backend of
32500 gfxterm from here ...
32501 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
32502 a suitable video backend.
32503
aea664ea 325042009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
32505
32506 Fix breakage in grub-setup.
32507
32508 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
32509 "msdos_partition_map".
32510
ff747d50 325112009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
32512
32513 Fix breakage in normal/auth.c.
32514
32515 * normal/auth.c (grub_iswordseparator): New function.
32516
e7e1f93f 325172009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
32518
32519 Authentication support.
32520
32521 * commands/password.c: New file.
32522 * conf/common.rmk (pkglib_MODULES): Add password.mod.
32523 (password_mod_SOURCES): New variable.
32524 (password_mod_CFLAGS): Likewise.
32525 (password_mod_LDFLAGS): Likewise.
32526 (normal_mod_SOURCES): Add normal/auth.c.
32527 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
32528 normal/auth.c.
32529 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32530 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32531 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32532 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32533 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32534 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32535 * include/grub/auth.h: New file.
32536 * include/grub/err.h (grub_err_t): New enum value
32537 GRUB_ERR_ACCESS_DENIED.
32538 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
32539 'users'.
32540 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
32541 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
32542 users updated.
32543 * normal/auth.c: New file.
32544 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
32545 (grub_cmdline_run): Don't allow to go to command line without
32546 authentication.
32547 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
32548 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
32549 menuentry without superuser rights.
32550 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
32551 user isn't a superuser.
32552
70f1161d 325532009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
32554
32555 Save space by inlining misc.c functions.
32556
32557 * kern/misc.c (grub_iswordseparator): Made static.
32558 * kern/misc.c (grub_strcat): Moved from here ...
32559 * include/grub/misc.h (grub_strcat): ... here. Inlined.
32560 * kern/misc.c (grub_strncat): Moved from here ...
32561 * include/grub/misc.h (grub_strncat): ... here. Inlined.
32562 * kern/misc.c (grub_strcasecmp): Moved from here ...
32563 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
32564 * kern/misc.c (grub_strncasecmp): Moved from here ...
32565 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
32566 * kern/misc.c (grub_isalpha): Moved from here ...
32567 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
32568 * kern/misc.c (grub_isdigit): Moved from here ...
32569 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
32570 * kern/misc.c (grub_isgraph): Moved from here ...
32571 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
32572 * kern/misc.c (grub_tolower): Moved from here ...
32573 * include/grub/misc.h (grub_tolower): ... here. Inlined.
32574
48e40bff 325752009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
32576
32577 * script/sh/function.c (grub_script_function_find): Cut error message
32578 not to flood terminal.
32579 * script/sh/lexer.c (grub_script_yylex): Remove command line length
32580 limit.
32581 * script/sh/script.c (grub_script_arg_add): Duplicate string.
32582
c385bfc3 325832009-08-24 Colin Watson <cjwatson@ubuntu.com>
32584
32585 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
32586 `report' grub_uint8_t *.
32587 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
32588 Use a 50-millisecond timeout rather than just repeating
32589 grub_usb_keyboard_getreport 50 times.
32590 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
32591
2d21e3e8 325922009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
32593
32594 Rename *_partition_map to part_*
32595
32596 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
32597 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
32598 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
32599 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
32600 All users updated.
32601 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
32602 All users updated.
32603 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
32604 * util/grub-probe.c (probe_partmap): Don't transform partition name
32605 to get module name.
32606
dd103c4e 326072009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
32608
32609 Fix OpenBSD and NetBSD support.
32610
32611 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
32612 memory address conflict.
32613 (OPENBSD_MMAP_ACPI): New definition.
32614 (OPENBSD_MMAP_NVS): Likewise.
32615 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
32616 and OPENBSD_MMAP_NVS.
32617 Add memory map terminator
32618 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 32619 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 32620
16c84d74 326212009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
32622
32623 Let user specify NetBSD root device.
32624
32625 * loader/i386/bsd.c (netbsd_root): New variable.
32626 (netbsd_opts): New option 'root'.
32627 (NETBSD_ROOT_ARG): New macro.
32628 (grub_netbsd_boot): Use 'netbsd_root'.
32629 (grub_bsd_unload): Free 'netbsd_root'.
32630 (grub_cmd_netbsd): Fill 'netbsd_root'.
32631
adb29902 326322009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
32633
32634 Support for 64-bit NetBSD.
32635
32636 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
32637 point when booting non-FreeBSD.
32638
f5ae9f74 326392009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
32640
32641 Support --no-smp and --no-acpi for NetBSD.
32642
32643 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
32644 (NETBSD_AB_NOACPI): Likewise.
32645 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
32646 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
32647
de74f136 326482009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
32649
32650 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
32651 errors.
32652 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
32653 errors. Call grub_error when needed.
32654
e9a925da 326552009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
32656
32657 * commands/search.c (search_fs): Try searching without autoload first.
32658 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
32659 filesystem module explicitly for faster booting.
32660
5174302b 326612009-08-23 Colin Watson <cjwatson@ubuntu.com>
32662
32663 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
32664
c8c80635 326652009-08-23 Colin Watson <cjwatson@ubuntu.com>
32666
32667 * util/grub.d/30_os-prober.in: Disable os-prober if
32668 `GRUB_DISABLE_OS_PROBER' was set to true.
32669
71acf5e5 326702009-08-23 Robert Millan <rmh.grub@aybabtu.com>
32671
32672 * partmap/pc.c: Rename to ...
32673 * partmap/msdos.c: ... this. Update all users.
32674 (grub_pc_partition_map): Rename to ...
32675 (grub_msdos_partition_map): ... this. Update all users.
32676
32677 * parttool/pcpart.c: Rename to ...
32678 * parttool/msdospart.c: ... this. Update all users.
32679
32680 * include/grub/pc_partition.h: Rename to ...
32681 * include/grub/msdos_partition.h: ... this. Update all users.
32682 (grub_pc_partition_bsd_entry): Rename to ...
32683 (grub_msdos_partition_bsd_entry): ... this. Update all users.
32684 (grub_pc_partition_disk_label): Rename to ...
32685 (grub_msdos_partition_disk_label): ... this. Update all users.
32686 (grub_pc_partition_entry): Rename to ...
32687 (grub_msdos_partition_entry): ... this. Update all users.
32688 (grub_pc_partition_mbr): Rename to ...
32689 (grub_msdos_partition_mbr): ... this. Update all users.
32690 (grub_pc_partition): Rename to ...
32691 (grub_msdos_partition): ... this. Update all users.
32692 (grub_pc_partition_is_empty): Rename to ...
32693 (grub_msdos_partition_is_empty): ... this. Update all users.
32694 (grub_pc_partition_is_extended): Rename to ...
32695 (grub_msdos_partition_is_extended): ... this. Update all users.
32696 (grub_pc_partition_is_bsd): Rename to ...
32697 (grub_msdos_partition_is_bsd): ... this. Update all users.
32698
32699 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
32700 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
32701 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
32702 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
32703 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
32704 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
32705 (gpt_mod_LDFLAGS): Rename to ...
32706 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
32707 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
32708 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
32709 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
32710 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
32711 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
32712 (part_gpt_mod_LDFLAGS): ... this.
32713 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
32714 `pcpart.mod' to `msdospart.mod'.
32715 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
32716 to ...
32717 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
32718 (msdospart_mod_LDFLAGS): ... this.
32719
c11fded5 327202009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
32721
32722 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
32723 (openbsd_opts): Likewise.
32724 (netbsd_opts): Likewise.
32725 (freebsd_flags): Added 0 terminator.
32726 (openbsd_flags): Likewise.
32727 (netbsd_flags): Likewise.
32728 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
32729 (grub_cmd_freebsd): Transformed into extended command.
32730 (grub_cmd_openbsd): Likewise.
32731 (grub_cmd_netbsd): Likewise.
32732 (cmd_freebsd): Changed type to grub_extcmd_t.
32733 (cmd_openbsd): Likewise.
32734 (cmd_netbsd): Likewise.
32735 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
32736 grub_cmd_openbsd as extended commands.
32737 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
32738 cmd_netbsd and cmd_openbsd
32739
11d1c769 327402009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
32741
32742 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
32743
7a9094e5 327442009-08-21 Pavel Roskin <proski@gnu.org>
32745
5496c37e 32746 * Makefile.in (install-local): When checking if a file is in the
32747 build directory, use "test -e" to detect symlinks.
32748
7a9094e5 32749 * Makefile.in (install-local): Remove all files in
32750 $(DESTDIR)$(pkglibdir) before installing new files there.
32751
e53cea11 327522009-08-18 Felix Zielcke <fzielcke@z-51.de>
32753
32754 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
32755 grub-mkelfimage.
32756
9aced544 327572009-08-18 Felix Zielcke <fzielcke@z-51.de>
32758
32759 * util/grub-mkconfig.in: Don't use gfxterm by default if not
32760 explicitly specified by the user.
32761
b7da6bab 327622009-08-18 Pavel Roskin <proski@gnu.org>
32763
32764 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
32765 grub_uint8_t pointer for data.
32766 * include/grub/fbutil.h (struct grub_video_fbblit_info):
32767 Likewise.
32768 * video/fb/fbutil.c: Remove unnecessary casts.
32769
19f1b335 327702009-08-17 Michal Suchanek <hramrach@centrum.cz>
32771
32772 VBE cleanup.
32773
32774 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
32775 (grub_vbe_set_video_mode): Save active mode info
32776 only after setting the mode.
32777 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
32778 second argument.
32779
2f467aa9 327802009-08-17 Michal Suchanek <hramrach@centrum.cz>
32781
32782 Rename variables for clarity.
32783
32784 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
32785 (active_vbe_mode_info): ... this. All users updated.
32786 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
32787 All users updated.
32788 (initial_mode): Rename to ...
32789 (initial_vbe_mode): ... this. All users updated.
32790 (mode_in_use): Rename to ..
32791 (vbe_mode_in_use): ... this. All users updated.
32792 (mode_list): Rename to ..
32793 (vbe_mode_list): ... this. All users updated.
32794 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
32795 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
32796 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
32797 'mode_list_size' to 'vbe_mode_list_size'.
32798 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
32799 'best_mode_info' to 'best_vbe_mode_info' and
32800 'best_mode' to 'best_vbe_mode'
32801
6025fcd7 328022009-08-17 Michal Suchanek <hramrach@centrum.cz>
32803
32804 Remove duplicate grub_video_fb_get_video_ptr.
32805
32806 * include/grub/fbutil.h (get_data_ptr): Rename to ...
32807 (grub_video_fb_get_video_ptr): ... this.
32808 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
32809 * video/fb/fbutil.c: Add comment about addressing.
32810 (get_data_ptr): Rename to ...
32811 (grub_video_fb_get_video_ptr): ... this. All users updated.
32812 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
32813
cc8c6faf 328142009-08-17 Robert Millan <rmh.grub@aybabtu.com>
32815
32816 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
32817 grub_dprintf() that was just added.
32818
08aa61f0 328192009-08-17 Robert Millan <rmh.grub@aybabtu.com>
32820
32821 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
32822 (DEFAULT_VIDEO_MODE): Remove macros.
32823 (grub_linux_boot): Remove assumption that Linux has FB support,
32824 and use "text" as default video mode.
32825
7cef4f75 328262009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
32827
32828 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
32829 grub_dprintf.
32830 * fs/fat.c (grub_fat_read_data): Likewise.
32831
e1f39873 328322009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
32833
32834 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
32835 payload.
32836 (grub_module): Likewise.
32837
c166d79e 328382009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
32839
32840 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
32841 mbi->cmdline but free playground.
32842
c60cee8e 328432009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
32844
32845 Handle group offset on UFS1.
32846
32847 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
32848 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
32849
c0d8b5d4 328502009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
32851
32852 Split ufs.mod into ufs1.mod and ufs2.mod.
32853
32854 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
32855 (grub_fstest_SOURCES): Likewise.
32856 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
32857 (ufs_mod_SOURCES): Remove.
32858 (ufs_mod_CFLAGS): Likewise.
32859 (ufs_mod_LDFLAGS): Likewise.
32860 (ufs1_mod_SOURCES): New variable.
32861 (ufs1_mod_CFLAGS): Likewise.
32862 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 32863 (ufs2_mod_SOURCES): New variable.
32864 (ufs2_mod_CFLAGS): Likewise.
32865 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 32866 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
32867 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
32868 Likewise.
32869 (grub_emu_SOURCES): Likewise.
32870 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32871 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32872 (grub_setup_SOURCES): Likewise.
32873 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32874 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
32875 (grub_setup_SOURCES): Likewise.
32876 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
32877 Likewise.
32878 * fs/ufs2.c: New file.
32879 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
32880
d3539132 328812009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
32882
32883 Framebuffer split.
32884
32885 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
32886 subsystem at the end.
32887 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
32888 (video_fb_mod_SOURCES): New variable.
32889 (video_fb_mod_CFLAGS): Likewise.
32890 (video_fb_mod_LDFLAGS): Likewise.
32891 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
32892 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
32893 * video/i386/pc/vbeblit.c: Moved from here ...
32894 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
32895 * video/i386/pc/vbefill.c: Moved from here ...
32896 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
32897 * video/i386/pc/vbeutil.c: Moved from here ...
32898 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
32899 * include/grub/i386/pc/vbeblit.h: Moved from here ...
32900 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
32901 * include/grub/i386/pc/vbefill.h: Moved from here ...
32902 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
32903 * include/grub/i386/pc/vbeutil.h: Moved from here ...
32904 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
32905 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
32906 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
32907 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
32908 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
32909 (grub_video_adapter): Added 'get_info_and_fini'.
32910 (grub_video_get_info_and_fini): New prototype.
32911 (grub_video_set_mode): make modestring const char *.
32912 * loader/i386/linux.c (grub_linux_setup_video): Use
32913 grub_video_get_info_and_fini.
32914 (grub_linux_boot): Move modesetting just before booting.
32915 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
32916 grub_video_get_info_and_fini.
32917 * video/i386/pc/vbe.c: Moved framebuffer part ...
32918 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
32919 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
32920 grub_video_fbstd_colors and grub_video_fb_set_palette.
32921 (grub_video_vbe_init): Clear 'framebuffer' variable and use
32922 grub_video_fb_init.
32923 (grub_video_vbe_fini): Use grub_video_fb_fini.
32924 (grub_video_vbe_setup): Use framebuffer.render_target instead of
32925 render_target and use grub_video_fb_set_active_render_target and
32926 grub_video_fb_set_palette.
32927 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
32928 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
32929 (grub_video_vbe_adapter): Use framebuffer.
32930 * video/video.c (grub_video_get_info_and_fini): New function.
32931 (grub_video_set_mode): Make modestring const char *.
32932 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
32933 values are already initialised.
32934
d404ee56 329352009-08-14 Pavel Roskin <proski@gnu.org>
32936
32937 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
32938 ABS and APPLE_CC.
32939 * boot/i386/pc/diskboot.S: Likewise.
32940 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
32941 sectors allow compilation on MacOSX.
32942 * conf/i386-pc.rmk: Enable unconditional compilation of
32943 lnxboot.img.
32944
9a10df16 329452009-08-13 Colin Watson <cjwatson@ubuntu.com>
32946
32947 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
32948 * util/grub.d/00_header.in: Enter interruptible sleep if
32949 GRUB_HIDDEN_TIMEOUT is set.
32950
be3c9ca7 329512009-08-13 Yves Blusseau <blusseau@zetam.org>
32952
32953 * include/grub/symbol.h: Add the LOCAL macro.
32954 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
32955 starting with "L_".
32956
1f9e557e 329572009-08-13 Pavel Roskin <proski@gnu.org>
32958
9ca62843 32959 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
32960 any modern compilers we support.
32961
1f9e557e 32962 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
32963 Use local labels starting with "L_" so that Apple assembler
32964 knows they are local.
32965
81623db6 329662009-08-10 Robert Millan <rmh.grub@aybabtu.com>
32967
32968 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
32969 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
32970 (bsd_kernel_types): ... this enum.
32971
32972 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
32973 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
32974 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
32975
32976 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
32977 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
32978 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
32979 messages.
32980
f5d35e7a 329812009-08-08 Robert Millan <rmh.grub@aybabtu.com>
32982
32983 * util/grub-dumpdevtree: Moved from here ...
32984 * util/i386/efi/grub-dumpdevtree: ... to here.
32985 (hexify): New function. Converts a string to its hex version.
32986 Generate hex versions of "efi" and "device-properties" by calling
32987 hexify() on the ASCII strings rather than by hardcoding numbers.
32988
d1e1d527 329892009-08-08 Robert Millan <rmh.grub@aybabtu.com>
32990
32991 * fs/jfs.c: Update copyright year.
32992
1ebbe064 329932009-08-08 Felix Zielcke <fzielcke@z-51.de>
32994
32995 * util/grub.d/00_header.in: Fix a comment.
32996 * util/grub.d/10_linux.in: Likewise.
32997 * util/grub.d/10_windows.in: Likewise.
32998 * util/grub.d/10_hurd.in: Likewise.
32999
a78c8d24 330002009-08-08 Felix Zielcke <fzielcke@z-51.de>
33001
33002 * util/grub-mkconfig.in: Allow the user to specify the used font
33003 with GRUB_FONT.
33004
29a6b9e8 330052009-08-08 Pavel Roskin <proski@gnu.org>
33006
b5f16cc4 33007 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
33008 available, xfs.mod needs it now.
33009
2f5cb827 33010 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
33011 the "g" modifier in sed when the intention is to strip something
33012 once. This fixes comparison of kernels with multiple dashes.
33013
29a6b9e8 33014 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
33015 on it. Add missing space before closing bracket. Fix
33016 misleading formatting.
33017
892a3d98 330182009-08-07 Robert Millan <rmh.grub@aybabtu.com>
33019
33020 * docs/grub.texi: Major overhaul. Remove all sections that are
33021 specific to GRUB Legacy, or mostly composed of Legacy-specific
33022 information.
33023
ed94253f 330242009-08-07 Robert Millan <rmh.grub@aybabtu.com>
33025
33026 * docs/version.texi: New file. Provides version information for
33027 grub.texi.
33028
126d6628 330292009-08-07 Robert Millan <rmh.grub@aybabtu.com>
33030
33031 * docs/grub.texi: Update CVS information to SVN.
33032 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
33033
998b5aa9 330342009-08-07 Felix Zielcke <fzielcke@z-51.de>
33035
33036 * util/grub-mkconfig.in: Remove a wrong `fi'.
33037
818e094a 330382009-08-07 Felix Zielcke <fzielcke@z-51.de>
33039
33040 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
33041 (grub_jfs_uuid): New function.
33042 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
33043
b969c52f 330442009-08-07 Felix Zielcke <fzielcke@z-51.de>
33045
33046 * util/grub-mkconfig_lib.in (font_path): Move the functionality
33047 of it to ...
33048 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
33049 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
33050
7a4894cc 330512009-08-07 Robert Millan <rmh.grub@aybabtu.com>
33052
33053 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
33054 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
33055 Update all users.
33056
33057 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
33058 not just "vmlinu[zx]".
33059 Moved from here ...
33060 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
33061 all users.
33062
33063 * util/grub.d/10_linux.in (find_latest): Moved from here ...
33064 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
33065 all users.
33066
4e2171f8 330672009-08-07 Robert Millan <rmh.grub@aybabtu.com>
33068
33069 * util/grub.d/10_freebsd.in: Use an absolute device path for
33070 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
33071
6dcfcb32 330722009-08-06 Felix Zielcke <fzielcke@z-51.de>
33073
33074 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
33075 handling of multiple abstraction modules.
33076
f56a8756 330772009-08-04 Robert Millan <rmh.grub@aybabtu.com>
33078
33079 Fix a bug resulting in black screen when loading Linux using a
33080 packed video mode.
33081
33082 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
33083 function.
33084
33085 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
33086 (grub_vbe_bios_getset_dac_palette_width): New function.
33087 (grub_vbe_bios_get_dac_palette_width)
33088 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
33089 grub_vbe_bios_getset_dac_palette_width()).
33090
33091 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
33092 check for return status.
33093 (grub_vbe_get_video_mode_info): When getting information for a packed
33094 mode (<= 8 bpp), obtain DAC palette width using
33095 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
33096 {red,green,blue}_mark_size.
33097
222671b2 330982009-08-04 Felix Zielcke <fzielcke@z-51.de>
33099
ecb1a6d9 33100 * commands/search.c (options): Fix help output to match actual code.
222671b2 33101
f84114f5 331022009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
33103
33104 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
33105 of homegrown code.
33106
bd288a20 331072009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 33108
33109 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
33110 on XFS or ReiserFS.
33111
8aab5e25 331122009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
33113
33114 Support Apple partition map with sector size different from 512 bytes.
33115
33116 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
33117 (apple_partition_map_iterate): Respect 'aheader.blocksize'
33118 and 'apart.partmap_size'.
33119
6ad6258a 331202009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
331212009-08-01 Robert Millan <rmh.grub@aybabtu.com>
33122
33123 Fix cpuid command.
33124
33125 * commands/i386/cpuid.c (options): New variable.
33126 (grub_cmd_cpuid): Return real error.
33127 (GRUB_MOD_INIT(cpuid)): Declare options.
33128
67459bc6 331292009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
33130
33131 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
33132 valid.
33133
fbc6ab54 331342009-07-31 Bean <bean123ch@gmail.com>
33135
33136 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
33137 log2_inode.
33138 (grub_fshelp_node): Move inode field to the end.
33139 (grub_xfs_data): Remove inode field.
33140 (grub_xfs_inode_block): Calculate inode size using sblock.
33141 (grub_xfs_inode_offset): Likewise.
33142 (grub_xfs_read_inode): Calculate inode size using sblock.
33143 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
33144 (grub_xfs_iterate_dir): Calculate inode size using sblock.
33145 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
33146 to match inode size.
33147 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
33148 not accessible when data is null.
33149 (grub_xfs_open): Likewise.
33150
f45d6cfc 331512009-07-31 Bean <bean123ch@gmail.com>
33152
33153 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
33154 Don't change pv->disk if it's already set.
33155
33156 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
33157 (grub_raid_register): ... here.
33158 (grub_raid_rescan): Removed.
33159
33160 * include/grub/raid.h (grub_raid_rescan): Removed.
33161
33162 * util/grub-fstest.c: Remove include file <grub/raid.h>.
33163 (fstest): Replace grub_raid_rescan with module fini function followed
33164 by init function.
33165
33166 * util/grub-probe.c: Add include file <grub/raid.h>.
33167 (probe_raid_level): New function.
33168 (probe): Detect abstraction by walking the disk device, support two
33169 level of abstraction (LVM on RAID) when detecting partition map.
33170
24443b5a 331712009-07-31 Pavel Roskin <proski@gnu.org>
33172
33173 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
33174 to grub_zalloc(), it was erroneous.
33175 Reported by Bean <bean123ch@gmail.com>
33176
a275d9e7 331772009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
33178
33179 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 33180 embedding zone, not only the first one.
a275d9e7 33181
56c5a47f 331822009-07-29 Joe Auricchio <jauricchio@gmail.com>
33183
33184 * term/gfxterm.c (clear_char): New function.
33185 (grub_virtual_screen_setup): Use clear_char.
33186 (scroll_up): Likewise.
33187 (grub_virtual_screen_cls): Likewise.
33188
67bb323a 331892009-07-29 Felix Zielcke <fzielcke@z-51.de>
33190
33191 * util/deviceiter.c (get_acceleraid_disk_name): New static
33192 function.
33193 (grub_util_iterate_devices): Handle Accelraid devices.
33194 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
33195
388a7c75 331962009-07-28 Robert Millan <rmh.grub@aybabtu.com>
33197
33198 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
33199 separator for the suggested gfxpayload string (';' collides with the
33200 parser and needs escaping).
33201
3bb7abcf 332022009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
33203
33204 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
33205 Clear direction flag before jumping to OS.
33206 (grub_multiboot2_real_boot): Likewise.
33207
2ddd36d7 332082009-07-28 Felix Zielcke <fzielcke@z-51.de>
33209
33210 * util/i386/pc/grub-install: Fix parsing of --disk-module
33211 option.
33212
c521b62b 332132009-07-28 Felix Zielcke <fzielcke@z-51.de>
33214
33215 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
33216 when embedding.
33217
880e0a0c 332182009-07-26 Felix Zielcke <fzielcke@z-51.de>
33219
33220 * util/grub-mkconfig.in (package_version): New variable.
33221 Use it do display the version.
33222
2366e356 332232009-07-25 Felix Zielcke <fzielcke@z-51.de>
33224
33225 * kern/file.c (grub_file_open): Revert to previous check with
33226 grub_errno.
33227
7ad8c80e 332282009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
33229
33230 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
33231 from help line. It's out of sync with code.
33232
72b9658b 332332009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
33234
33235 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
33236 entries on failed boot.
33237
77435277 332382009-07-25 Felix Zielcke <fzielcke@z-51.de>
33239
33240 * kern/file.c (grub_file_open): Fix an error check.
33241
fcaa8b21 332422009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
33243
35d16c74 33244 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
33245 partition map couldn't be identified.
fcaa8b21 33246
48904cd1 332472009-07-23 Pavel Roskin <proski@gnu.org>
33248
ef3c317f 33249 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
33250 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
33251 case of little endian words becomes just an optimization.
33252 Respect const modifier.
ad8ea1f4 33253 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 33254
48904cd1 33255 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
33256 to avoid loss of upper bits if align is unsigned and shorter
33257 than addr.
33258
260c9a89 332592009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
33260
33261 UUID support for UFS
33262
33263 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
33264 (grub_ufs_uuid): New function.
33265 (grub_ufs_fs): add .uuid
33266
f76ce889 332672009-07-21 Pavel Roskin <proski@gnu.org>
33268
33269 * kern/dl.c (grub_dl_check_header): Make static.
33270
6a6cbcaf 332712009-07-21 Felix Zielcke <fzielcke@z-51.de>
33272
33273 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
33274 add drivemap for Vista. It breaks Windows 7.
33275
cffcddb2 332762009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
33277
33278 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
33279 128 bytes
33280
1ef44b80 332812009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
33282
33283 Add BFS support
33284
33285 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
33286 (grub_fstest_SOURCES): Likewise.
33287 (pkglib_MODULES): Add befs.mod.
33288 (befs_mod_SOURCES): New variable.
33289 (befs_mod_CFLAGS): Likewise.
33290 (befs_mod_LDFLAGS): Likewise.
33291 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
33292 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33293 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33294 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33295 (grub_setup_SOURCES): Likewise.
33296 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33297 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33298 (grub_setup_SOURCES): Likewise.
33299 * fs/befs.c: New file.
33300 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
33301 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
33302 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
33303 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
33304 (B_KEY_INDEX_ALIGN): New declaration.
33305 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
33306 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
33307 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
33308 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
33309 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
33310 (grub_afs_mount) [MODE_BFS]: Likewise.
33311 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
33312 (grub_afs_fs): Use GRUB_AFS_FSNAME
33313 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
33314 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
33315 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
33316 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
33317
4f253044 333182009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
33319
33320 * util/getroot.c (find_root_device): Add support for MacOSX.
33321 * util/hostdisk.c: Likewise.
33322
57a55913 333232009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
33324
33325 * font/font.c (find_glyph): Check whether a font is present to avoid
33326 segmentation fault.
75421ca9 33327
333282009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 33329
33330 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
33331
e98cd0c2 333322009-07-20 Pavel Roskin <proski@gnu.org>
33333
33334 * configure.ac: Trim excessively wordy excuses.
33335
1d2d169a 333362009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
33337
33338 Add symlink, mtime and label support to AtheFS.
33339
33340 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
33341 (grub_afs_iterate_dir): Handle symlinks.
33342 (grub_afs_open): Use grub_afs_read_symlink.
33343 (grub_afs_dir): Likewise.
33344 Pass mtime.
33345 (grub_afs_label): New function.
33346 (grub_afs_fs): Add grub_afs_label.
33347 (grub_afs_read_symlink): New function.
33348
186f3189 333492009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
33350
33351 Fix AtheFS support.
33352
33353 * fs/afs.c: Fix comments style.
33354 (grub_afs_blockrun): Declare as packed.
33355 (grub_afs_datastream): Likewise.
33356 (grub_afs_bnode): Likewise.
33357 (grub_afs_btree): Likewise.
33358 (grub_afs_sblock): Likewise.
33359 Declare `name' as char.
33360 (grub_afs_inode): Declare as packed.
33361 Change void *vnode to grub_uint32_t unused.
33362 (grub_afs_iterate_dir): Check that key_size is positive.
33363 (grub_afs_mount): Don't read superblock twice.
75421ca9 33364 (grub_afs_dir): Don't free node in case of error,
186f3189 33365 grub_fshelp_find_file already handles this.
33366 (grub_afs_open): Likewise.
33367
5680109e 333682009-07-19 Pavel Roskin <proski@gnu.org>
33369
33370 * Makefile.in: Remove LIBLZO and enable_lzo.
33371 * conf/i386-pc.rmk: Remove lzo support.
33372 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
33373 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
33374 support.
33375 * kern/i386/pc/lzo1x.S: Remove.
33376 * kern/i386/pc/startup.S: Remove lzo support.
33377 * util/i386/pc/grub-mkimage.c: Likewise.
33378
ac70fa32 333792009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
33380
33381 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
33382 * fs/xfs.c (grub_xfs_dir): Likewise.
33383 * fs/afs.c (grub_afs_dir): Likewise.
33384 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
33385 (grub_iso9660_open): Likewise.
33386 * fs/jfs.c (grub_jfs_open): Likewise.
33387 * fs/ext2.c (grub_ext2_dir): Likewise.
33388 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
33389 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 33390
eab58da2 333912009-07-16 Pavel Roskin <proski@gnu.org>
33392
d2838156 33393 * configure.ac: Never add "-c" to CFLAGS.
33394
55c70904 33395 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
33396
43e6200c 33397 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
33398 grub_cv_cc_efiemu should be used.
33399
ce7a733d 33400 * configure.ac: Typo fixes.
33401
eab58da2 33402 * kern/mm.c (grub_zalloc): New function.
33403 (grub_debug_zalloc): Likewise.
33404 * include/grub/mm.h: Declare grub_zalloc() and
33405 grub_debug_zalloc().
33406 * util/misc.c (grub_zalloc): New function.
33407 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
33408 instead of grub_malloc(), remove unneeded initializations.
33409 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
33410 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
33411 * commands/parttool.c (grub_cmd_parttool): Likewise.
33412 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
33413 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
33414 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
33415 * disk/usbms.c (grub_usbms_finddevs): Likewise.
33416 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
33417 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
33418 (grub_cmd_efiemu_pnvram): Likewise.
33419 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
33420 * fs/iso9660.c (grub_iso9660_mount): Likewise.
33421 (grub_iso9660_iterate_dir): Likewise.
33422 * fs/jfs.c (grub_jfs_opendir): Likewise.
33423 * fs/ntfs.c (list_file): Likewise.
33424 (grub_ntfs_mount): Likewise.
33425 * kern/disk.c (grub_disk_open): Likewise.
33426 * kern/dl.c (grub_dl_load_core): Likewise.
33427 * kern/elf.c (grub_elf_file): Likewise.
33428 * kern/env.c (grub_env_context_open): Likewise.
33429 (grub_env_set): Likewise.
33430 (grub_env_set_data_slot): Likewise.
33431 * kern/file.c (grub_file_open): Likewise.
33432 * kern/fs.c (grub_fs_blocklist_open): Likewise.
33433 * loader/i386/multiboot.c (grub_module): Likewise.
33434 * loader/xnu.c (grub_xnu_create_key): Likewise.
33435 (grub_xnu_create_value): Likewise.
33436 * normal/main.c (grub_normal_add_menu_entry): Likewise.
33437 (read_config_file): Likewise.
33438 * normal/menu_entry.c (make_screen): Likewise.
33439 * partmap/sun.c (sun_partition_map_iterate): Likewise.
33440 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
33441 * script/sh/script.c (grub_script_parse): Likewise.
33442 * video/bitmap.c (grub_video_bitmap_create): Likewise.
33443 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
33444 * video/readers/png.c (grub_png_output_byte): Likewise.
33445 (grub_video_reader_png): Likewise.
33446
830afef7 334472009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 33448
33449 Enable all targets that can be built by default
33450
830afef7 33451 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 33452 grub-mkfont and grub-fstest if they can be built
33453
ee293aee 334542009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
33455
33456 Fix hang and segmentation fault in grub-emu-usb
33457
33458 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
33459 * util/usb.c (grub_libusb_devices): likewise
33460 (grub_libusb_init): rename to ...
33461 (GRUB_MOD_INIT (libusb)):...this
33462 (grub_libusb_fini): rename to ..
33463 (GRUB_MOD_FINI (libusb)):...this
33464 * disk/usbms.c (grub_usbms_transfer): fix retry logic
33465 * include/grub/disk.h (grub_raid_init): removed, it's useless
33466 (grub_raid_fini): likewise
33467 (grub_lvm_init): likewise
33468 (grub_lvm_fini): likewise
33469 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
33470 by grub_init_all
33471
94414221 334722009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
33473
33474 Fix libusb
33475
33476 * Makefile.in (LIBUSB): new macro
33477 * genmk.rb (Utility/print_tail): new method
33478 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
33479 (top level): call util.print_tail at the end.
33480
59ade63d 334812009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
33482
33483 Make FreeBSD accept zpool.cache
33484
33485 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
33486 type is /boot/zfs/zpool.cache
33487
a58da8c7 334882009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
33489
33490 Fix 64-bit efiemu
33491
33492 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
33493 correct wrong typedef
33494 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
33495
20591577 334962009-07-15 Pavel Roskin <proski@gnu.org>
33497
560ca572 33498 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
33499 * kern/disk.c (struct grub_disk_cache): Likewise.
33500
e8e8e4fd 33501 * commands/probe.c (options): Typo fix.
33502
fde24e10 33503 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
33504 Increase to 0x5a to accommodate FAT32. Adjust other offsets
33505 accordingly.
33506 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
33507
379c54c1 33508 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
33509 the end of "Error" to make the message more readable.
33510
7bd8f5bf 33511 * boot/i386/pc/boot.S (kernel_segment): Remove.
33512 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
33513 for destination.
33514
40b132c5 33515 * boot/i386/pc/boot.S (boot_version): Remove.
33516 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
33517 Remove.
33518
20591577 33519 * include/grub/i386/pc/boot.h: Sort all offsets.
33520 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
33521 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
33522 * boot/i386/pc/boot.S: Assert location of every offset listed in
33523 include/grub/i386/pc/boot.h.
33524
2df32b2c 335252009-07-13 Pavel Roskin <proski@gnu.org>
33526
44b5d879 33527 * include/grub/i386/coreboot/machine.h: Rename
33528 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
33529 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
33530 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
33531
17dc3751 33532 * kern/dl.c: Force native word size to suppress warnings when
33533 compiling grub-emu.
33534
2df32b2c 33535 * kern/device.c (grub_device_iterate): Change struct part_ent to
33536 hold the name, not a pointer to it. Use one grub_malloc() per
33537 partition, not two. Free partition_name if grub_malloc() fails.
33538 Set ents to NULL only before grub_partition_iterate() is called.
33539
75c59f59 335402009-07-11 Bean <bean123ch@gmail.com>
33541
33542 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
33543 childname.
33544
0ae1bf88 335452009-07-10 Bean <bean123ch@gmail.com>
335462009-07-10 Robert Millan <rmh.grub@aybabtu.com>
33547
33548 * kern/ieee1275/openfw.c (grub_children_iterate)
33549 (grub_devalias_iterate): Fix size evaluation for property or path
33550 strings, which was broken since r2132.
33551
8279cade 335522009-07-07 Pavel Roskin <proski@gnu.org>
33553
7d8a52d3 33554 * commands/search.c (search_file): Merge into ...
33555 (search_fs): ... this. Accept search type as argument.
33556 (grub_cmd_search): Pass search type to search_fs().
33557
25f9a05a 33558 * include/grub/util/console.h: New file.
33559 * util/console.c: Use it instead of grub/machine/console.h.
33560 * util/grub-emu.c: Likewise.
33561
8279cade 33562 * lib/arg.c (find_long_option): Remove.
33563 (find_long): Add `len' argument, make `s' const char *.
33564 (grub_arg_parse): Parse long options in place, not in a
33565 temporary buffer.
33566
4a11b60f 335672009-07-06 Pavel Roskin <proski@gnu.org>
33568
99f68041 33569 * commands/search.c (search_fs): Fix potential NULL pointer
33570 dereference.
33571
4a11b60f 33572 * commands/search.c (search_fs): Replace QUID macro with quid_fn
33573 function pointer.
33574
e110f4de 335752009-07-06 Daniel Mierswa <impulze@impulze.org>
33576
33577 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
33578 comparison.
33579
46eeb6a2 335802009-07-05 Pavel Roskin <proski@gnu.org>
33581
bab74958 33582 * include/grub/i386/linux.h (struct linux_kernel_params):
33583 Restore padding3, it's still needed.
33584
46eeb6a2 33585 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
33586 FreeBSD.
33587 * util/osdetect.lua: Likewise.
33588
b4a1dc79 335892009-07-05 Bean <bean123ch@gmail.com>
33590
33591 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
33592
33593 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
33594 (grub_lua_getenv): Likewise.
33595 (grub_lua_setenv): Likewise.
33596 (save_errno): New function.
33597 (push_result): Likewise.
33598 (grub_lua_enum_device): Likewise.
33599 (grub_lua_enum_file): Likewise.
33600 (grub_lua_file_open): Likewise.
33601 (grub_lua_file_close): Likewise.
33602 (grub_lua_file_seek): Likewise.
33603 (grub_lua_file_read): Likewise.
33604 (grub_lua_file_getline): Likewise.
33605 (grub_lua_file_getsize): Likewise.
33606 (grub_lua_file_getpos): Likewise.
33607 (grub_lua_file_eof): Likewise.
33608 (grub_lua_file_exist): Likewise.
33609 (grub_lua_add_menu): Likewise.
33610
33611 * script/lua/grub_lua.h (isupper): New inline function.
33612 (islower): Likewise.
33613 (ispunct): Likewise.
33614 (isxdigit): Likewise.
33615 (strcspn): Change to normal function.
33616 (strpbkr): New function declaration.
33617 (memchr): Likewise.
33618
33619 * script/lua/grub_main.c (scan_str): New function.
33620 (strcspn): Likewise.
33621 (strpbrk): Likewise.
33622 (memchr): Likewise.
33623
33624 * script/lua/linit.c (lualibs): Enable the string library.
33625
33626 * util/osdetect.lua: New file.
33627
2da92295 336282009-07-04 Robert Millan <rmh.grub@aybabtu.com>
33629
33630 * include/grub/i386/linux.h (struct linux_kernel_params): Add
33631 `capabilities' member.
33632
b2582ec9 336332009-07-02 Pavel Roskin <proski@gnu.org>
33634
33635 * genparttoollist.sh: Add missing newline at the end.
33636
32622956 336372009-07-01 Pavel Roskin <proski@gnu.org>
33638
87a7339e 33639 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
33640
d23af54e 33641 * util/hostdisk.c (open_device): Remove `const' from
33642 `sysctl_size', as sysctlbyname() can change it (in this case it
33643 doesn't actually happen).
33644
c94b18a9 33645 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
33646 using signed long int constants.
33647
c6cd3ef0 33648 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
33649 constant to avoid a warning on FreeBSD.
33650
0df63420 33651 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
33652 where it's needed.
33653
999577f1 33654 * Makefile.in: Install include/grub/machine symlink.
33655
6f41557f 33656 * Makefile.in: When installing symlinks, use "cp -fR", which
33657 works on FreeBSD and MacOSX.
33658 From Yves Blusseau <cl7m42e02@sneakemail.com>
33659
c8d22988 33660 * kern/dl.c (grub_dl_resolve_symbol): Make static.
33661 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
33662
1b96e952 33663 * util/misc.c: Move grub_reboot() and grub_halt() ...
33664 * util/grub-emu.c: ... here. Make main_env static.
33665 * include/grub/util/misc.h: Remove main_env.
33666
2ef0084d 33667 * kern/mm.c: Use correct format to print size_t.
33668
32622956 33669 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
33670 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
33671 * kern/powerpc/dl.c: Likewise.
33672 * kern/sparc64/dl.c: Likewise.
33673 * kern/x86_64/dl.c: Likewise.
33674
3f7f0cd0 336752009-07-01 Robert Millan <rmh.grub@aybabtu.com>
33676
33677 Fix grub-emu build on sparc64-ieee1275.
33678
75421ca9 33679 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 33680 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
33681
211d06b5 336822009-07-01 Robert Millan <rmh.grub@aybabtu.com>
33683
33684 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
33685 (grub_reboot, grub_halt): New functions.
33686
33687 * util/i386/pc/misc.c: Delete. Update all users.
33688 * util/sparc64/ieee1275/misc.c: Likewise.
33689 * util/powerpc/ieee1275/misc.c: Likewise.
33690
aaf53e3c 336912009-07-01 Robert Millan <rmh.grub@aybabtu.com>
33692
33693 * conf/i386.rmk (setjmp_mod_SOURCES)
33694 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
33695 * conf/common.rmk (setjmp_mod_SOURCES)
33696 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
33697 to use $(target_cpu).
33698 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
33699 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
33700 * conf/powerpc-ieee1275.rmk: Likewise.
33701 * conf/sparc64-ieee1275.rmk: Likewise.
33702
33703 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
33704 $(target_cpu) for kern/$(target_cpu)/dl.c.
33705 * conf/i386-efi.rmk: Likewise.
33706 * conf/i386-ieee1275.rmk: Likewise.
33707 * conf/x86_64-efi.rmk: Likewise.
33708 * conf/i386-coreboot.rmk: Likewise.
33709 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
33710 $(target_cpu) for kern/$(target_cpu)/dl.c and for
33711 kern/$(target_cpu)/cache.S.
33712 * conf/sparc64-ieee1275.rmk: Likewise.
33713
a337130b 337142009-07-01 Robert Millan <rmh.grub@aybabtu.com>
33715
33716 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
33717 type to `grub_uint8_t', and adjust `padding9' accordingly.
33718
c6fe4d53 337192009-06-29 Robert Millan <rmh.grub@aybabtu.com>
33720
b09db61d 33721 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
33722
c6fe4d53 33723 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
33724 assembly in final jump, using register constraints.
33725
b09db61d 33726 (grub_linux_boot): For text mode, initialize `have_vga' using
33727 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
33728
33729 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
33730 right before the final jump.
33731
33732 Set `video_mode' to 0x3.
33733
33734 Document initialization of `video_page', `video_mode' and
33735 `video_ega_bx'.
33736
28333ad0 337372009-06-29 Robert Millan <rmh.grub@aybabtu.com>
33738
33739 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
33740 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 33741 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 33742
02164e1b 337432009-06-29 Robert Millan <rmh.grub@aybabtu.com>
33744
33745 Fix build on Debian / sparc.
33746
33747 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
33748
18b6c557 337492009-06-28 Pavel Roskin <proski@gnu.org>
33750
85f2aab6 33751 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
33752 fix a warning.
33753
18b6c557 33754 * util/grub.d/10_linux.in: Match SUSE style initrd names.
33755
ad760f81 337562009-06-27 Robert Millan <rmh.grub@aybabtu.com>
33757
33758 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
33759 `err'.
33760
87a4623b 337612009-06-27 Robert Millan <rmh.grub@aybabtu.com>
33762
33763 Revert r2338.
33764
33765 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
33766 file can't be opened. grub_file_open() is already supposed to set
75421ca9 33767 grub_errno / grub_errmsg appropriately.
87a4623b 33768 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
33769
8231fb77 337702009-06-27 Pavel Roskin <proski@gnu.org>
337712009-06-27 Robert Millan <rmh.grub@aybabtu.com>
33772
33773 * include/grub/dl.h: Include grub/elf.h.
33774 (struct grub_dl): Add symtab field.
33775 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
33776 GRUB_MODULES_MACHINE_READONLY.
33777 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
33778 of the header for read-only modules.
33779 (grub_dl_unload): Free mod->symtab for read-only modules.
33780 * kern/i386/dl.c: Use mod->symtab.
33781 * kern/powerpc/dl.c: Likewise.
33782 * kern/sparc64/dl.c: Likewise.
33783 * kern/x86_64/dl.c: Likewise.
33784
33785 * conf/i386-qemu.rmk: New file.
33786 * kern/i386/qemu/startup.S: Likewise.
33787 * kern/i386/qemu/mmap.c: Likewise.
33788 * boot/i386/qemu/boot.S: Likewise.
33789 * include/grub/i386/qemu/time.h: Likewise.
33790 * include/grub/i386/qemu/serial.h: Likewise.
33791 * include/grub/i386/qemu/kernel.h: Likewise.
33792 * include/grub/i386/qemu/console.h: Likewise.
33793 * include/grub/i386/qemu/boot.h: Likewise.
33794 * include/grub/i386/qemu/init.h: Likewise.
33795 * include/grub/i386/qemu/machine.h: Likewise.
33796 * include/grub/i386/qemu/loader.h: Likewise.
33797 * include/grub/i386/qemu/memory.h: Likewise.
33798
33799 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
33800 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
33801 [qemu] (pkglib_IMAGES): Add `boot.img'.
33802 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
33803 [qemu] (boot_img_FORMAT): New variables.
33804 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
33805 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
33806 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
33807 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
33808 [qemu] (kernel_img_FORMAT): New variables.
33809
33810 * configure.ac: Recognise `i386-qemu'.
33811
33812 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
33813 (for no compression).
33814 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
33815 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
33816 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
33817 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
33818 ifdefs).
33819
97fe384e 338202009-06-27 Pavel Roskin <proski@gnu.org>
33821
33822 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
33823 read.
33824 * efiemu/prepare32.c: Likewise.
33825 * efiemu/prepare64.c: Likewise.
33826
c402ab17 338272009-06-26 Pavel Roskin <proski@gnu.org>
33828
33829 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
33830 * include/grub/elf.h: Define symbols without "32" or "64" based
33831 on GRUB_TARGET_WORDSIZE.
33832 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
33833 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
33834 ELF definitions.
33835 * efiemu/loadcore64.c: Likewise.
33836 * loader/i386/bsd32.c: Likewise.
33837 * loader/i386/bsd64.c: Likewise.
33838 * kern/dl.c: Remove own ELF definitions.
33839 * util/i386/efi/grub-mkimage.c: Likewise.
33840
9bbdfd4d 338412009-06-23 Robert Millan <rmh.grub@aybabtu.com>
33842
33843 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
33844 segment 0x0 unconditionally, because the reference generated by
33845 GAS is an absolute address.
33846
a42ce6e9 338472009-06-22 Robert Millan <rmh.grub@aybabtu.com>
33848
33849 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
33850 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
33851
c952cf92 338522009-06-22 Robert Millan <rmh.grub@aybabtu.com>
33853
33854 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
33855 indexes. Check for -f explicitly.
cc3752ad 33856 (search_file): Improve error message.
33857 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 33858
132a0a59 338592009-06-22 Robert Millan <rmh.grub@aybabtu.com>
33860
33861 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
33862 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
33863
387a140c 338642009-06-22 Robert Millan <rmh.grub@aybabtu.com>
33865
33866 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
33867 * conf/i386-ieee1275.rmk: Likewise.
33868 * conf/i386-coreboot.rmk: Likewise.
33869
33870 * kern/i386/pc/startup.S (grub_stop): Remove function.
33871 * kern/i386/ieee1275/startup.S: Likewise.
33872 * kern/i386/coreboot/startup.S: Likewise.
33873 * kern/i386/misc.S (grub_stop): New function.
33874
41da9665 338752009-06-22 Robert Millan <rmh.grub@aybabtu.com>
33876
33877 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
33878 * kern/i386/realmode.S (real_to_prot): ... to here.
33879
bf337234 338802009-06-22 Robert Millan <rmh.grub@aybabtu.com>
33881
33882 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
33883 with `kernel.img'.
33884 (kernel_elf_SOURCES): Rename to ...
33885 (kernel_img_SOURCES): ... this.
33886 (kernel_elf_HEADERS): Rename to ...
33887 (kernel_img_HEADERS): ... this. Update all users.
33888 (kernel_elf_ASFLAGS): Rename to ...
33889 (kernel_img_ASFLAGS): ... this.
33890 (kernel_elf_CFLAGS): Rename to ...
33891 (kernel_img_CFLAGS): ... this.
33892 (kernel_elf_LDFLAGS): Rename to ...
33893 (kernel_img_LDFLAGS): ... this.
33894 * conf/i386-coreboot.rmk: Likewise.
33895 * conf/powerpc-ieee1275.rmk: Likewise.
33896
33897 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
33898 with "kernel.img".
33899
f52196ff 339002009-06-21 Pavel Roskin <proski@gnu.org>
33901
c3cee413 33902 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
33903 to match nested functions.
33904 * loader/sparc64/ieee1275/linux.c: Likewise.
33905
f52196ff 33906 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
33907
58750afc 339082009-06-21 Robert Millan <rmh.grub@aybabtu.com>
33909
33910 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
33911 all i386 platforms.
33912
15355c7d 339132009-06-21 Robert Millan <rmh.grub@aybabtu.com>
33914
33915 Fix asm file handling on ELF, and remove workarounds.
33916
33917 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 33918 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 33919 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
33920 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
33921
3f3ec72b 339222009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
33923
33924 Load BSD ELF modules
33925
33926 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
33927 and loader/i386/bsd64.c
33928 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
33929 (FREEBSD_MODTYPE_ELF_MODULE): New definition
33930 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
33931 (grub_freebsd_load_elfmodule32): New declaration
33932 (grub_freebsd_load_elfmoduleobj64): Likewise
33933 (grub_freebsd_load_elf_meta32): Likewise
33934 (grub_freebsd_load_elf_meta64): Likewise
33935 (grub_freebsd_add_meta): Likewise
33936 (grub_freebsd_add_meta_module): Likewise
33937 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
33938 (grub_freebsd_add_meta_module): Likewise and move module-specific
33939 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
33940 (grub_cmd_freebsd): Add elf-kernel specific parts
33941 based on grub_freebsd_add_meta_module
33942 (grub_cmd_freebsd_module): Add type parsing moved from
33943 grub_freebsd_add_meta_module
33944 (grub_cmd_freebsd_module_elf): New function
33945 (cmd_freebsd_module_elf): New variable
33946 (GRUB_MOD_INIT): Register freebsd_module_elf
33947 * loader/i386/bsd32.c: New file
33948 * loader/i386/bsd64.c: Likewise
33949 * loader/i386/bsdXX.c: Likewise
33950 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
33951 (grub_elf64_load): Likewise
33952 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
33953 All users updated
33954 (grub_elf64_load_hook_t): Likewise
33955
0db15301 339562009-06-21 Colin Watson <cjwatson@ubuntu.com>
33957
33958 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
33959 variable.
33960 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
33961 don't write a menu entry for recovery mode.
33962
546796c1 339632009-06-20 Robert Millan <rmh.grub@aybabtu.com>
33964
33965 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
33966 after it's no longer needed.
33967
cd7310d5 339682009-06-20 Robert Millan <rmh.grub@aybabtu.com>
33969
33970 * include/grub/i386/loader.h (grub_linux_prot_size)
33971 (grub_linux_tmp_addr, grub_linux_real_addr)
33972 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
33973 GRUB_MACHINE_PCBIOS.
33974 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
33975 common grub_util_info() call to ...
33976 (generate_image): ... here.
33977 Fix use of uninitialized memory, comparison of signed with
33978 unsigned integers and memory leak.
33979 Remove bogus module address message.
33980
ab32d3b5 339812009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
33982
33983 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
33984 grub_raid_register
33985 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
33986
024ef597 339872009-06-19 Pavel Roskin <proski@gnu.org>
33988
33989 * configure.ac: Remove stray AC_MSG_CHECKING.
33990
3ac72b51 339912009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
33992
33993 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 33994
e14cd814 339952009-06-18 Pavel Roskin <proski@gnu.org>
33996
33997 * conf/common.rmk: Add fs_file.mod.
33998 * disk/fs_file.c: New file.
33999 * include/grub/disk.h (enum grub_disk_dev_id): Add
34000 GRUB_DISK_DEVICE_FILE_ID.
34001
26586d98 340022009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
34003
34004 Fix build with Apple's toolchain. Part 2
34005
34006 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
34007 a fake start
34008
26de2bcd 340092009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
34010
34011 Fix build with Apple's toolchain. Part 1
34012
34013 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
34014 for long calls
34015 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 34016 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 34017 Apple's toolchain
34018
09b3490b 340192009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
34020
34021 Fix warnings
34022
34023 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
34024 (decomp_block): initialize ch
34025 use grub_memcpy instead of memcpy
34026
c22a006a 340272009-06-17 Pavel Roskin <proski@gnu.org>
34028
d3638678 34029 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
34030 version, use declarations needed to use vga_text as the startup
34031 console.
34032
c22a006a 34033 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
34034 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
34035 the kernel.
34036 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
34037 and grub_at_keyboard_fini(), it's done on module load and
34038 unload.
34039
05b129e0 340402009-06-17 Felix Zielcke <fzielcke@z-51.de>
34041
34042 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
34043 file can't be found.
34044 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
34045
cf24ed9e 340462009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
34047
34048 Fix newline handling
34049
34050 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 34051 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 34052 (grub_script_yylex): don't segfault on unterminated script
34053 newline terminates command and variable
34054
74aa8e4b 340552009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
34056
34057 avoid double grub_adjust_range call. Bug reported by David Simner
34058
34059 * kern/disk.c (grub_disk_write): change to raw disk access before
34060 calling disk_read
34061
1bd265f3 340622009-06-17 Colin Watson <cjwatson@ubuntu.com>
34063
34064 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
34065 spaces, for the benefit of help2man.
34066 * util/i386/efi/grub-mkimage.c (usage): Likewise.
34067
a2d08c06 340682009-06-16 Pavel Roskin <proski@gnu.org>
34069
34070 * kern/i386/halt.c: Include grub/machine/init.h.
34071 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
34072
b97bcb19 340732009-06-16 Felix Zielcke <fzielcke@z-51.de>
34074
34075 * util/grub.d/30_os-prober.in: Use ${root} in the generated
34076 drivemap menuentry.
34077
0644f96c 340782009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
34079
34080 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
34081 `echo' command.
34082
3ef17a2e 340832009-06-16 Pavel Roskin <proski@gnu.org>
34084
34085 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
34086 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
34087 save %dx, we only need %dl and we never change it.
34088 * boot/i386/pc/cdboot.S: Don't set the root drive.
34089 * boot/i386/pc/pxeboot.S: Likewise.
34090 * include/grub/i386/pc/boot.h: Remove
34091 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
34092 GRUB_BOOT_MACHINE_DRIVE_CHECK.
34093 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
34094 * kern/i386/pc/init.c (make_install_device): Remove references
34095 to grub_root_drive.
34096 * kern/i386/pc/startup.S: Likewise.
34097 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
34098
693fe637 340992009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
34100
34101 xnu_uuid command
34102
34103 * commands/xnu_uuid.c: new file
34104 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
34105 (xnu_uuid_mod_SOURCES): new variable
34106 (xnu_uuid_mod_CFLAGS): likewise
34107 (xnu_uuid_mod_LDFLAGS): likewise
34108 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
34109 * conf/i386-ieee1275.rmk: likewise
34110 * conf/i386-pc.rmk: likewise
34111 * conf/powerpc-ieee1275.rmk: likewise
34112 * conf/sparc64-ieee1275.rmk: likewise
34113 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
34114
c9da87d0 341152009-06-16 Pavel Roskin <proski@gnu.org>
34116
34117 * configure.ac: Avoid '==' in test command, it's not portable.
34118
9c6f4596 341192009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
34120
34121 Probe command
34122
34123 * commands/probe.c: new file
34124 * conf/common.rmk (pkglib_MODULES): add probe.mod
34125 (probe_mod_SOURCES): new variable
34126 (probe_mod_CFLAGS): likewise
34127 (probe_mod_LDFLAGS): likewise
34128 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
34129 * conf/i386-ieee1275.rmk: likewise
34130 * conf/i386-pc.rmk: likewise
34131 * conf/powerpc-ieee1275.rmk: likewise
34132 * conf/sparc64-ieee1275.rmk: likewise
34133
70b7f9fd 341342009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
34135
34136 Fix handling of string like \"hello\" and "a
34137 b"
34138
34139 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
34140 (grub_script_yylex): fix parsing of quoting, escaping and newline
34141
71c79a6b 341422009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
34143
dd74360c 34144 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 34145 handling
dd74360c 34146
0644f96c 341472009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 34148
34149 * util/grub-mkconfig.in: Fix parsing of --output option.
34150
e40893c3 341512009-06-12 Pavel Roskin <proski@gnu.org>
34152
34153 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
34154 genmk.rb don't need to be generated or installed.
34155
3a1acfe2 341562009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
34157
34158 * commands/i386/pc/drivemap_int13h.S: add more comments
34159
3a4575d4 341602009-06-11 Pavel Roskin <proski@gnu.org>
34161
0658e928 34162 * Makefile.in (uninstall): Uninstall manuals.
34163
ca0388f0 34164 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
34165 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
34166 and update-grub_lib in two places.
34167 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
34168
e3b27c39 34169 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
34170 a compiler warning.
34171
3a4575d4 34172 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
34173 `entry_lo' to fix variable shadowing.
34174
af1f4f55 341752009-06-11 Christian Franke <franke@computer.org>
34176
34177 * kern/misc.c (__enable_execute_stack): Add missing return type
34178 to prevent gcc warning.
34179
5225e649 341802009-06-11 Felix Zielcke <fzielcke@z-51.de>
34181
34182 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
34183
7d83bd47 341842009-06-11 Pavel Roskin <proski@gnu.org>
34185
c1cb63ba 34186 * Makefile.in: Don't rely on any scripts being executable.
34187 Always use $(SHELL) to run shell scripts.
34188
7d83bd47 34189 * configure.ac: Always define ___main if using -nostdlib. This
34190 fixes tests on Cygwin.
34191
948f48e7 341922009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
34193
34194 UDF fix
34195
7d83bd47 34196 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 34197 is in bytes and not in blocks
7d83bd47 34198
8ada9bc1 341992009-06-11 Pavel Roskin <proski@gnu.org>
34200
34201 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
34202 warning.
34203
25ad2323 342042009-06-11 Felix Zielcke <fzielcke@z-51.de>
34205
34206 * util/grub.d/30_os-prober.in: Fix a comment. Source
34207 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
34208 to set the root device. Place drivemap command in the generated
34209 chain entry.
34210
e65acb0c 342112009-06-11 Pavel Roskin <proski@gnu.org>
34212
34213 * configure.ac: Remove host_m32. Issues with 64-bit utilities
34214 have long been resolved.
34215
f285fe2d 342162009-06-11 Colin Watson <cjwatson@ubuntu.com>
34217
bd47b0b5 34218 * util/grub.d/10_linux.in: Capitalise "Linux".
34219
f285fe2d 34220 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
34221
a0c62e4e 342222009-06-11 Pavel Roskin <proski@gnu.org>
34223
b6783cb2 34224 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
34225 fix a gcc warning and ensure that the function won't ever exit.
34226
dde032e8 34227 * kern/i386/ieee1275/init.c: Add missing prototype for
34228 grub_stop_floppy().
34229
22cd079d 34230 * loader/ieee1275/multiboot2.c [__i386__]: Include
34231 grub/cpu/multiboot.h.
34232
a0c62e4e 34233 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
34234 casts to short - they are not portable and cause warnings. Fix
34235 use of uninitialized values in input_buf. Use ARRAY_SIZE.
34236
63963d17 342372009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
34238
34239 Drivemap fixes
34240
34241 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
34242 new function
34243 (grub_get_root_biosnumber_saved): new variable
34244 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
34245 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 34246 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 34247 %dx after the call if necessary
34248 * conf/common.rmk (pkglib_MODULES): remove boot.mod
34249 (boot_mod_SOURCES): remove
34250 (boot_mod_CFLAGS): remove
34251 (boot_mod_LDFLAGS): remove
34252 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
34253 (boot_mod_SOURCES): new variable
34254 (boot_mod_CFLAGS): likewise
34255 (boot_mod_LDFLAGS): likewise
34256 * conf/i386-efi.rmk: likewise
34257 * conf/i386-ieee1275.rmk: likewise
34258 * conf/i386-pc.rmk: likewise
34259 * conf/powerpc-ieee1275.rmk: likewise
34260 * conf/sparc64-ieee1275.rmk: likewise
34261 * conf/x86_64-efi.rmk: likewise
34262 * include/grub/i386/pc/biosnum.h: new file
34263 * lib/i386/pc/biosnum.c: likewise
34264 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
34265 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
34266 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 34267
33abf7ae 342682009-06-10 Pavel Roskin <proski@gnu.org>
34269
5ac35b35 34270 * io/gzio.c (test_header): Don't reuse one buffer for all data.
34271 Use separate variables. Read only the file size at the end, but
34272 not the checksum that we don't use.
34273
5c5215d5 34274 * kern/file.c (grub_file_read): Use void pointer for the buffer.
34275 Adjust all callers.
34276
27d5fef7 34277 * kern/ieee1275/openfw.c: Remove libc includes.
34278 * kern/ieee1275/cmain.c: Likewise.
34279 * include/grub/ieee1275/ieee1275.h: Likewise.
34280
33abf7ae 34281 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
34282 compiler warnings.
34283
19d50c2b 342842009-06-10 Felix Zielcke <fzielcke@z-51.de>
34285
34286 * Makefile.in: Remove all trailing whitespace.
34287 * conf/i386-pc.rmk: Likewise.
34288 * conf/powerpc-ieee1275.rmk: Likewise.
34289 * conf/sparc64-ieee1275.rmk: Likewise.
34290 * docs/grub.texi: Likewise.
34291 * docs/texinfo.tex: Likewise.
34292 * disk/fs_uuid.c: Likewise.
34293 * disk/lvm.c: Likewise.
34294 * disk/scsi.c: Likewise.
34295 * disk/ata.c: Likewise.
34296 * disk/ieee1275/ofdisk.c: Likewise.
34297 * disk/i386/pc/biosdisk.c: Likewise.
34298 * disk/host.c: Likewise.
34299 * disk/raid.c: Likewise.
34300 * disk/efi/efidisk.c: Likewise.
34301 * disk/usbms.c: Likewise.
34302 * disk/memdisk.c: Likewise.
34303 * disk/loopback.c: Likewise.
34304 * kern/powerpc/dl.c: Likewise.
34305 * kern/device.c: Likewise.
34306 * kern/dl.c: Likewise.
34307 * kern/sparc64/dl.c: Likewise.
34308 * kern/ieee1275/ieee1275.c: Likewise.
34309 * kern/term.c: Likewise.
34310 * kern/fs.c: Likewise.
34311 * kern/i386/dl.c: Likewise.
34312 * kern/i386/pc/startup.S: Likewise.
34313 * kern/i386/pc/init.c: Likewise.
34314 * kern/i386/pc/mmap.c: Likewise.
34315 * kern/i386/pc/lzo1x.S: Likewise.
34316 * kern/i386/ieee1275/init.c: Likewise.
34317 * kern/i386/realmode.S: Likewise.
34318 * kern/i386/tsc.c: Likewise.
34319 * kern/partition.c: Likewise.
34320 * kern/corecmd.c: Likewise.
34321 * kern/file.c: Likewise.
34322 * kern/efi/efi.c: Likewise.
34323 * kern/efi/init.c: Likewise.
34324 * kern/efi/mm.c: Likewise.
34325 * kern/main.c: Likewise.
34326 * kern/err.c: Likewise.
34327 * kern/env.c: Likewise.
34328 * kern/disk.c: Likewise.
34329 * kern/generic/millisleep.c: Likewise.
34330 * kern/generic/rtc_get_time_ms.c: Likewise.
34331 * kern/misc.c: Likewise.
34332 * kern/parser.c: Likewise.
34333 * genmk.rb: Likewise.
34334 * configure.ac: Likewise.
34335 * boot/i386/pc/diskboot.S: Likewise.
34336 * boot/i386/pc/pxeboot.S: Likewise.
34337 * boot/i386/pc/boot.S: Likewise.
34338 * boot/i386/pc/lnxboot.S: Likewise.
34339 * boot/i386/pc/cdboot.S: Likewise.
34340 * parttool/pcpart.c: Likewise.
34341 * video/readers/tga.c: Likewise.
34342 * video/video.c: Likewise.
34343 * video/bitmap.c: Likewise.
34344 * lib/envblk.c: Likewise.
34345 * lib/i386/setjmp.S: Likewise.
34346 * fs/xfs.c: Likewise.
34347 * fs/afs.c: Likewise.
34348 * fs/fat.c: Likewise.
34349 * fs/ntfs.c: Likewise.
34350 * fs/udf.c: Likewise.
34351 * fs/affs.c: Likewise.
34352 * fs/iso9660.c: Likewise.
34353 * fs/hfs.c: Likewise.
34354 * fs/fshelp.c: Likewise.
34355 * fs/ext2.c: Likewise.
34356 * fs/jfs.c: Likewise.
34357 * fs/reiserfs.c: Likewise.
34358 * fs/hfsplus.c: Likewise.
34359 * fs/minix.c: Likewise.
34360 * fs/cpio.c: Likewise.
34361 * fs/sfs.c: Likewise.
34362 * fs/ufs.c: Likewise.
34363 * efiemu/prepare.c: Likewise.
34364 * efiemu/loadcore_common.c: Likewise.
34365 * efiemu/runtime/efiemu.sh: Likewise.
34366 * efiemu/runtime/efiemu.S: Likewise.
34367 * efiemu/runtime/efiemu.c: Likewise.
34368 * efiemu/pnvram.c: Likewise.
34369 * efiemu/main.c: Likewise.
34370 * efiemu/i386/pc/cfgtables.c: Likewise.
34371 * efiemu/i386/loadcore64.c: Likewise.
34372 * efiemu/i386/loadcore32.c: Likewise.
34373 * efiemu/loadcore.c: Likewise.
34374 * efiemu/symbols.c: Likewise.
34375 * efiemu/mm.c: Likewise.
34376 * include/grub/autoefi.h: Likewise.
34377 * include/grub/datetime.h: Likewise.
34378 * include/grub/term.h: Likewise.
34379 * include/grub/hfs.h: Likewise.
34380 * include/grub/lvm.h: Likewise.
34381 * include/grub/i386/tsc.h: Likewise.
34382 * include/grub/i386/linux.h: Likewise.
34383 * include/grub/i386/xnu.h: Likewise.
34384 * include/grub/i386/efiemu.h: Likewise.
34385 * include/grub/i386/pc/biosdisk.h: Likewise.
34386 * include/grub/i386/pc/memory.h: Likewise.
34387 * include/grub/i386/pc/vbe.h: Likewise.
34388 * include/grub/parttool.h: Likewise.
34389 * include/grub/video.h: Likewise.
34390 * include/grub/memory.h: Likewise.
34391 * include/grub/fs.h: Likewise.
34392 * include/grub/partition.h: Likewise.
34393 * include/grub/xnu.h: Likewise.
34394 * include/grub/efi/api.h: Likewise.
34395 * include/grub/efi/pe32.h: Likewise.
34396 * include/grub/efi/memory.h: Likewise.
34397 * include/grub/multiboot.h: Likewise.
34398 * include/grub/usbdesc.h: Likewise.
34399 * include/grub/multiboot2.h: Likewise.
34400 * include/grub/acpi.h: Likewise.
34401 * include/grub/efiemu/efiemu.h: Likewise.
34402 * include/grub/disk.h: Likewise.
34403 * include/grub/ieee1275/ieee1275.h: Likewise.
34404 * include/grub/net.h: Likewise.
34405 * include/grub/machoload.h: Likewise.
34406 * include/grub/macho.h: Likewise.
34407 * include/multiboot.h: Likewise.
34408 * genmoddep.awk: Likewise.
34409 * normal/main.c: Likewise.
34410 * normal/menu_entry.c: Likewise.
34411 * normal/menu_viewer.c: Likewise.
34412 * normal/completion.c: Likewise.
34413 * normal/cmdline.c: Likewise.
34414 * normal/misc.c: Likewise.
34415 * normal/datetime.c: Likewise.
34416 * bus/usb/usbtrans.c: Likewise.
34417 * bus/usb/ohci.c: Likewise.
34418 * bus/usb/uhci.c: Likewise.
34419 * bus/usb/usb.c: Likewise.
34420 * mmap/efi/mmap.c: Likewise.
34421 * mmap/i386/pc/mmap_helper.S: Likewise.
34422 * mmap/i386/pc/mmap.c: Likewise.
34423 * mmap/i386/mmap.c: Likewise.
34424 * mmap/i386/uppermem.c: Likewise.
34425 * mmap/mmap.c: Likewise.
34426 * commands/acpi.c: Likewise.
34427 * commands/echo.c: Likewise.
34428 * commands/blocklist.c: Likewise.
34429 * commands/loadenv.c: Likewise.
34430 * commands/usbtest.c: Likewise.
34431 * commands/boot.c: Likewise.
34432 * commands/parttool.c: Likewise.
34433 * commands/search.c: Likewise.
34434 * commands/cat.c: Likewise.
34435 * commands/i386/pc/play.c: Likewise.
34436 * commands/i386/pc/drivemap.c: Likewise.
34437 * commands/i386/pc/vbeinfo.c: Likewise.
34438 * commands/i386/pc/acpi.c: Likewise.
34439 * commands/i386/pc/vbetest.c: Likewise.
34440 * commands/ls.c: Likewise.
34441 * commands/cmp.c: Likewise.
34442 * commands/test.c: Likewise.
34443 * commands/efi/acpi.c: Likewise.
34444 * commands/gptsync.c: Likewise.
34445 * commands/help.c: Likewise.
34446 * partmap/amiga.c: Likewise.
34447 * partmap/apple.c: Likewise.
34448 * partmap/acorn.c: Likewise.
34449 * partmap/pc.c: Likewise.
34450 * partmap/sun.c: Likewise.
34451 * partmap/gpt.c: Likewise.
34452 * script/sh/lexer.c: Likewise.
34453 * script/sh/function.c: Likewise.
34454 * font/font.c: Likewise.
34455 * font/font_cmd.c: Likewise.
34456 * loader/powerpc/ieee1275/linux.c: Likewise.
34457 * loader/efi/chainloader.c: Likewise.
34458 * loader/multiboot_loader.c: Likewise.
34459 * loader/macho.c: Likewise.
34460 * loader/i386/multiboot.c: Likewise.
34461 * loader/i386/linux.c: Likewise.
34462 * loader/i386/pc/linux.c: Likewise.
34463 * loader/i386/pc/multiboot2.c: Likewise.
34464 * loader/i386/pc/chainloader.c: Likewise.
34465 * loader/i386/pc/xnu.c: Likewise.
34466 * loader/i386/bsd_trampoline.S: Likewise.
34467 * loader/i386/efi/linux.c: Likewise.
34468 * loader/i386/multiboot_elfxx.c: Likewise.
34469 * loader/i386/bsd_helper.S: Likewise.
34470 * loader/i386/bsd.c: Likewise.
34471 * loader/i386/linux_trampoline.S: Likewise.
34472 * loader/i386/xnu_helper.S: Likewise.
34473 * loader/i386/xnu.c: Likewise.
34474 * loader/i386/bsd_pagetable.c: Likewise.
34475 * loader/i386/multiboot_helper.S: Likewise.
34476 * loader/xnu.c: Likewise.
34477 * loader/xnu_resume.c: Likewise.
34478 * io/gzio.c: Likewise.
34479 * term/efi/console.c: Likewise.
34480 * term/terminfo.c: Likewise.
34481 * term/ieee1275/ofconsole.c: Likewise.
34482 * term/i386/pc/serial.c: Likewise.
34483 * term/i386/pc/vesafb.c: Likewise.
34484 * term/i386/pc/vga.c: Likewise.
34485 * term/usb_keyboard.c: Likewise.
34486 * term/gfxterm.c: Likewise.
34487 * aclocal.m4: Likewise.
34488 * util/lvm.c: Likewise.
34489 * util/grub.d/30_os-prober.in: Likewise.
34490 * util/grub.d/10_hurd.in: Likewise.
34491 * util/console.c: Likewise.
34492 * util/grub-macho2img.c: Likewise.
34493 * util/grub-probe.c: Likewise.
34494 * util/hostfs.c: Likewise.
34495 * util/i386/pc/grub-mkimage.c: Likewise.
34496 * util/i386/pc/grub-setup.c: Likewise.
34497 * util/i386/efi/grub-mkimage.c: Likewise.
34498 * util/grub-mkconfig.in: Likewise.
34499 * util/raid.c: Likewise.
34500 * util/resolve.c: Likewise.
34501 * util/grub-mkdevicemap.c: Likewise.
34502 * util/grub-emu.c: Likewise.
34503 * util/getroot.c: Likewise.
34504 * util/hostdisk.c: Likewise.
34505 * util/usb.c: Likewise.
34506 * util/grub-editenv.c: Likewise.
34507 * util/misc.c: Likewise.
34508
d2d49665 345092009-06-10 Felix Zielcke <fzielcke@z-51.de>
34510
34511 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
34512 `genparttoollist.sh'.
34513 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
34514 Add `*.sh' to the list find searches for and change `mdate.sh'
34515 to `mdate-sh'.
34516
fe052e37 345172009-06-10 Pavel Roskin <proski@gnu.org>
34518
2763ac18 34519 * include/grub/multiboot2.h: Provide compatibility defines for
34520 multiboot2.h.
34521 * include/multiboot2.h: Include stdint.h only if needed, using
34522 angle brackets.
34523 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
34524 grub/multiboot2.h.
34525 * loader/ieee1275/multiboot2.c: Likewise.
34526 * loader/multiboot2.c: Likewise.
34527 * loader/multiboot_loader.c: Likewise.
34528
437e6adc 34529 * configure.ac: Use -nostdlib when probing for the target. It
34530 should not be required to have libc for the target.
34531
06a6836c 34532 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
34533 they fail without libc headers for the target.
34534 * include/grub/powerpc/libgcc.h: Use weak attribute for all
34535 exports.
34536 * include/grub/sparc64/libgcc.h: Likewise. Don't use
34537 preprocessor conditionals.
34538
fe052e37 34539 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
34540 build system doesn't need to be aware of the tar.c internals.
34541
afd22553 345422009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 34543
afd22553 34544 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 34545
6b787c4f 345462009-06-09 Robert Millan <rmh.grub@aybabtu.com>
34547
34548 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
34549 disk limit to 26 for IDE, Virtio, Xen and SCSI.
34550
345512009-06-09 Felix Zielcke <fzielcke@z-51.de>
34552
34553 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 34554 aren't available if ata.mod gets used.
6b787c4f 34555
473d1e45 345562009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 34557
473d1e45 34558 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 34559 initialising controller.
473d1e45 34560 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 34561
255a27d4 345622009-06-08 Felix Zielcke <fzielcke@z-51.de>
34563
34564 * util/i386/pc/grub-install.in: Add a parameter --disk-module
34565 to choose between ata and biosdisk module on i386-pc.
34566
473d1e45 345672009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 34568
d55842d8 34569 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
34570 Subclass and Programming Interface fields in terms of the 3 byte
34571 Class Code register.
34572 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
34573
fa5db0b1 34574 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
34575 interface is OHCI. Add grub_dprintf for symmetry with
34576 bus/usb/uhci.c.
34577 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
34578 interface is UHCI. Add interf variable for programming
34579 interface. Print interface with class/subclass.
34580
c0947beb 34581 * bus/usb/ohci.c: Set interf with correct field.
34582
69da8877 34583 * bus/usb/uhci.c: Remove unneeded doubled lines.
34584 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
34585 Remove whitespace inside comment.
34586
9e172e30 345872009-06-08 Robert Millan <rmh.grub@aybabtu.com>
34588
34589 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
34590 as fallback an equivalent option without depth.
34591
de65ee2b 345922009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
34593
34594 Not fail if unable to retrieve C/H/S on LBA disks
34595
473d1e45 34596 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 34597 if unable to retrieve C/H/S on LBA disks
34598
b57ea2c9 345992009-06-08 Pavel Roskin <proski@gnu.org>
34600
34601 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
34602 about aliasing.
34603
af361263 346042009-06-08 Felix Zielcke <fzielcke@z-51.de>
34605
34606 * Makefile.in (uninstall): Remove all $lib_DATA files.
34607
4c9ec6b3 346082009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
34609
34610 Bugfix: install on partitionless device
34611
34612 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
34613 is a whole disk
34614
e76fc924 346152009-06-08 Felix Zielcke <fzielcke@z-51.de>
34616
34617 * Makefile.in (uninstall): Remove all $include_DATA files.
34618
ba5a0d05 346192009-06-08 Felix Zielcke <fzielcke@z-51.de>
34620
34621 * commands/true.c: New file. Implement the true and false commands.
34622 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
34623 (true_mod_SOURCES): New variable.
34624 (true_mod_CFLAGS): Likewise.
34625 (true_mod_LDFLAGS): Likewise.
34626
c8048e32 346272009-06-05 Colin D Bennett <colin@gibibit.com>
34628
34629 Optimized font character lookup using binary search instead of linear
34630 search. Fonts now are required to have the character index ordered by
34631 code point.
34632
34633 * font/font.c (load_font_index): Verify that fonts have ordered
34634 character indices.
34635 (find_glyph): Use binary search instead of linear search to find a
34636 character in a font.
34637
408305be 346382009-06-05 Michael Scherer <misc@mandriva.org>
34639
34640 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
34641 uses case sensitive btree.
34642 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
34643 only for case insensitive filesystems.
34644
8ee1e0d9 346452009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
34646
34647 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
34648 * conf/common.rmk (search_mod_CFLAGS): likewise
34649
a9966eb1 346502009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34651
473d1e45 34652 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 34653 compensate a compiler bug
34654
9e7100fb 346552009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34656
473d1e45 34657 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 34658 instead of '\b'
473d1e45 34659
ede21d71 346602009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34661
34662 Definitions for creating asm symbols with Apple's CC
34663
34664 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
34665 [APPLE_CC] (VARIABLE): likewise
34666
9dbf7653 346672009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34668
34669 Disable lnxboot.img when compiled
34670 with Apple's CC
34671
34672 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
34673 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
34674 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
34675 [! APPLE_CC] (CODE_LENG): skip
34676 [! APPLE_CC] (setup_sects): likewise
34677 [! APPLE_CC]: skip filling
473d1e45 34678
e93cdc3d 346792009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34680
34681 Address in trampolines based on 32-bit registers when compiled
34682 with Apple's CC
34683
473d1e45 34684 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 34685 for addresses
34686 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
34687
6c688477 346882009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34689
34690 Avoid aliases when compiling with Apple's CC for PCBIOS machine
34691
34692 * kern/misc.c [APPLE_CC] (memcpy): new function
34693 [APPLE_CC] (memmove): likewise
34694 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 34695 (memcpy): define alias conditionally on !APPLE_CC
6c688477 34696 (memset): likewise
34697 (abort): likewise
34698 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
34699 APPLE_CC are defined
34700 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
34701 (grub_assert_fail): make prototype conditional
34702
e37ffc5c 347032009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34704
34705 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
34706
473d1e45 34707 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
34708 grub-macho2img
e37ffc5c 34709 (CLEANFILES): add grub-macho2img
34710 (grub_macho2img_SOURCES): new variable
34711 * kern/i386/pc/startup.S (bss_start): new variable
34712 (bss_end): likewise
34713 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
34714 * util/grub-macho2img.c: new file
34715
cf00df31 347162009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34717
34718 Use objconv when compiling with Apple's CC
34719
34720 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
34721 (efiemu64.o): likewise
34722 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
34723 when compiling with Apple's CC
34724 (efiemu64_s.o): likewise
34725 * configure.ac: check for objconv when compiling with Apple's CC
34726 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 34727
d119a20c 347282009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34729
34730 Define segment as well as section when compiling with
34731 Apple's CC
34732
34733 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
34734 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
34735 (efiemu_convert_pointer): likewise
34736 (efiemu_set_virtual_address_map): likewise
34737 (efiemu_convert_pointer): likewise
34738 (efiemu_getcrc32): likewise
34739 (init_crc32_table): likewise
34740 (reflect): likewise
34741 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
34742 (GRUB_MOD_DEP): likewise
473d1e45 34743
c8600122 347442009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34745
34746 Allow a compilation without -mcmodel=large
34747
34748 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
34749 when compiled without -mcmodel=large
473d1e45 34750 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 34751 without -mcmodel=large
473d1e45 34752 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 34753 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 34754
e8df1d4e 347552009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34756
34757 Remove nested functions in efiemu core
34758
34759 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 34760
cc6c3ac1 347612009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34762
34763 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
34764
34765 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
34766 temporary storage
473d1e45 34767 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
34768 using Apple's CC
cc6c3ac1 34769 (grub_cpu_is_tsc_supported): likewise
34770 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 34771
3e325901 347722009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34773
34774 Absolute addressing through constant with Apple's cc
34775
34776 * kern/i386/pc/startup.S: Define necessary constants
34777 and address through it when using ABS with Apple's CC
34778 * boot/i386/pc/diskboot.S: likewise
34779 * boot/i386/pc/boot.S: likewise
34780 * boot/i386/pc/lnxboot.S: likewise
34781 * boot/i386/pc/cdboot.S: likewise
34782 * mmap/i386/pc/mmap_helper.S: likewise
34783 * commands/i386/pc/drivemap_int13h.S: likewise
34784
2b167a72 347852009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34786
34787 Check if compiler is apple cc
34788
34789 * Makefile.in (ASFLAGS): new variable
34790 (TARGET_ASFLAGS): likewise
34791 (TARGET_MODULE_FORMAT): likewise
34792 (TARGET_APPLE_CC): likewise
34793 (OBJCONV): likewise
34794 (TARGET_IMG_CFLAGS): likewise
34795 (TARGET_CPPFLAGS): add includedir
34796 * configure.ac: call grub_apple_cc and grub_apple_target_cc
34797 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
34798 Check for linker script only if compiler isn't Apple's CC
34799 (TARGET_MODULE_FORMAT): set
34800 (TARGET_APPLE_CC): likewise
34801 (TARGET_ASFLAGS): likewise
34802 (ASFLAGS): likewise
34803 Check for objcopy only if compiler isn't Apple's CC
34804 Check for BSS symbol only if compiler isn't Apple's CC
34805 * genmk.rb: adapt nm options if we use Apple's utils
34806 * aclocal.m4 (grub_apple_cc): new test
34807 (grub_apple_target_cc): likewise
473d1e45 34808
fb14123e 348092009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34810
34811 Simplify sed expressions and improve awk
34812
34813 * Makefile.in (install-local): simplify sed expression
34814 * gencmdlist.sh: likewise
34815 * genmoddep.awk: avoid adding module as a dependency of itself
34816
5b889789 348172009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34818
34819 Add missing start symbols
34820
34821 * boot/i386/pc/boot.S: add start
fb14123e 34822 * boot/i386/pc/pxeboot.S: likewise
473d1e45 34823
fd2bf2e3 348242009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34825
34826 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 34827
34828 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 34829 (relocate_addresses): consider both r_addend and value at offset
34830 (make_mods_section): zerofill modinfo and header
34831 (convert_elf): write prefix here
473d1e45 34832
5389763d 348332009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34834
34835 Use .asciz instead of .string
34836
34837 * i386/pc/diskboot.S: use .asciz instead of .string
34838 * i386/pc/boot.S: likewise
34839 * include/grub/dl.h (GRUB_MOD_DEP): likewise
34840 (GRUB_MOD_NAME): likewise
473d1e45 34841
3eb5ed4e 348422009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34843
34844 gfxpayload support
34845
34846 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
34847 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
34848 (grub_video_setup): remove
34849 (grub_video_set_mode): new prototype
34850 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
34851 (vid_mode): remove
34852 (linux_vesafb_res): compile only on PCBIOS
34853 (grub_linux_boot): support gfxpayload
34854 * loader/i386/pc/xnu.c (video_hook): new function
34855 (grub_xnu_set_video): support gfxpayload
34856 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
34857 (DEFAULT_VIDEO_HEIGHT): likewise
34858 (DEFAULT_VIDEO_FLAGS): likewise
34859 (DEFAULT_VIDEO_MODE): new definition
34860 (video_hook): new function
34861 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 34862 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 34863 loading xnu
34864 * video/video.c (grub_video_setup): removed
473d1e45 34865 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 34866 grub_video_setup
34867
4b0e1143 348682009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34869
34870 Avoid calling biosdisk in drivemap
34871
34872 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
34873 (revparse_biosdisk): likewise
34874 (list_mappings): derive name from id directly
34875 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 34876
fda6cb98 348772009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34878
34879 Script fixes
34880
34881 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
34882 (grub_lexer_param): add tokenonhold
34883 (grub_script_create_cmdline): remove cmdline. All callers updated
34884 (grub_script_function_create): make functionname
34885 grub_script_arg. All callers updated
34886 (grub_script_execute_argument_to_string): new prototype
34887 * kern/parser.c (state_transitions): reorder
34888 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 34889 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 34890 make global
34891 (grub_script_execute_cmdline): use new format
34892 * script/sh/function.c (grub_script_function_create): make functionname
34893 grub_script_arg. All callers updated
473d1e45 34894 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 34895 (grub_script_yylex): remove
34896 (grub_script_yylex2): renamed to ...
34897 (grub_script_yylex): ...renamed
34898 parse the expressions like a${b}c
34899 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
34900 (GRUB_PARSER_TOKEN_VAR): remove
34901 (GRUB_PARSER_TOKEN_NAME): likewise
34902 ("if"): declare as typeless
34903 ("while"): likewise
34904 ("function"): likewise
34905 ("else"): likewise
34906 ("then"): likewise
34907 ("fi"): likewise
34908 (text): remove
34909 (argument): likewise
34910 (script): accept empty scripts and make exit on error
34911 (arguments): use GRUB_PARSER_TOKEN_ARG
34912 (function): likewise
34913 (command): move error handling to script
34914 (menuentry): move grub_script_lexer_ref before
473d1e45 34915 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 34916 argument. All callers updated
34917
f4448a07 349182009-06-04 Robert Millan <rmh.grub@aybabtu.com>
34919
34920 Prevent GRUB from probing floppies during boot.
34921
34922 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
34923 * commands/search.c (options): Add --no-floppy.
34924 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
34925 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
34926 --no-floppy when searching for UUIDs.
34927
2bf5885a 349282009-06-04 Robert Millan <rmh.grub@aybabtu.com>
34929
34930 Simplify the code duplication in commands/search.c.
34931
34932 * commands/search.c (search_label, search_fs_uuid): Merge into ...
34933 (search_fs): ... this. Update all users.
34934
f6fd460a 349352009-06-03 Felix Zielcke <fzielcke@z-51.de>
34936
34937 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
34938
cbb3c83e 349392009-05-28 Pavel Roskin <proski@gnu.org>
34940
57788cfd 34941 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
34942 Remove the original symlink explicitly.
34943
cbb3c83e 34944 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
34945 just one slash. That's how grub_fshelp_find_file() does it.
34946
cd0d5e30 349472009-05-26 Pavel Roskin <proski@gnu.org>
34948
f0f8bbe2 34949 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
34950 to `str'.
34951
cd0d5e30 34952 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
34953 possibly unused.
34954
8c2cab51 349552009-05-25 Christian Franke <franke@computer.org>
34956
34957 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
34958 register.
34959 (grub_atapi_identify): Add wait after drive select.
34960 (grub_ata_identify): Do more strict status register check before
34961 calling grub_atapi_identify (). Suppress error message if status
34962 register is 0x00 after command failure. Add status register
34963 check after PIO read to avoid bogus identify due to stuck DRQ.
34964 Thanks to Pavel Roskin for testing.
34965 (grub_device_initialize): Remove unsafe status register check.
34966 Thanks to 'phcoder' for problem report and patch.
34967 Prevent sign extension in debug message.
34968
230c0ad6 349692009-05-23 Colin D Bennett <colin@gibibit.com>
34970
34971 Cleaned up `include/grub/normal.h'. Grouped prototypes by
34972 definition file, and functions defined in `normal/menu.c' have had
34973 their prototypes moved to `include/grub/menu.h' for consistency.
34974
34975 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
34976 from normal.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
34984 * include/grub/normal.h: Re-ordered and grouped function
34985 prototypes by file that the function is defined in.
34986 (grub_menu_execute_callback): Removed; moved to menu.h.
34987 (grub_menu_get_entry): Likewise.
34988 (grub_menu_get_timeout): Likewise.
34989 (grub_menu_set_timeout): Likewise.
34990 (grub_menu_execute_entry): Likewise.
34991 (grub_menu_execute_with_fallback): Likewise.
34992 (grub_menu_entry_run): Likewise.
34993 (grub_menu_addentry): Renamed from this ...
34994 (grub_normal_add_menu_entry): ... to this.
34995
34996 * normal/main.c (grub_menu_addentry): Renamed from this ...
34997 (grub_normal_add_menu_entry): ... to this.
34998
34999 * script/sh/execute.c (grub_script_execute_menuentry): Update
35000 reference to renamed grub_menu_addentry function.
35001
861f03a5 350022009-05-23 Felix Zielcke <fzielcke@z-51.de>
35003
35004 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
35005
96b1619a 350062009-05-22 Pavel Roskin <proski@gnu.org>
35007
bf6a5fb2 35008 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
35009 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
35010 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
35011 compiling for the i386 targets, but not for the utilities.
35012
96b1619a 35013 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
35014 to grub_uint8_t.
35015 (grub_root_drive): Likewise.
35016 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
35017 remove alignment.
35018 (grub_root_drive): Change size to byte.
35019 (grub_start_addr): Remove.
35020 (grub_end_addr): Likewise.
35021 (grub_apm_bios_info): Likewise.
35022
b729776b 350232009-05-21 Felix Zielcke <fzielcke@z-51.de>
35024
35025 * normal/i386: Remove.
35026 * normal/powerpc: Likewise.
35027 * normal/sparc64: Likewise.
35028 * normal/x86_64: Likewise.
35029
0a15ce80 350302009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
35031
35032 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 35033 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 35034 * loader/i386/xnu_helper.S: Likewise
d6da58e6 35035
33db9015 350362009-05-18 Colin D Bennett <colin@gibibit.com>
35037
d6da58e6 35038 Display error messages when parsing a Lua statement fails.
35039 Previously, executing a syntactically invalid statement like
35040 ")foo" or "bar;" would silently fail.
33db9015 35041
35042 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 35043 (grub_lua_parse_line): Improved reporting of Lua parser and
35044 execution errors.
33db9015 35045
46422c89 350462009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
35047
35048 Remove -Werror which causes build to fail on some systems
35049
35050 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
35051 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
35052 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 35053
22f53a96 350542009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
35055
35056 trampoline for linux on 64-bit platform
35057
18f547ad 35058 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
35059 loader/i386/efi/linux_trampoline.S
35060 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 35061 declaration
d6da58e6 35062 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
35063 here
22f53a96 35064 * loader/i386/linux_trampoline.S: moved here
d6da58e6 35065 * loader/i386/efi/linux.c (allocate_pages): reserve space for
35066 trampoline
22f53a96 35067 (jumpvector): removed
35068 (grub_linux_trampoline_start): new declaration
35069 (grub_linux_trampoline_end): likewise
35070 (grub_linux_boot): use trampoline when on 64-bit platform
35071 * loader/i386/linux.c: likewise
35072
cb5a0f40 350732009-05-16 Pavel Roskin <proski@gnu.org>
35074
35075 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
35076 const to avoid a warning.
35077 (grub_lua_setenv): Likewise.
35078 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
35079 lmsg to fix a warning.
35080
334f2c28 350812009-05-16 Felix Zielcke <fzielcke@z-51.de>
35082
35083 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 35084 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
35085 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
35086 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
35087 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
35088 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
35089 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
35090 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 35091
59e5d3ec 350922009-05-16 Felix Zielcke <fzielcke@z-51.de>
35093
35094 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
35095
9d87a1ba 350962009-05-16 Bean <bean123ch@gmail.com>
35097
35098 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
35099 (lua_mod_SOURCES): New variable.
35100 (lua_mod_CFLAGS): Likewise.
35101 (lua_mod_LDFLAGS): Likewise.
35102
35103 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
35104 (setjmp_mod_SOURCES): New variable.
35105 (setjmp_mod_CFLAGS): Likewise.
35106 (setjmp_LDFLAGS): Likewise.
35107
35108 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
35109 (setjmp_mod_SOURCES): New variable.
35110 (setjmp_mod_CFLAGS): Likewise.
35111 (setjmp_LDFLAGS): Likewise.
35112
35113 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
35114 (setjmp_mod_SOURCES): New variable.
35115 (setjmp_mod_CFLAGS): Likewise.
35116 (setjmp_LDFLAGS): Likewise.
35117
35118 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
35119 (setjmp_mod_SOURCES): New variable.
35120 (setjmp_mod_CFLAGS): Likewise.
35121 (setjmp_LDFLAGS): Likewise.
35122
35123 * normal/i386/setjmp.S: Moved from here ...
35124 * lib/i386/setjmp.S: ... Moved here
35125 * normal/x86_64/setjmp.S: Moved from here ...
35126 * lib/x86_64/setjmp.S: ... Moved here
35127 * normal/powerpc/setjmp.S: Moved from here ...
35128 * lib/powerpc/setjmp.S: ... Moved here
35129 * normal/sparc64/setjmp.S: Moved from here ...
35130 * lib/sparc64/setjmp.S: ... Moved here
35131
35132 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
35133 returns_twice in mingw.
35134
35135 * script/lua/grub_lib.c: New file.
35136 * script/lua/grub_lib.h: Likewise.
35137 * script/lua/grub_lua.h: Likewise.
35138 * script/lua/grub_main.c: Likewise.
35139 * script/lua/lapi.c: Likewise.
35140 * script/lua/lapi.h: Likewise.
35141 * script/lua/lauxlib.c: Likewise.
35142 * script/lua/lauxlib.h: Likewise.
35143 * script/lua/lbaselib.c: Likewise.
35144 * script/lua/lcode.c: Likewise.
35145 * script/lua/lcode.h: Likewise.
35146 * script/lua/ldblib.c: Likewise.
35147 * script/lua/ldebug.c: Likewise.
35148 * script/lua/ldebug.h: Likewise.
35149 * script/lua/ldo.c: Likewise.
35150 * script/lua/ldo.h: Likewise.
35151 * script/lua/ldump.c: Likewise.
35152 * script/lua/lfunc.c: Likewise.
35153 * script/lua/lfunc.h: Likewise.
35154 * script/lua/lgc.c: Likewise.
35155 * script/lua/lgc.h: Likewise.
35156 * script/lua/linit.c: Likewise.
35157 * script/lua/liolib.c: Likewise.
35158 * script/lua/llex.c: Likewise.
35159 * script/lua/llex.h: Likewise.
35160 * script/lua/llimits.h: Likewise.
35161 * script/lua/lmathlib.c: Likewise.
35162 * script/lua/lmem.c: Likewise.
35163 * script/lua/lmem.h: Likewise.
35164 * script/lua/loadlib.c: Likewise.
35165 * script/lua/lobject.c: Likewise.
35166 * script/lua/lobject.h: Likewise.
35167 * script/lua/lopcodes.c: Likewise.
35168 * script/lua/lopcodes.h: Likewise.
35169 * script/lua/loslib.c: Likewise.
35170 * script/lua/lparser.c: Likewise.
35171 * script/lua/lparser.h: Likewise.
35172 * script/lua/lstate.c: Likewise.
35173 * script/lua/lstate.h: Likewise.
35174 * script/lua/lstring.c: Likewise.
35175 * script/lua/lstring.h: Likewise.
35176 * script/lua/lstrlib.c: Likewise.
35177 * script/lua/ltable.c: Likewise.
35178 * script/lua/ltable.h: Likewise.
35179 * script/lua/ltablib.c: Likewise.
35180 * script/lua/ltm.c: Likewise.
35181 * script/lua/ltm.h: Likewise.
35182 * script/lua/lua.h: Likewise.
35183 * script/lua/luaconf.h: Likewise.
35184 * script/lua/lualib.h: Likewise.
35185 * script/lua/lundump.c: Likewise.
35186 * script/lua/lundump.h: Likewise.
35187 * script/lua/lvm.c: Likewise.
35188 * script/lua/lvm.h: Likewise.
35189 * script/lua/lzio.c: Likewise.
35190 * script/lua/lzio.h: Likewise.
35191
5e898c9d 351922009-05-16 Bean <bean123ch@gmail.com>
35193
35194 * include/grub/kernel.h (grub_module_header_types): Add type
35195 OBJ_TYPE_CONFIG.
35196
35197 * kern/main.c (grub_load_config): New function.
35198 (grub_main): Call grub_load_config to read boot config.
35199
35200 * grub-mkimage (generate_image): New parameter config_path.
35201 (options): New option --config.
35202 (main): Parse --config option, and pass it to generate_image.
35203
cf353a47 352042009-05-14 Christian Franke <franke@computer.org>
35205
35206 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
35207 This fixes build on Cygwin.
35208
3834887f 352092009-05-14 Pavel Roskin <proski@gnu.org>
35210
35211 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
35212 jump. This saves two bytes, so the typical case of 2 swapped
35213 drives would fit 32 bytes.
35214
8090fc01 352152009-05-13 Pavel Roskin <proski@gnu.org>
35216
ac963883 35217 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
35218 grub_uint32_t to avoid a warning.
35219
8090fc01 35220 * loader/i386/linux.c (allocate_pages): When assigning
35221 real_mode_mem, cast through grub_size_t to fix a warning. The
35222 code already makes sure that the value would fit a pointer.
35223 (grub_linux_setup_video): Cast render_target->data to
35224 grub_size_t to fix a warning.
35225
18f547ad 352262009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 35227
35228 * commands/i386/pc/drivemap.c: New file - implement drivemap
35229 command.
35230 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
35231 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
35232
6f6a8b28 352332009-05-13 Pavel Roskin <proski@gnu.org>
35234
35235 * util/i386/pc/grub-setup.c (setup): Remove unused variable
35236 embedding_area_exists.
35237
15fbf4c4 352382009-05-13 Robert Millan <rmh.grub@aybabtu.com>
35239
35240 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
35241 it easier to understand / work with.
59978c8a 35242 Improve warning messages for cases where there's no embedding area,
35243 or when it is too small (or core.img too large).
15fbf4c4 35244
238e871f 352452009-05-13 Pavel Roskin <proski@gnu.org>
35246
0ab3a9a4 35247 * loader/i386/pc/multiboot2.c: Add necessary includes for
35248 grub_multiboot2_real_boot().
35249
a2c8c5f8 35250 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
35251 PX record is always little-endian. We only need the lower 2
35252 bytes of the mode.
35253
faec96af 35254 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
35255 facilitate code reuse.
35256 (grub_cpio_mount): Use "struct head", not a char buffer. This
35257 fixes a warning reported by gcc 4.4.
35258
238e871f 35259 * kernel/disk.c (grub_disk_read): Use void pointer for the
35260 buffer.
35261 (grub_disk_write): Use const void pointer for the buffer.
35262 Adjust all callers. Remove unnecessary casts.
35263
901d2f0c 352642009-05-10 Robert Millan <rmh.grub@aybabtu.com>
35265
35266 * util/i386/pc/grub-install.in: Update copyright year.
35267
18f547ad 352682009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 35269
35270 gptsync
35271
35272 * commands/gptsync.c: new file
35273 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
35274 (gptsync_mod_SOURCES): new variable
35275 (gptsync_mod_CFLAGS): likewise
35276 (gptsync_mod_LDFLAGS): likewise
18f547ad 35277 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 35278 new definition
35279 (GRUB_PC_PARTITION_TYPE_HFS): likewise
35280 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
35281 * conf/i386-ieee1275.rmk: likewise
35282 * conf/i386-pc.rmk: likewise
35283 * conf/powerpc-ieee1275.rmk: likewise
35284
b4ba690a 352852009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
35286
35287 Fixed grub-emu
35288
35289 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
35290 (grub_dl_ref): likewise
35291
317e1a44 352922009-05-08 Robert Millan <rmh.grub@aybabtu.com>
35293
35294 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
35295 split in two functions (one for msdos and one for gpt).
35296
041b8094 352972009-05-08 Pavel Roskin <proski@gnu.org>
35298
752473c2 35299 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
35300 not modified.
35301
041b8094 35302 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
35303 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
35304 Initialize them with -1. Add sanity check for bad1. Eliminate
35305 nerr variable.
35306
172800ce 353072009-05-08 David S. Miller <davem@davemloft.net>
35308
35309 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
35310
29aa5e81 353112009-05-06 Robert Millan <rmh.grub@aybabtu.com>
35312
35313 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 35314 existence.
29aa5e81 35315
96613b62 353162009-05-05 Felix Zielcke <fzielcke@z-51.de>
35317
35318 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 35319 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 35320
eef73c8a 353212009-05-05 David S. Miller <davem@davemloft.net>
35322
35323 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
35324
119494b5 353252009-05-05 Pavel Roskin <proski@gnu.org>
35326
35327 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
35328 of grub_dl_ref() and grub_dl_unref().
35329 * commands/parttool.c: Remove preprocessor conditionals around
35330 grub_dl_ref() and grub_dl_unref().
35331 * fs/affs.c: Likewise.
35332 * fs/afs.c: Likewise.
35333 * fs/cpio.c: Likewise.
35334 * fs/ext2.c: Likewise.
35335 * fs/fat.c: Likewise.
35336 * fs/hfs.c: Likewise.
35337 * fs/hfsplus.c: Likewise.
35338 * fs/iso9660.c: Likewise.
35339 * fs/jfs.c: Likewise.
35340 * fs/minix.c: Likewise.
35341 * fs/ntfs.c: Likewise.
35342 * fs/reiserfs.c: Likewise.
35343 * fs/sfs.c: Likewise.
35344 * fs/udf.c: Likewise.
35345 * fs/ufs.c: Likewise.
35346 * fs/xfs.c: Likewise.
35347 * include/grub/dl.h: Likewise.
35348 * loader/xnu.c: Likewise.
35349
de5fd76e 353502009-05-04 Pavel Roskin <proski@gnu.org>
35351
35352 * commands/acpi.c: Remove unused variable my_mod.
35353 * partmap/amiga.c: Likewise.
35354 * partmap/apple.c: Likewise.
35355 * partmap/gpt.c: Likewise.
35356 * partmap/pc.c: Likewise.
35357 * partmap/sun.c: Likewise.
35358 * term/gfxterm.c: Likewise.
35359 * term/i386/pc/vesafb.c: Likewise.
35360 * term/i386/pc/vga.c: Likewise.
35361
983598ad 353622009-05-04 David S. Miller <davem@davemloft.net>
35363
35364 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
35365 pointer args to grub_ieee1275_get_property().
35366
8aadec43 35367 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
35368
9554b15e 35369 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
35370 devices, and do not traverse down under controller nodes.
35371
67e23c90 35372 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
35373 (grub_ofdisk_open): Use it to un-escape "," characters.
35374 * kern/disk.c (find_part_sep): New.
35375 (grub_disk_open): Use it to find the first non-escaped ','
35376 character in the disk name.
35377 * util/ieee1275/devicemap.c (escape_of_path): New.
35378 (grub_util_emit_devicemap_entry): Use it.
35379 * util/sparc64/ieee1275/grub-install.in: Update script to
35380 strip partition specifiers properly by not triggering on
35381 '\' escaped ',' characters.
35382
74bfdd2f 353832009-05-04 Robert Millan <rmh.grub@aybabtu.com>
35384
35385 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
35386 to 0x300.
35387 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
35388 resolutions.
35389 (linux_vesafb_modes): Add a lot of additional modes to the list (based
35390 on documentation from Wikipedia).
35391
4241d2b1 353922009-05-04 Pavel Roskin <proski@gnu.org>
35393
35394 * disk/ata.c: Spelling fixes.
35395 * disk/raid.c: Likewise.
35396 * disk/usbms.c: Likewise.
35397 * disk/dmraid_nvidia.c: Likewise.
35398 * kern/ieee1275/openfw.c: Likewise.
35399 * kern/ieee1275/init.c: Likewise.
35400 * kern/ieee1275/cmain.c: Likewise.
35401 * boot/i386/pc/cdboot.S: Likewise.
35402 * video/readers/png.c: Likewise.
35403 * video/i386/pc/vbe.c: Likewise.
35404 * fs/udf.c: Likewise.
35405 * fs/hfs.c: Likewise.
35406 * fs/reiserfs.c: Likewise.
35407 * efiemu/runtime/efiemu.c: Likewise.
35408 * efiemu/main.c: Likewise.
35409 * efiemu/mm.c: Likewise.
35410 * include/grub/elf.h: Likewise.
35411 * include/grub/xnu.h: Likewise.
35412 * include/grub/usbdesc.h: Likewise.
35413 * include/grub/usb.h: Likewise.
35414 * include/grub/script_sh.h: Likewise.
35415 * include/grub/lib/LzmaEnc.h: Likewise.
35416 * include/grub/efiemu/efiemu.h: Likewise.
35417 * include/grub/command.h: Likewise.
35418 * normal/menu.c: Likewise.
35419 * normal/main.c: Likewise.
35420 * normal/datetime.c: Likewise.
35421 * bus/usb/uhci.c: Likewise.
35422 * mmap/i386/uppermem.c: Likewise.
35423 * mmap/mmap.c: Likewise.
35424 * commands/acpi.c: Likewise.
35425 * commands/test.c: Likewise.
35426 * partmap/apple.c: Likewise.
35427 * font/font.c: Likewise.
35428 * loader/sparc64/ieee1275/linux.c: Likewise.
35429 * loader/macho.c: Likewise.
35430 * loader/i386/bsd_trampoline.S: Likewise.
35431 * loader/i386/bsd.c: Likewise.
35432 * loader/xnu.c: Likewise.
35433 * term/i386/pc/vesafb.c: Likewise.
35434 * term/usb_keyboard.c: Likewise.
35435 * util/resolve.c: Likewise.
35436 * util/getroot.c: Likewise.
35437
0cfc0083 354382009-05-04 Felix Zielcke <fzielcke@z-51.de>
35439
35440 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
35441
7c1d00cd 354422009-05-04 Robert Millan <rmh.grub@aybabtu.com>
35443
35444 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
35445 build error.
35446
b01f0548 354472009-05-04 Robert Millan <rmh.grub@aybabtu.com>
35448
35449 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
35450 parameter only available on BIOS.
35451
ecc3eb22 354522009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
35453
35454 Removed wrong semicolon in declaration
35455
35456 * grub/misc.h (grub_dprintf): remove semicolon
35457
112972a9 354582009-05-04 Robert Millan <rmh.grub@aybabtu.com>
35459
35460 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
35461 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
35462 is done by grub_cmd_linux() now).
35463 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
35464 restore video to text mode.
35465 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
35466 indicates lack of "vga=" parameter. "vga=0" is mapped to
35467 `GRUB_LINUX_VID_MODE_NORMAL'.
35468
afd5c115 354692009-05-04 Felix Zielcke <fzielcke@z-51.de>
35470
35471 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
35472 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
35473 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 35474 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 35475 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
35476 `grub_script.tab.c'.
35477
35478 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35479 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35480 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35481 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
35482 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35483
faa517ce 35484 * Makefile.in: Remove duplicated 2008 in Copyright line.
35485
ae0c0bdc 354862009-05-04 Robert Millan <rmh.grub@aybabtu.com>
35487
473d1e45 35488 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 35489 unconditionally.
35490 * include/grub/util/misc.h (grub_util_warn): New declaration.
35491
35492 * util/i386/pc/grub-install.in: Understand --force and pass it down
35493 to grub-setup.
35494
35495 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
35496 down to setup().
35497 (setup): Improve error messages and add warnings when requested to
35498 install in odd layouts. Refuse to install using blocklists unless
35499 --force was set.
35500
18f547ad 355012009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 35502
35503 * disk/raid.c (grub_raid_scan_device): Improve debug message.
35504
6d260daa 355052009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
35506
35507 Updated copyright year
35508
35509 * fs/hfsplus.c: updated copyright year
18f547ad 35510
69f853f8 355112009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
35512
35513 HFS+ UUID
35514
18f547ad 35515 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 35516 in the space previously used by unused3
35517 (grub_hfsplus_uuid): new function
35518 (grub_hfsplus_fs): added uuid field
35519
4c402e73 355202009-05-03 Pavel Roskin <proski@gnu.org>
35521
35522 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
35523 suppress warnings. It's no longer needed.
35524 * disk/host.c: Likewise.
35525 * disk/ata_pthru.c: Likewise.
35526 * disk/loopback.c: Likewise.
35527 * hook/datehook.c: Likewise.
35528 * parttool/pcpart.c: Likewise.
35529 * fs/i386/pc/pxe.c: Likewise.
35530 * fs/ntfscomp.c: Likewise.
35531 * efiemu/main.c: Likewise.
35532 * mmap/mmap.c: Likewise.
35533 * commands/crc.c: Likewise.
35534 * commands/hexdump.c: Likewise.
35535 * commands/hdparm.c: Likewise.
35536 * commands/acpi.c: Likewise.
35537 * commands/echo.c: Likewise.
35538 * commands/minicmd.c: Likewise.
35539 * commands/blocklist.c: Likewise.
35540 * commands/memrw.c: Likewise.
35541 * commands/loadenv.c: Likewise.
35542 * commands/usbtest.c: Likewise.
35543 * commands/lsmmap.c: Likewise.
35544 * commands/boot.c: Likewise.
35545 * commands/parttool.c: Likewise.
35546 * commands/configfile.c: Likewise.
35547 * commands/search.c: Likewise.
35548 * commands/ieee1275/suspend.c: Likewise.
35549 * commands/cat.c: Likewise.
35550 * commands/i386/pc/pxecmd.c: Likewise.
35551 * commands/i386/pc/play.c: Likewise.
35552 * commands/i386/pc/halt.c: Likewise.
35553 * commands/i386/pc/vbeinfo.c: Likewise.
35554 * commands/i386/pc/vbetest.c: Likewise.
35555 * commands/lspci.c: Likewise.
35556 * commands/date.c: Likewise.
35557 * commands/handler.c: Likewise.
35558 * commands/ls.c: Likewise.
35559 * commands/test.c: Likewise.
35560 * commands/cmp.c: Likewise.
35561 * commands/efi/loadbios.c: Likewise.
35562 * commands/efi/fixvideo.c: Likewise.
35563 * commands/halt.c: Likewise.
35564 * commands/help.c: Likewise.
35565 * commands/reboot.c: Likewise.
35566 * hello/hello.c: Likewise.
35567 * script/sh/main.c: Likewise.
35568 * loader/xnu.c: Likewise.
35569 * term/terminfo.c: Likewise.
35570 * term/i386/pc/serial.c: Likewise.
35571 * term/usb_keyboard.c: Likewise.
35572
515b5079 355732009-05-03 David S. Miller <davem@davemloft.net>
35574
35575 * normal/menu.c: Include grub/parser.h
35576
dfc31a22 355772009-05-03 Pavel Roskin <proski@gnu.org>
35578
2fee74f1 35579 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
35580 not char*.
35581 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
35582 Suggested by Javier Martín <lordhabbit@gmail.com>
35583
dfc31a22 35584 * util/i386/pc/grub-mkrescue.in: Allow for the case when
35585 efiemu??.o doesn't exist.
35586 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
35587 copying.
35588
18f547ad 355892009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 35590
35591 FreeBSD 64-bit support
35592
18f547ad 35593 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 35594 and loader/i386/bsd_trampoline.S
35595 (bsd_mod_ASFLAGS): new variable
35596 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
35597 (FREEBSD_MODTYPE_KERNEL64): likewise
35598 (grub_bsd64_trampoline_start): likewise
35599 (grub_bsd64_trampoline_end): likewise
35600 (grub_bsd64_trampoline_selfjump): likewise
35601 (grub_bsd64_trampoline_gdt): likewise
35602 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
35603 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
35604 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
35605 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 35606 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 35607 of "attrib" member
35608 * loader/i386/bsd_pagetable.c: new file
35609 * loader/i386/bsd_trampoline.S: likewise
35610 * loader/i386/bsd.c (ALIGN_QWORD): new macro
35611 (ALIGN_VAR): likewise
35612 (entry_hi): new variable
35613 (kern_end_mdofs): likewise
35614 (is_64bit): likewise
35615 (grub_freebsd_add_meta): use ALIGN_VAR
35616 (grub_e820_mmap): new declaration
35617 (grub_freebsd_add_mmap): new function
35618 (grub_freebsd_add_meta_module): support 64 bit kernels
35619 (grub_freebsd_list_modules): use ALIGN_VAR
35620 (gdt_descriptor): new declaration
35621 (grub_freebsd_boot): support 64 bit kernels
35622 (grub_bsd_elf64_hook): new function
35623 (grub_bsd_load_elf): support elf64
35624
038c5720 356252009-05-03 Bean <bean123ch@gmail.com>
35626
35627 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
35628 after we get the result of if statement.
35629
fc45fb58 356302009-05-03 Bean <bean123ch@gmail.com>
35631
35632 * Makefile.in (enable_efiemu): New variable.
35633
35634 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
35635 set.
35636 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
35637 path.
35638 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
35639 path, add -mno-red-zone option.
35640 (efiemu64_s.o): Likewise.
35641 (efiemu64.o): Use macro $^ for source file.
35642
35643 * configure.ac (--enable-efiemu): New option.
35644
bbee0f2b 356452009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
35646
35647 xnu support
35648
35649 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
35650 (pkglib_MODULES): add xnu.mod
35651 (xnu_mod_SOURCES): new variable
35652 (xnu_mod_CFLAGS): likewise
35653 (xnu_mod_LDFLAGS): likewise
35654 (xnu_mod_ASFLAGS): likewise
35655 * conf/i386-pc.rmk: likewise
35656 * conf/x86_64-efi.rmk: likewise
7dd4a573 35657 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 35658 new declaration
35659 * include/grub/i386/macho.h: new file
35660 * include/grub/i386/xnu.h: likewise
35661 * include/grub/macho.h: likewise
35662 * include/grub/machoload.h: likewise
35663 * include/grub/x86_64/macho.h: likewise
35664 * include/grub/x86_64/xnu.h: likewise
35665 * include/grub/xnu.h: likewise
35666 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
35667 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
35668 * loader/i386/efi/xnu.c: new file
35669 * loader/i386/pc/xnu.c: likewise
35670 * loader/i386/xnu.c: likewise
35671 * loader/i386/xnu_helper.S: likewise
35672 * loader/macho.c: likewise
35673 * loader/xnu.c: likewise
35674 * loader/xnu_resume.c: likewise
35675 * util/grub-dumpdevtree: likewise
35676 * include/grub/i386/pit.h: include grub/err.h
35677 (grub_pit_wait): export
35678 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 35679
5caf964d 356802009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
35681
35682 Efiemu
7dd4a573 35683
5caf964d 35684 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 35685 _linux_efi, linux_efi.
35686 new files in grub-emu
5caf964d 35687 new targets efiemu32.o and efiemu64.o
35688 * loader/linux_normal_efiemu.c: likewise
35689 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 35690 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 35691 files to copy
35692 * include/grub/autoefi.h: new file
7dd4a573 35693 * include/grub/i386/efiemu.h: likewise
5caf964d 35694 * include/grub/i386/pc/efiemu.h: likewise
35695 * include/grub/efi/api.h: add LL suffix when necessary
35696 new definitions relating to tables
35697 * include/grub/efiemu/efiemu.h: new file
35698 * include/grub/efiemu/runtime.h: likewise
35699 * efiemu/prepare.c: likewise
35700 * efiemu/loadcore_common.c: likewise
35701 * efiemu/loadcore64.c: likewise
35702 * efiemu/runtime/efiemu.sh: likewise
35703 * efiemu/runtime/efiemu.S: likewise
35704 * efiemu/runtime/efiemu.c: likewise
35705 * efiemu/runtime/config.h: likewise
35706 * efiemu/prepare32.c: likewise
35707 * efiemu/main.c: likewise
35708 * efiemu/modules/pnvram.c: likewise
35709 * efiemu/modules/i386: likewise
35710 * efiemu/modules/i386/pc: likewise
35711 * efiemu/modules/acpi.c: likewise
35712 * efiemu/i386/pc/cfgtables.c: likewise
35713 * efiemu/i386/loadcore64.c: likewise
35714 * efiemu/i386/loadcore32.c: likewise
35715 * efiemu/prepare64.c: likewise
35716 * efiemu/loadcore.c: likewise
35717 * efiemu/symbols.c: likewise
35718 * efiemu/mm.c: likewise
35719 * efiemu/loadcore32.c: likewise
7dd4a573 35720
357212009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 35722
35723 ACPI spoofing
35724
35725 * commands/acpi.c: new file
35726 * commands/i386/pc/acpi.c: likewise
35727 * commands/efi/acpi.c: likewise
35728 * include/grub/acpi.h: likewise
35729 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
35730 (acpi_mod_SOURCES): new variable
35731 (acpi_mod_CFLAGS): likewise
35732 (acpi_mod_LDFLAGS): likewise
35733 * conf/i386-efi.rmk: likewise
35734 * conf/x86_64-efi.rmk: likewise
35735
7dd4a573 357362009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 35737
35738 Missing part from mmap patch
35739
35740 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
35741 (grub_mmap_unregister)
35742 (grub_mmap_free_and_unregister): use grub_mmap_register
35743
7dd4a573 357442009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 35745
35746 Mmap services
35747
35748 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
35749 * loader/i386/linux.c (find_mmap_size): likewise
35750 (allocate_pages): likewise
35751 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
35752 (grub_fill_multiboot_mmap): likewise
35753 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
35754 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
35755 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
35756 (OPENBSD_MMAP_RESERVED): likewise
35757 * include/grub/i386/pc/memory.h: include grub/memory.h
35758 (grub_lower_mem): removed
35759 (grub_upper_mem): likewise
35760 (GRUB_MACHINE_MEMORY_ACPI): new definition
35761 (GRUB_MACHINE_MEMORY_NVS): likewise
35762 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
35763 (GRUB_MACHINE_MEMORY_HOLE): likewise
35764 (grub_machine_mmap_register): likewise
35765 (grub_machine_mmap_unregister): likewise
35766 (grub_machine_get_upper): likewise
35767 (grub_machine_get_lower): likewise
35768 (grub_machine_get_post64): likewise
35769 * include/grub/i386/efi/memory.h: new file
35770 * include/grub/x86_64/efi/memory.h: likewise
35771 * include/grub/efi/memory.h: likewise
35772 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
35773 (mmap_mod_SOURCES): new variable
35774 (mmap_mod_LDFLAGS): likewise
35775 (mmap_mod_ASFLAGS): likewise
35776 * conf/i386-coreboot.rmk: likewise
35777 * conf/i386-ieee1275.rmk: likewise
35778 * conf/i386-efi.rmk: likewise
35779 * conf/x86_64-efi.rmk: likewise
35780 * include/grub/types.h (UINT_TO_PTR): new macro
35781 (PTR_TO_UINT32): likewise
35782 (PTR_TO_UINT64): likewise
35783 * include/grub/memory.h: new file
35784 * mmap/i386/pc/mmap.c: likewise
35785 * mmap/i386/pc/mmap_helper.S: likewise
35786 * mmap/i386/uppermem.c: likewise
35787 * mmap/mmap.c: likewise
35788 * mmap/efi/mmap.c: likewise
7dd4a573 35789 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 35790 grub_upper_mem
35791 * kern/i386/pc/init.c (grub_lower_mem): removed variable
35792 (grub_upper_mem): likewise
35793 (grub_machine_init): don't use grub_upper_mem,
35794 make grub_lower_mem local
35795 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
35796 grub_mmap_iterate and grub_mmap_get_upper
35797 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
35798
d558e6b5 357992009-05-02 Bean <bean123ch@gmail.com>
35800
35801 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
35802 script/sh/parser.y.
35803 (pkglib_MODULES): Add normal.mod and sh.mod.
35804 (normal_SOURCES): New variable.
35805 (normal_mod_CFLAGS): Likewise.
35806 (normal_mod_LDFLAGS): Likewise.
35807 (sh_mod_SOURCES): Likewise.
35808 (sh_mod_CFLAGS): Likewise.
35809 (sh_mod_LDFLAGS): Likewise.
35810
35811 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
35812 script/sh/lexer.c_DEPENDENCIES.
35813 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
35814 kern/rescue_reader.c and kern/rescue_parser.c.
35815 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
35816 (grub_emu_SOURCES): Change source files.
35817 (pkglib_MODULES): Remove normal.mod.
35818 (normal_SOURCES): Removed.
35819 (normal_mod_CFLAGS): Likewise.
35820 (normal_mod_LDFLAGS): Likewise.
35821 * conf/i386-coreboot.rmk: Likewise.
35822 * conf/i386-efi.rmk: Likewise.
35823 * conf/i386-ieee1276.rmk: Likewise.
35824 * conf/powerpc-ieee1275.rmk: Likewise.
35825 * conf/sparc64-ieee1275.rmk: Likewise.
35826 * conf/x86_64-efi.rmk: Likewise.
35827
35828 * include/grub/command.h (grub_command_execute): New inline function.
35829
35830 * include/grub/menu.h (grub_menu_entry): Removed commands field.
35831
35832 * include/grub/normal.h: Remove <grub/setjmp.h>.
35833 (grub_fs_module_list): Moved to normal/autofs.c.
35834 (grub_exit_env): Removed.
35835 (grub_command_execute): Likewise.
35836 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
35837 parameter script.
35838 (read_command_list): New function declaration.
35839 (read_fs_list): Likewise.
35840
35841 * include/parser.h: Include <grub/reader.h>.
35842 (grub_parser_split_cmdline): Change type of getline parameter.
35843 (grub_parser): New structure.
35844 (grub_parser_class): New variable.
35845 (grub_parser_execute): New function declaration.
35846 (grub_register_rescue_parser): Likewise.
35847 (grub_parser_register): New inline function.
35848 (grub_parser_unregister): Likewise.
35849 (grub_parser_get_current): Likewise.
35850 (grub_parser_set_current): Likewise.
35851
35852 * include/grub/reader.h: New file.
35853 * kern/reader.c: Likewise.
35854 * kern/rescue_parser.c: Likewise.
35855 * kern/rescue_reader.c: Likewise.
35856 * normal/autofs.c: Likewise.
35857 * normal/dyncmd.c: Likewise.
35858
35859 * include/grub/rescue.h: Removed.
35860 * normal/command.h: Likewise.
35861
35862 * include/grub/script.h: Moved to ...
35863 * include/grub/script_sh.h: ... Moved here.
35864 * normal/execute.c: Moved to ...
35865 * script/sh/execute.c: ... Moved here.
35866 * normal/function.c: Moved to ...
35867 * script/sh/function.c: ... Moved here.
35868 * normal/lexer.c: Moved to ...
35869 * script/sh/lexer.c: ... Moved here.
35870 * normal/parser.y: Moved to ...
35871 * script/sh/parser.y: ... Moved here.
35872 * normal/script.c: Moved to ...
35873 * script/sh/script.c: ... Moved here.
35874
35875 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
35876 <grub/reader.h>.
35877 (grub_exit_env): Removed.
35878 (fs_module_list): Moved to normal/autofs.c.
35879 (grub_file_getline): Don't handle comment here.
35880 (free_menu): Skip removed field entry->commands.
35881 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
35882 script parameter.
35883 (read_config_file): Removed nested parameter, change getline function.
35884 (grub_enter_normal_mode): Removed.
35885 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
35886 (read_command_list): Likewise.
35887 (autoload_fs_module): Moved to normal/autofs.c.
35888 (read_fs_list): Likewise.
35889 (reader_nested): New variable.
35890 (grub_normal_execute): Run parser.sh to switch to sh parser.
35891 (grub_cmd_rescue): Removed.
35892 (cmd_normal): Removed.
35893 (grub_cmd_normal): Unregister itself at the beginning. Don't register
35894 rescue command.
35895 (grub_cmdline_run): New function.
35896 (grub_normal_reader_init): Likewise.
35897 (grub_normal_read_line): Likewise.
35898 (grub_env_write_pager): Likewise.
35899 (cmdline): New variable.
35900 (grub_normal_reader): Likewise.
35901 (GRUB_MOD_INIT): Register normal reader and set as current, register
35902 pager hook, register normal command with grub_register_command_prio,
35903 so that it won't show up in command.lst.
35904 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
35905 grub_fs_autoload_hook.
35906
35907 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
35908 (grub_menu_execute_entry): Replace grub_script_execute with
35909 grub_parser_execute, change parameter to grub_command_execute.
35910
35911 * normal/menu_text.c: Remove <grub/script.h>.
35912
35913 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
35914 and <grub/parser.h>.
35915 (run): Change editor_getline to use new parser interface. Change
35916 parameter to grub_command_execute.
35917
35918 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
35919 <grub/reader.h> and <grub/parser.h>.
35920 (grub_load_normal_mode): Execute normal command.
35921 (grub_main): Call grub_register_core_commands,
35922 grub_register_rescue_parser and grub_register_rescue_reader, use
35923 grub_reader_loop to enter input loop.
35924
7dd4a573 35925 * kern/parser.c (grub_parser_split_cmdline): Change type of
35926 getline parameter.
d558e6b5 35927 (grub_parser_class): New variable.
35928 (grub_parser_execute): New function.
35929
35930 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
35931 * loader/multiboot2.c: Likewise.
35932 * loader/sparc64/ieee1275/linux.c: Likewise.
35933
35934 * util/grub-emu.c (read_command_list): New dummy function.
35935
18db813d 359362009-05-02 Robert Millan <rmh.grub@aybabtu.com>
35937
35938 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
35939 count to 16 for CCISS and IDA.
35940
6c67de15 359412009-05-02 Robert Millan <rmh.grub@aybabtu.com>
35942
35943 * normal/menu_text.c (grub_wait_after_message): Print a newline
35944 after waiting for user input.
35945
35946 * loader/i386/linux.c: Include `<grub/normal.h>'.
35947 (grub_cmd_linux): Improve the error message about `ask' mode, by
35948 waiting for user input so it's not missed (we can do this, since
35949 user requested interaction).
35950
d9dc87b0 359512009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
35952
35953 Added missing lst to grub-mkrescue
35954
35955 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
35956 and ${input_dir}/parttool.lst
35957
ac8a2baa 359582009-04-30 David S. Miller <davem@davemloft.net>
35959
ad22a610 35960 * util/hostdisk.c (device_is_wholedisk): New function.
35961 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
35962 zero only if device_is_wholedisk() returns true.
35963
6966215d 35964 * util/hostdisk.c (convert_system_partition_to_system_disk):
35965 Handle virtual disk devices named /dev/vdiskX as found on sparc
35966 and powerpc.
35967
ac8a2baa 35968 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
35969 lettered partition specifier is found, convert to numbered.
35970
979b4fb4 359712009-04-29 David S. Miller <davem@davemloft.net>
35972
e2bf39b2 35973 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
35974 * include/grub/sparc64/ieee1275/memory.h: Likewise.
35975
3c64e104 35976 * normal/command.c: Add missing newline at end of file.
35977
979b4fb4 35978 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
35979 warnings.
35980 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
35981 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
35982 grub_ofdisk_read): Likewise, and deal similarly with the fact that
35983 ihandles have a 32-bit type but need to be stored in a "void *".
35984
136d9f82 359852009-04-28 Pavel Roskin <proski@gnu.org>
35986
9459c306 35987 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
35988 not disk. Adjust all dependencies.
2e08a26a 35989 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 35990 grub_disk_close().
35991
136d9f82 35992 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
35993 parent's partition, don't copy it by reference, as it gets freed
35994 on close.
35995
7dd4a573 359962009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 35997
35998 Preboot hooks support
35999
36000 * commands/boot.c (struct grub_preboot_t): new declaration
36001 (preboots_head): new variable
36002 (preboots_tail): likewise
36003 (grub_loader_register_preboot_hook): new function
36004 (grub_loader_unregister_preboot_hook): likewise
36005 (grub_loader_set): launch preboot hooks
36006 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
36007 (grub_loader_register_preboot_hook): new declaration
36008 (grub_loader_unregister_preboot_hook): likewise
36009
5af922b5 360102009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
36011
36012 Warning fix
36013
7dd4a573 36014 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 36015 calling grub_dprintf
36016
a5562c30 360172009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
36018
36019 Bug and warning fixes
36020
7dd4a573 36021 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 36022 declaration
36023 * commands/test.c (test_parse): fixed bug with file tests and corrected
36024 declaration of find_file
36025
4006f85c 360262009-04-26 Pavel Roskin <proski@gnu.org>
36027
36028 * Makefile.in: Don't install empty manual pages if help2man is
36029 missing. Use help2man option for output, not shell redirection.
36030
5c77c3de 360312009-04-26 David S. Miller <davem@davemloft.net>
36032
36033 * util/grub-mkdevicemap.c (make_device_map): Add missing
36034 NESTED_FUNC_ATTR to process_device().
36035
033b10a8 360362009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
36037
36038 Test command
36039
36040 * commands/test.c: rewritten to use bash-like test
36041
e4343593 360422009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
36043
36044 Parttool autoloading and improvements
36045
7dd4a573 36046 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 36047 (parttool.lst): new target
36048 * genmk.rb: generate parttool-*
36049 (CLEANFILES): add #{parttool}
36050 (PARTTOOLFILES): new variable
36051 * genparttoollist.sh: new file
7dd4a573 36052 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 36053 (grub_pcpart_type): likewise
36054 * commands/parttool.c (helpmsg): new variable
36055 (grub_cmd_parttool): output help if not enough arguments are supplied
36056 autoload modules
36057 (GRUB_MOD_INIT(parttool)): use helpmsg
36058
0d312500 360592009-04-24 David S. Miller <davem@davemloft.net>
36060
7dd4a573 36061 Avoiding opening same device multiple times in device iterator.
0d312500 36062
36063 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 36064 and use it to build a list of partitions in iterate_disk() and
0d312500 36065 iterate_partition().
36066
ac20caff 36067 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
36068 on disk->data.
36069
0dcf7495 36070 * disk/ieee1275/nand.c (grub_nand_iterate): Return
36071 grub_devalias_iterate() result instead of unconditional 0.
36072 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
36073 Also, capture hook return value, either directly or via
36074 grub_children_iterate(), and propagate to caller.
36075 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
36076 grub_children_iterate): Return value is now 'int' instead of
36077 'grub_err_t'.
36078 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
36079 like a proper iterator, stopping when hooks return non-zero.
36080 (grub_devalias_iterate): Likewise.
36081
c8c08833 360822009-04-23 David S. Miller <davem@davemloft.net>
36083
36084 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
36085
f01005a8 360862009-04-22 David S. Miller <davem@davemloft.net>
36087
36088 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
36089 is larger than address_cells, use that value for address_cells too.
36090
4e8269da 36091 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
36092 IEEE1275_MAX_PATH_LEN): Define.
36093 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
36094 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
36095 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
36096 'devtype'. Explicitly NULL terminate devalias expansion.
36097
a1447506 36098 * util/sparc64/ieee1275/misc.c: New file.
36099 * util/sparc64/ieee1275/grub-setup.c: New file.
36100 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
36101 * util/sparc64/ieee1275/grub-mkimage.c: New file.
36102 * util/sparc64/ieee1275/grub-install.in: New file.
36103 * util/ieee1275/ofpath.c: New file.
36104 * util/ieee1275/devicemap.c: New file.
36105 * util/devicemap.c: New file.
36106 * util/deviceiter.c: New file.
36107 * kern/sparc64/ieee1275/init.c: New file.
36108 * include/grub/util/ofpath.h: New file.
36109 * include/grub/util/deviceiter.h: New file.
36110 * util/grub-mkdevicemap.c: Include deviceiter.h.
36111 Implement using grub_util_emit_devicemap_entry and
36112 grub_util_iterate_devices.
36113 * conf/i386-corebook.rmk: Build util/deviceiter.c and
36114 util/devicemap.c into grub-mkdevicemap
36115 * conf/i386-efi.rmk: Likewise.
36116 * conf/i386-ieee1275.rmk: Likewise.
36117 * conf/i386-pc.rmk: Likewise.
36118 * conf/powerpc-ieee1275.rmk: Likewise.
36119 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
36120 images and installation utilities. Build kernel as image
36121 instead of as elf binary. Use common rules as much as possible.
36122
7dd4a573 361232009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 36124
36125 Correct GPT definition
36126
7dd4a573 36127 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 36128 of "attrib" member
36129
c6c5219f 361302009-04-19 Felix Zielcke <fzielcke@z-51.de>
36131
36132 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
36133
0552ff9f 361342009-04-19 David S. Miller <davem@davemloft.net>
36135
36136 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
36137 (grub_rescue_cmd_linux): Rename to...
36138 (grub_cmd_linux): and fix prototype.
36139 (grub_rescue_cmd_initrd): Rename to...
36140 (grub_cmd_initrd): and fix prototype.
36141 (cmd_linux, cmd_initrd): New.
36142 (GRUB_MOD_INIT(linux)): Use grub_register_command().
36143 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
36144
d1a282fc 361452009-04-17 Pavel Roskin <proski@gnu.org>
36146
07c5039f 36147 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
36148 format.
36149 (grub_ohci_transfer): Likewise.
36150
b012002d 36151 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
36152
1bc09c35 36153 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
36154 return without a value. Fix inconsistent indentation.
36155
e0ff9126 36156 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
36157 match struct grub_fs.
36158
d1a282fc 36159 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
36160 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
36161 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
36162 * commands/lspci.c (grub_lspci_iter): Likewise.
36163
a96df3f2 361642009-04-16 Bean <bean123ch@gmail.com>
36165
36166 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
36167 value.
36168
41bb0fe9 361692009-04-15 Pavel Roskin <proski@gnu.org>
36170
36171 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
36172 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
36173 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
36174 definitions.
36175
596c6970 361762009-04-15 Felix Zielcke <fzielcke@z-51.de>
36177
36178 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 36179 that no multiple data or metadata areas are supported and `Unknown
596c6970 36180 metadata header'.
36181
7dd4a573 361822009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 36183
36184 Move loader out of the kernel
36185
36186 * kern/loader.c: moved to ...
36187 * commands/boot.c: ... moved here
36188 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
36189 * commands/boot.c (grub_cmd_boot): moved here. All users updated
36190 * include/grub/kernel.h (grub_machine_fini): export
36191 * include/grub/loader.h (grub_loader_is_loaded): update declaration
36192 (grub_loader_set): likewise
36193 (grub_loader_unset): likewise
36194 (grub_loader_boot): likewise
36195 * conf/common.rmk: new module boot.mod
36196 (pkglib_MODULES): add boot.mod
36197 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
36198 (grub_emu_SOURCES): likewise
36199 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
36200 (grub_emu_SOURCES): likewise
36201 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
36202 (grub_emu_SOURCES): likewise
36203 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
36204 (grub_emu_SOURCES): likewise
36205 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
36206 (grub_emu_SOURCES): likewise
7dd4a573 36207 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
36208 (grub_emu_SOURCES): likewise
0d5d5653 36209 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 36210 (grub_emu_SOURCES): likewise
0d5d5653 36211
7dd4a573 362122009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 36213
36214 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 36215
5999d619 36216 * kern/misc.c (grub_itoa): Removed function
36217 (grub_ltoa): likewise
36218 (grub_vsprintf): use grub_lltoa
36219
7dd4a573 362202009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 36221
36222 Restore grub-emu
36223
36224 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
36225 * conf/i386-coreboot.rmk: likewise
36226 * conf/i386-ieee1275.rmk: likewise
36227 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 36228
20318222 362292009-04-15 Felix Zielcke <fzielcke@z-51.de>
36230
36231 * INSTALL: Add that `./autogen.sh' needs to be run before
36232 `./configure.'.
36233
d05f0df3 362342009-04-14 Bean <bean123ch@gmail.com>
36235
36236 * Makefile.in (pkglib_DATA): Add handler.lst.
36237 (handler.lst): New rule.
36238
36239 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
36240 * conf/i386-coreboot.rmk: Likewise.
36241 * conf/i386-ieee1275.rmk: Likewise.
36242 * conf/i386-efi.rmk: Likewise.
36243 * conf/x86_64-efi.rmk: Likewise.
36244 * conf/powerpc-ieee1275.rmk: Likewise.
36245 * conf/sparc64-ieee1275.rmk: Likewise.
36246
36247 * genhandlerlist.sh: New file.
36248
36249 * genmk.rb: Add rules to generate handler.lst.
36250
36251 * include/grub/normal.h (grub_file_getline): New function definition.
36252 (read_handler_list): Likewise.
36253 (free_handler_list): Likewise.
36254
36255 * include/grub/term.h (grub_term_register_input): Add name parameter
36256 for auto generation of handler.lst.
36257 (grub_term_register_output): Likewise.
36258
36259 * normal/handler.c: New file.
36260
36261 * normal/main.c (get_line): Renamed to grub_file_getline.
36262 (read_config_file): Use the newly renamed grub_file_getline.
36263 (read_command_list): Likewise.
36264 (read_fs_list): Likewise.
36265 (grub_normal_execute): Call read_handler_list to parse handler.lst.
36266 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
36267
36268 * term/efi/console.c (grub_console_init): Add name parameter for auto
36269 generation of handler.lst.
36270 * term/gfxterm.c: Likewise.
36271 * term/i386/pc/at_keyboard.c: Likewise.
36272 * term/i386/pc/console.c: Likewise.
36273 * term/i386/pc/serial.c: Likewise.
36274 * term/i386/pc/vesafb.c: Likewise.
36275 * term/i386/pc/vga.c: Likewise.
36276 * term/i386/pc/vga_text.c: Likewise.
36277 * term/ieee1275/ofconsole.c: Likewise.
36278 * term/usb_keyboard.c: Likewise.
36279
33c846be 362802009-04-14 Bean <bean123ch@gmail.com>
36281
36282 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
36283 properly with null character.
36284
4484e01e 362852009-04-14 Felix Zielcke <fzielcke@z-51.de>
36286
36287 * configure: Remove.
36288 * config.h.in: Likewise.
f93d668e 36289 * stamp-h.in: Likewise.
4484e01e 36290 * DISTLIST: Likewise.
36291 * conf/common.mk: Likewise.
36292 * conf/i386-coreboot.mk: Likewise.
36293 * conf/i386-efi.mk: Likewise.
36294 * conf/i386-ieee1275.mk: Likewise.
36295 * conf/i386.mk: Likewise.
36296 * conf/i386-pc.mk: Likewise.
36297 * conf/powerpc-ieee1275.mk: Likewise.
36298 * conf/sparc64-ieee1275.mk: Likewise.
36299 * conf/x86_64-efi.mk: Likewise.
36300
36301 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
36302 develop on GRUB.
36303
7dd4a573 363042009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 36305 David S. Miller <davem@davemloft.net>
36306
36307 * util/hostdisk.c (make_device_name): Fix buffer length
36308 calculations.
36309
e25b5a8c 363102009-04-14 Felix Zielcke <fzielcke@z-51.de>
36311
36312 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
36313 <sys/param.h> and <sys/sysctl.h>.
36314 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
36315 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
36316 opening the device and reset them afterwards.
36317
1f1f580c 363182009-04-13 Pavel Roskin <proski@gnu.org>
36319
36320 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
36321 Reported by John Stanley <jpsinthemix@verizon.net>
36322
7ebc2d6b 363232009-04-13 Robert Millan <rmh@aybabtu.com>
36324
36325 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 36326 that name for menuentries when appropriate.
7ebc2d6b 36327
d8ba3667 363282009-04-13 Felix Zielcke <fzielcke@z-51.de>
36329
36330 * util/grub.d/10_freebsd.in: Add a missing `fi'.
36331
cba416eb 363322009-04-13 Robert Millan <rmh@aybabtu.com>
36333
36334 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
36335 to Linux, simply abort telling the user it's no longer supported.
36336
a547a745 363372009-04-13 Felix Zielcke <fzielcke@z-51.de>
36338
36339 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 36340 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 36341 `freebsd_loadenv' only when devices.hints exist.
36342
232a769c 363432009-04-13 Pavel Roskin <proski@gnu.org>
36344
36345 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
36346
c3012039 363472009-04-13 Felix Zielcke <fzielcke@z-51.de>
36348
36349 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
36350 partition number.
36351 (grub_drive): Likewise.
36352
234022fe 363532009-04-13 David S. Miller <davem@davemloft.net>
36354
36355 * kern/sparc64/ieee1275/ieee1275.c: New file.
36356 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
36357 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
36358 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
36359 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
36360 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
36361 grub_ieee1275_alloc_physmem): Declare new exported functions.
36362
d8e1836c 36363 * include/grub/sparc64/ieee1275/loader.h: New file.
36364 * include/grub/sparc64/ieee1275/memory.h: Likewise.
36365 * include/grub/sparc64/kernel.h: Likewise.
36366 * loader/sparc64/ieee1275/linux.c: Likewise.
36367
96bd81ec 36368 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
36369 (grub_fstest_SOURCES): Likewise.
36370
6a4737e5 36371 * util/hostdisk.c (make_device_name): Do not make any assumptions
36372 about the length of drive names.
36373
1d7a72fd 36374 * kern/dl.c (grub_dl_load_file): Close file immediately when
36375 we are done using it.
36376
56bc2471 363772009-04-12 David S. Miller <davem@davemloft.net>
36378
36379 * kern/misc.c (grub_ltoa): Fix cast when handling negative
36380 values. Noticed by Pavel Roskin.
36381
df38d0bb 36382 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
36383 target compiler.
7dd4a573 36384
e382e93a 36385 * genmk.rb: Add more flexible image type specification, also
36386 pass --strip-unneeded to objcopy.
36387 * conf/i386-pc.rmk: Use *_FORMAT.
36388 * conf/i386-pc.mk: Rebuilt.
36389
f5dbbca9 36390 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
36391 (OFDISK_HASH_SZ): Define.
36392 (ofdisk_hash): New hash table.
36393 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
36394 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
36395 instead of device phandle which is not unique.
36396
91c88b12 36397 * kern/sparc64/ieee1275/init.c: Delete, replace with...
36398 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
36399 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
36400 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
36401 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
36402 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
36403 GRUB_KERNEL_MACHINE_DATA_END): Define.
36404 (grub_kernel_image_size, grub_total_module_size): Declare.
36405
5b5d4aa5 364062009-04-12 Pavel Roskin <proski@gnu.org>
36407
7dd4a573 36408 * configure.ac: Change the logic when we check for target tools.
36409 Do it when the target is specified and it's different from the
36410 specified value of the host.
5b5d4aa5 36411
c91e1793 364122009-04-11 Felix Zielcke <fzielcke@z-51.de>
36413
36414 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
36415 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
36416 GNU/kFreeBSD. Check if a device is a character device. Use
36417 DIOCGMEDIASIZE to get the size.
36418 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
36419 support for GNU/kFreeBSD.
36420 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
36421 is a character device instead of a block device. Add support for
36422 FreeBSD device names.
36423
36424 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
36425 is a character device instead of a block device.
36426
36427 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
36428 is a character device instead of a block device.
36429
b1ac8644 364302009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
36431
36432 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
36433 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
36434 FreeBSD. Check if a device is a character device. Use
36435 DIOCGMEDIASIZE to get the size.
36436 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
36437 support for FreeBSD.
36438 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
36439 is a character device instead of a block device. Add support for
36440 FreeBSD device names.
36441
36442 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
36443 a character device instead of a block device.
36444 (grub_util_check_char_device): New function.
36445
36446 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
36447 a character device instead of a block device.
36448
36449 * include/grub/util/getroot.h (grub_util_check_char_device): New
36450 prototype.
36451
a3f7515a 364522009-04-11 David S. Miller <davem@davemloft.net>
36453
36454 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
36455 static libgcc.
36456 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
36457 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
36458 function, if present.
36459 (__bswapdi2): Likewise.
36460
0d44993d 36461 * include/grub/sparc64/ieee1275/boot.h: New file.
36462 * boot/sparc64/ieee1275/boot.S: Likewise.
36463 * boot/sparc64/ieee1275/diskboot.S: Likewise.
36464
ed3d2bc2 36465 * kern/misc.c (grub_ltoa): New function.
36466 (grub_vsprintf): Use it to format 'long' integers.
36467
d3bfb59c 364682009-04-10 David S. Miller <davem@davemloft.net>
36469
36470 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
36471 slots are of type grub_ieee1275_cell_t.
36472 (grub_nand_read): Likewise.
36473 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
36474 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
36475 macros are used to compare values in arg/ret block of the call.
36476 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
36477 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
36478 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
36479 grub_ieee1275_instance_to_path, grub_ieee1275_write,
36480 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
36481 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
36482 grub_ieee1275_close, grub_ieee1275_set_property,
36483 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
36484 grub_ieee1275_cell_t.
36485 * kern/ieee1275/openfw.c (grub_map): Likewise.
36486 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
36487 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
36488
450e2238 36489 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
36490 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
36491 (grub_devalias_iterate): Likewise.
36492
7dd4a573 364932009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 36494
36495 UFS improvements
36496
36497 * fs/ufs.c (INODE_NBLOCKS): new definition
36498 (struct grub_ufs_dirent): added fields for non-BSD dirents
36499 (grub_ufs_get_file_block): fixed double indirect handling
36500 (grub_ufs_lookup_symlink): use more robust way to determine whether
36501 symlink is inline
36502 (grub_ufs_find_file): support for non-BSD dirents
36503 (grub_ufs_dir): support for non-BSD dirents
36504
e7e6862a 365052009-04-10 Bean <bean123ch@gnail.com>
36506
36507 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
36508 attribute, otherwise the size would be wrong for i386 platform.
36509
36510 * include/grub/pci.h (grub_pci_read_word): New inline function.
36511 (grub_pci_read_byte): Likewise.
36512 (grub_pci_write): Likewise.
36513 (grub_pci_write_word): Likewise.
36514 (grub_pci_write_byte): Likewise.
36515
36516 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
36517
36518 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
36519 (find_framebuf): Scan pci to locate the frame buffer address.
36520
36521 * commands/efi/fixvideo.c: New file.
36522
36523 * commands/efi/loadbios.c: Likewise.
36524
36525 * commands/memrw.c: Likewise.
36526
36527 * util/grub-dumpbios.in: Likewise.
36528
36529 * conf/common.rmk (grub-dumpbios): New utility.
36530 (pkglib_MODULES): New module memrw.mod.
36531 (memrw_mod_SOURCE): New macro.
36532 (memrw_mod_CFLAGS): Likewise.
36533 (memrw_mod_LDFLAGS): Likewise.
36534
7dd4a573 36535 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 36536 fixvideo.mod.
36537 (loadbios_mod_SOURCE): New macro.
36538 (loadbios_mod_CFLAGS): Likewise.
36539 (loadbios_mod_LDFLAGS): Likewise.
36540 (fixvideo_mod_SOURCE): Likewise.
36541 (fixvideo_mod_CFLAGS): Likewise.
36542 (fixvideo_mod_LDFLAGS): Likewise.
36543
7dd4a573 36544 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 36545 fixvideo.mod.
36546 (loadbios_mod_SOURCE): New macro.
36547 (loadbios_mod_CFLAGS): Likewise.
36548 (loadbios_mod_LDFLAGS): Likewise.
36549 (fixvideo_mod_SOURCE): Likewise.
36550 (fixvideo_mod_CFLAGS): Likewise.
36551 (fixvideo_mod_LDFLAGS): Likewise.
36552
af63ada2 365532009-04-08 Felix Zielcke <fzielcke@z-51.de>
36554
36555 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
36556
c2cdde70 365572009-04-07 David S. Miller <davem@davemloft.net>
36558
36559 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
36560 support for R_SPARC_OLO10 relocations. Fix compile warning for
36561 R_SPARC_WDISP30 case.
ea3f72cf 36562 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 36563
761319cf 365642009-04-06 Pavel Roskin <proski@gnu.org>
36565
1007d1f5 36566 * include/grub/misc.h (ARRAY_SIZE): New macro.
36567 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
36568 New macro.
36569 * loader/i386/linux.c (allocate_pages): Use free_pages().
36570 (grub_linux_unload): Don't use free_pages().
36571 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
36572 wrong index. Treat all other modes as text modes.
36573 (grub_cmd_linux): Initialize vid_mode unconditionally to
36574 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
36575
761319cf 36576 * commands/help.c (print_command_help): Use cmd->prio, not
36577 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
36578
ea761d40 365792009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 36580
ea761d40 36581 Parttool
36582
36583 * parttool/pcpart.c: new file
36584 * commands/parttool.c: likewise
36585 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
36586 (parttool_mod_SOURCES): new variable
36587 (parttool_mod_CFLAGS): likewise
36588 (parttool_mod_LDFLAGS): likewise
36589 (pcpart_mod_SOURCES): likewise
36590 (pcpart_mod_CFLAGS): likewise
36591 (pcpart_mod_LDFLAGS): likewise
7dd4a573 36592 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 36593 and parttool/pcpart.c
36594 * conf/i386-efi.rmk: likewise
36595 * conf/i386-ieee1275.rmk: likewise
36596 * conf/i386-pc.rmk: likewise
36597 * conf/powerpc-ieee1275.rmk: likewise
36598 * conf/sparc64-ieee1275.rmk: likewise
36599 * conf/x86_64-ieee1275.rmk: likewise
36600
05aaebfb 366012009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
36602
36603 Support for mtime and further expandability of dir command
36604
36605 * include/grub/lib/datetime.h: moved to ...
7dd4a573 36606 * include/grub/datetime.h: ... moved here and added
05aaebfb 36607 declaration of grub_unixtime2datetime. All users updated
7dd4a573 36608 * include/grub/fs.h: new syntax for dir and mtime functions in
36609 struct grub_fs
05aaebfb 36610 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
36611 and GRUB_FSHELP_FLAGS_MASK
36612 * commands/ls.c (grub_ls_list_files): Write mtime in long format
36613 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
36614 (grub_ext2_mtime): new function
36615 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
36616 (grub_hfsplus_mtime): new function
36617 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
36618 (GRUB_UFS_ATTR_FILE): likewise
36619 (GRUB_UFS_ATTR_LNK): likewise
36620 (struct grub_ufs_sblock): new fields mtime
36621 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
36622 all users updated
36623 (grub_ufs_dir): mtime support
36624 (grub_ufs_mtime): new function
36625 * fs/affs.c (grub_affs_dir): use new dir syntax
36626 * fs/afs.c (grub_afs_dir): likewise
36627 * fs/cpio.c (grub_cpio_dir): likewise
36628 * fs/fat.c (grub_fat_find_dir): likewise
36629 * fs/hfs.c (grub_hfs_dir): likewise
36630 * fs/iso9660.c (grub_iso9660_dir): likewise
36631 * fs/jfs.c (grub_jfs_dir): likewise
36632 * fs/minix.c (grub_minix_dir): likewise
36633 * fs/ntfs.c (grub_ntfs_dir): likewise
36634 * fs/reiserfs.c (grub_reiserfs_dir): likewise
36635 * fs/sfs.c (grub_sfs_dir): likewise
36636 * fs/xfs.c (grub_xfs_dir): likewise
36637 * util/hostfs.c (grub_hostfs_dir): likewise
36638 * lib/datetime.c: moved to ...
36639 * normal/datetime.c: ... moved here
36640 (grub_unixtime2datetime): new function
36641 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 36642 * normal/completion.c (iterate_dir): use new dir syntax
36643 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 36644 last modification time of a volume
7dd4a573 36645 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 36646 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 36647 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 36648 (normal_mod_SOURCES): likewise
36649 (datetime_mod_SOURCES): Removed lib/datetime.c
36650 * conf/i386-efi.rmk: likewise
7dd4a573 36651 * conf/i386-ieee1275.rmk: likewise
05aaebfb 36652 * conf/i386-pc.rmk: likewise
36653 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 36654 * conf/sparc64-ieee1275.rmk: likewise
36655 * conf/x86_64-efi.rmk: likewise
05aaebfb 36656
8a7e1a14 366572009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
36658
36659 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 36660
36661 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 36662 on grub_fat_find_dir
36663 (grub_fat_find_dir): use grub_fat_iterate_dir
36664 (grub_fat_label): likewise
36665
04186a9c 366662009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
36667
7dd4a573 36668 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 36669 and command.h
36670 remove extraneous kernel_elf_HEADERS
36671
da4c0bb6 366722009-04-04 Bean <bean123ch@gnail.com>
36673
36674 * include/grub/util/misc.h: Add dummy function fsync for mingw.
36675
36676 * util/misc.c: Likewise.
36677
54ad9555 366782009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
36679
36680 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
36681 instead of grub_printf.
36682
7a6bf9f2 366832009-04-03 Robert Millan <rmh@aybabtu.com>
36684
36685 * loader/i386/linux.c (grub_linux_setup_video): Fill
36686 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
36687 values from `mode info' structure instead of hardcoded
36688 values.
36689
3fcc2083 366902009-04-01 Pavel Roskin <proski@gnu.org>
36691
36692 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
36693 unused now.
36694 * genmk.rb: Likewise.
36695 * configure.ac: Likewise.
36696
5ec9740b 366972009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
36698
36699 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
36700 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
36701
5270cec8 367022009-04-01 David S. Miller <davem@davemloft.net>
36703
36704 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 36705 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 36706 (grub_setjmp): Mark with 'returns_twice' attribute.
36707 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
36708 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
36709 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
36710
9c3dd854 367112009-04-01 Robert Millan <rmh@aybabtu.com>
36712
36713 Reapply fix from 2008-07-28 which was accidentally reverted; also
36714 perform the same fix to a similar check in same function.
36715
36716 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
36717 with the same number are found, just use issue a warning with
36718 grub_dprintf(), as this error has been reported to be non-fatal.
36719
0d818b7e 367202009-03-31 Pavel Roskin <proski@gnu.org>
36721
36722 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
36723 for cross-compilation.
36724
95646d92 367252009-03-30 Robert Millan <rmh@aybabtu.com>
36726
36727 Fix i386-ieee1275 build.
36728
36729 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
36730 Remove declaration.
36731
6a003ed1 367322009-03-30 Pavel Roskin <proski@gnu.org>
36733
36734 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
36735 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
36736 zero-terminated, rely only on the strlen value. Fix comparison
36737 of strings differing in length.
36738
92f33540 367392009-03-30 Robert Millan <rmh@aybabtu.com>
36740
36741 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
36742 checking for abi version. Improve error messages on BIOS to notify
36743 user about `linux16' command.
36744
a8c48fd5 367452009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
36746
f968172e 36747 Leak fixes
a8c48fd5 36748
f968172e 36749 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
36750 in case of collision
36751 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 36752
9c323f09 367532009-03-29 Robert Millan <rmh@aybabtu.com>
36754
36755 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
36756 set `vid_mode' accordingly.
36757 (grub_linux_boot): Process `vid_mode' and set video mode.
36758
ae68f423 367592009-03-29 Robert Millan <rmh@aybabtu.com>
36760
36761 * util/grub.d/10_linux.in (linux_entry): New function.
36762 Factorize generation of Linux boot entries.
36763
5709cfc4 367642009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
36765
36766 Make the format of Environment Block plain text. The boot loader
36767 part is not tested well yet.
7dd4a573 36768
5709cfc4 36769 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
36770 (buffer): Removed.
36771 (envblk): Likewise.
36772 (usage): Remove "info" and "clear". Add "unset". Update the
36773 description of "set", as this does not delete variables any
36774 longer.
36775 (create_envblk_file): Complete rewrite.
36776 (open_envblk_file): Likewise.
36777 (cmd_info): Removed.
36778 (cmd_list): Likewise.
36779 (cmd_set): Likewise.
36780 (cmd_clear): Likewise.
36781 (list_variables): New function.
36782 (write_envblk): Likewise.
36783 (set_variables): Likewise.
36784 (unset_variables): Likewise.
36785 (main): Complete rewrite.
36786
36787 * commands/loadenv.c (buffer): Removed.
36788 (envblk): Likewise.
36789 (open_envblk_file): New function.
36790 (read_envblk_file): Complete rewrite.
36791 (grub_cmd_load_env): Likewise.
36792 (grub_cmd_list_env): Likewise.
36793 (struct blocklist): New struct.
36794 (free_blocklists): New function.
36795 (check_blocklists): Likewise.
36796 (write_blocklists): Likewise.
36797 (grub_cmd_save_env): Complete rewrite.
36798
36799 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
36800 a plain text signature.
36801 (GRUB_ENVBLK_MAXLEN): Removed.
36802 (struct grub_envblk): Complete rewrite.
36803 (grub_envblk_find): Removed.
36804 (grub_envblk_insert): Likewise.
36805 (grub_envblk_open): New prototype.
36806 (grub_envblk_set): Likewise.
36807 (grub_envblk_delete): Put const to VALUE.
36808 (grub_envblk_iterate): Put const to NAME and VALUE.
36809 (grub_envblk_close): New prototype.
36810 (grub_envblk_buffer): New inline function.
36811 (grub_envblk_size): Likewise.
36812
36813 * lib/envblk.c: Include grub/mm.h.
36814 (grub_env_find): Removed.
36815 (grub_envblk_open): New function.
36816 (grub_envblk_close): Likewise.
36817 (escaped_value_len): Likewise.
36818 (find_next_line): Likewise.
36819 (grub_envblk_insert): Removed.
36820 (grub_envblk_set): New function.
36821 (grub_envblk_delete): Complete rewrite.
36822 (grub_envblk_iterate): Likewise.
36823
a9368fd3 368242009-03-28 Robert Millan <rmh@aybabtu.com>
36825
36826 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
36827 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
36828 variables. Use 16-bit loader.
36829 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
36830 loader.
36831 * kern/i386/loader.S (grub_linux_boot): Rename to ...
36832 (grub_linux16_boot): ... this. Update all users.
36833 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
36834 (grub_linux_boot): ... this. Update all users.
36835
36836 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
36837 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
36838 commands to `linux16' and `initrd16'.
36839 (GRUB_MOD_FINI(linux)): Rename to ...
36840 (GRUB_MOD_FINI(linux16)): ... this.
36841
e4dd5a7e 368422009-03-24 Pavel Roskin <proski@gnu.org>
36843
36844 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
36845 not just for compilation.
36846
c04d6e05 368472009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
36848
36849 Move multiboot helper out of kernel
36850
36851 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
36852 `loader/i386/multiboot_helper.S'.
36853 * conf/i386-coreboot.rmk: Likewise
36854 * conf/i386-ieee1275.rmk: Likewise
36855
36856 * kern/i386/loader.S: Move multiboot helpers from here...
36857 * loader/i386/multiboot_helper.S: ...moved here
36858 * include/grub/i386/loader.h: Move declarations of multiboot
36859 helpers from here...
36860 * include/grub/i386/multiboot.h: ...moved here
36861 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
36862
42a5b3fc 368632009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
36864
36865 * kern/env.c (grub_env_context_open): Added an argument to specify
36866 whether a new context inherits exported variables from current
36867 one. This is useful when making a sandbox to interpret a config
36868 file.
36869 All callers updated.
36870
36871 * include/grub/env.h (grub_env_context_open): Updated the prototype.
36872
b28bbc4e 368732009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
36874
36875 * kern/env.c (grub_env_context_close): Fix memory leaks.
36876
f04f02e4 368772009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
36878
36879 * normal/main.c (grub_normal_execute): Added an argument
36880 BATCH to specify if an interactive interface should be provided
36881 after reading a config file.
36882 All callers updated.
36883 (read_command_list): Prevent being executed twice.
36884 (read_fs_list): Likewise.
36885
42a5b3fc 36886 * include/grub/normal.h (grub_normal_execute): Updated the
36887 prototype.
f04f02e4 36888
41473ac2 368892009-03-22 Pavel Roskin <proski@gno.org>
36890
fbc00b0c 36891 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
36892 _start.
36893 * kern/i386/pc/startup.S: Likewise.
36894 * kern/i386/efi/startup.S: Likewise.
36895 * kern/i386/ieee1275/startup.S: Likewise.
36896 * kern/i386/coreboot/startup.S: Likewise.
36897 * kern/x86_64/efi/startup.S: Likewise.
36898
41473ac2 36899 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
36900 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
36901 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
36902
2274cc8f 369032009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
36904
36905 Bugfixes in multiboot for bugs uncovered by solaris kernel.
36906
36907 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
36908 limit detection.
36909 Use vaddr of correct segment for entry_point.
36910
b1b797cb 369112009-03-21 Bean <bean123ch@gmail.com>
36912
36913 * commands/blocklist.c: Add include file <grub/command.h>, remove
36914 <grub/normal.h> and <grub/arg.h>.
36915 (grub_cmd_blocklist): Use the new command interface.
36916 (GRUB_MOD_INIT): Likewise.
36917 (GRUB_MOD_FINI): Likewise.
36918 * commands/boot.c: Likewise.
36919 * commands/cat.c: Likewise.
36920 * commands/cmp.c: Likewise.
36921 * commands/configfile.c: Likewise.
36922 * commands/crc.c: Likewise.
36923 * commands/echo.c: Likewise.
36924 * commands/halt.c: Likewise.
36925 * commands/handler.c: Likewise.
36926 * commands/hdparm.c: Likewise.
36927 * commands/help.c: Likewise.
36928 * commands/hexdump.c: Likewise.
36929 * commands/loadenv.c: Likewise.
36930 * commands/ls.c: Likewise.
36931 * commands/lsmmap.c: Likewise.
36932 * commands/lspci.c: Likewise.
36933 * commands/loadenv.c: Likewise.
36934 * commands/read.c: Likewise.
36935 * commands/reboot.c: Likewise.
36936 * commands/search.c: Likewise.
36937 * commands/sleep.c: Likewise.
36938 * commands/test.c: Likewise.
36939 * commands/usbtest.c: Likewise.
36940 * commands/videotest.c: Likewise.
36941 * commands/i386/cpuid.c: Likewise.
36942 * commands/i386/pc/halt.c: Likewise.
36943 * commands/i386/pc/play.c: Likewise.
36944 * commands/i386/pc/pxecmd.c: Likewise.
36945 * commands/i386/pc/vbeinfo.c: Likewise.
36946 * commands/i386/pc/vbetest.c: Likewise.
36947 * commands/ieee1275/suspend.c: Likewise.
36948 * disk/loopback.c: Likewise.
36949 * font/font_cmd.c: Likewise.
36950 * hello/hello.c: Likewise.
36951 * loader/efi/appleloader.c: Likewise.
36952 * loader/efi/chainloader.c: Likewise.
36953 * loader/i386/bsd.c: Likewise.
36954 * loader/i386/efi/linux.c: Likewise.
36955 * loader/i386/ieee1275/linux.c: Likewise.
36956 * loader/i386/linux.c: Likewise.
36957 * loader/i386/pc/chainloader.c: Likewise.
36958 * loader/i386/pc/linux.c: Likewise.
36959 * loader/powerpc/ieee1275/linux.c: Likewise.
36960 * loader/multiboot_loader.c: Likewise.
36961 * term/gfxterm.c: Likewise.
36962 * term/i386/pc/serial.c: Likewise.
36963 * term/terminfo.c: Likewise.
36964
36965 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
36966 * term/i386/pc/vga.c: Likewise.
36967 * video/readers/jpeg.c: Likewise.
36968 * video/readers/png.c: Likewise.
36969 * video/readers/tga.c: Likewise.
36970
36971 * util/grub-fstest (cmd_loopback): Removed.
36972 (cmd_blocklist): Likewise.
36973 (cmd_ls): Likewise.
36974 (grub_register_command): Likewise.
36975 (grub_unregister_command): Likewise.
36976 (execute_command): Use grub_command_find to locate command and execute
36977 it.
36978
36979 * include/grub/efi/chainloader.h: Removed.
36980 * loader/efi/chainloader_normal.c: Likewise.
36981 * loader/i386/bsd_normal.c: Likewise.
36982 * loader/i386/pc/chainloader_normal.c: Likewise.
36983 * loader/i386/pc/multiboot_normal.c: Likewise.
36984 * loader/linux_normal.c: Likewise.
36985 * loader/multiboot_loader_normal.c: Likewise.
36986 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
36987
36988 * gencmdlist.sh: Scan new registration command grub_register_extcmd
36989 and grub_register_command_p1.
36990
36991 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
36992 kern/command.c, lib/arg.c and commands/extcmd.c.
36993 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
36994 (minicmd_mod_SOURCES): New variable.
36995 (minicmd_mod_CFLAGS): Likewise.
36996 (minicmd_mod_LDFLAGS): Likewise.
36997 (extcmd_mod_SOURCES): Likewise.
36998 (extcmd_mod_CFLAGS): Likewise.
36999 (extcmd_mod_LDFLAGS): Likewise.
37000 (boot_mod_SOURCES): Removed.
37001 (boot_mod_CFLAGS): Likewise.
37002 (boot_mod_LDFLAGS): Likewise.
37003
37004 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
37005 kern/corecmd.c.
37006 (kernel_img_HEADERS): Add command.h.
37007 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
37008 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
37009 and lib/arg.c.
37010 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
37011 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
37012 remove the corresponding normal mode command.
37013 (normal_mod_SOURCES): Remove normal/arg.c.
37014 * conf/i386-coreboot.rmk: Likewise.
37015 * conf/i386-efi.rmk: Likewise.
37016 * conf/i386-ieee1275.rmk: Likewise.
37017 * conf/powerpc-ieee1275.rmk: Likewise.
37018 * conf/x86_64-efi.rmk: Likewise.
37019
37020 * include/grub/arg.h: Move from here ...
37021 * include/grub/lib/arg.h: ... to here.
37022
37023 * normal/arg.c: Move from here ...
37024 * lib/arg.c: ... to here.
37025
37026 * commands/extcmd.c: New file.
37027 * commands/minicmd.c: Likewise.
37028 * include/grub/command.h: Likewise.
37029 * include/grub/extcmd.h: Likewise.
37030 * kern/command.c: Likewise.
37031 * kern/corecmd.c: Likewise.
37032
37033 * kern/list.c (grub_list_iterate): Return int instead of void.
37034 (grub_list_insert): New function.
37035 (grub_prio_list_insert): Likewise.
37036
37037 * kern/rescue.c (grub_rescue_command): Removed.
37038 (grub_rescue_command_list): Likewise.
37039 (grub_rescue_register_command): Likewise.
37040 (grub_rescue_unregister_command): Likewise.
37041 (grub_rescue_cmd_boot): Move to minicmd.c
37042 (grub_rescue_cmd_help): Likewise.
37043 (grub_rescue_cmd_info): Likewise.
37044 (grub_rescue_cmd_boot): Likewise.
37045 (grub_rescue_cmd_testload): Likewise.
37046 (grub_rescue_cmd_dump): Likewise.
37047 (grub_rescue_cmd_rmmod): Likewise.
37048 (grub_rescue_cmd_lsmod): Likewise.
37049 (grub_rescue_cmd_exit): Likewise.
37050 (grub_rescue_print_devices): Moved to corecmd.c.
37051 (grub_rescue_print_files): Likewise.
37052 (grub_rescue_cmd_ls): Likewise.
37053 (grub_rescue_cmd_insmod): Likewise.
37054 (grub_rescue_cmd_set): Likewise.
37055 (grub_rescue_cmd_unset): Likewise.
7d074e3c 37056 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 37057 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 37058 commands, remove grub_rescue_register_command calls.
b1b797cb 37059
7d074e3c 37060 * normal/command.c (grub_register_command): Removed.
b1b797cb 37061 (grub_unregister_command): Likewise.
37062 (grub_command_find): Likewise.
37063 (grub_iterate_commands): Likewise.
37064 (rescue_command): Likewise.
37065 (export_command): Moved to corecmd.c.
37066 (set_command): Removed.
37067 (unset_command): Likewise.
37068 (insmod_command): Likewise.
37069 (rmmod_command): Likewise.
37070 (lsmod_command): Likewise.
37071 (grub_command_init): Likewise.
37072
37073 * normal/completion.c (iterate_command): Use cmd->prio to check for
37074 active command.
37075 (complete_arguments): Use grub_extcmd_t structure to find options.
37076 (grub_normal_do_completion): Change function grub_iterate_commands to
37077 grub_command_iterate.
37078
37079 * normal/execute.c (grub_script_execute_cmd): No need to parse
37080 argument here.
37081
37082 * normal/main.c (grub_dyncmd_dispatcher): New function.
37083 (read_command_list): Register unload commands as dyncmd.
37084 (grub_cmd_normal): Use new command interface, register rescue,
37085 unregister normal at entry, register normal, unregister rescue at exit.
37086
37087 * include/grub/list.h (grub_list_test_t): New type.
37088 (grub_list_iterate): Return int instead of void.
37089 (grub_list_insert): New function.
37090 (GRUB_AS_NAMED_LIST_P): New macro.
37091 (GRUB_AS_PRIO_LIST): Likewise.
37092 (GRUB_AS_PRIO_LIST_P): Likewise.
37093 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
37094 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
37095 (grub_prio_list): New structure.
37096 (grub_prio_list_insert): New function.
37097 (grub_prio_list_remove): New inline function.
37098
37099 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
37100 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
37101 (GRUB_COMMAND_FLAG_MENU): Likewise.
37102 (GRUB_COMMAND_FLAG_BOTH): Likewise.
37103 (GRUB_COMMAND_FLAG_TITLE): Likewise.
37104 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
37105 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
37106 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
37107 (grub_command): Likewise.
37108 (grub_register_command): Likewise.
37109 (grub_command_find): Likewise.
37110 (grub_iterate_commands): Likewise.
37111 (grub_command_init): Likewise.
37112 (grub_arg_parse): Likewise.
37113 (grub_arg_show_help): Likewise.
37114
37115 * include/grub/rescue.h (grub_rescue_register_command): Removed.
37116 (grub_rescue_unregister_command): Likewise.
37117
37118 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
37119 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
37120 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
37121
37122 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
37123 grub_rescue_cmd_initrd.
37124 * include/grub/i386/loader.h: Likewise.
37125 * include/grub/x86_64/loader.h: Likewise.
37126
37127 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
37128
1f4147aa 371292009-03-21 Bean <bean123ch@gmail.com>
37130
37131 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
37132 instead of stat in mingw environment.
37133
37134 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
37135
37136 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
37137
37138 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
37139 AC_CONFIG_LINKS.
37140
2156d5ba 371412009-03-21 Bean <bean123ch@gmail.com>
37142
37143 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
37144 out of range error.
37145
177b82ca 371462009-03-18 Michel Dänzer <michel@daenzer.net>
37147
37148 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
37149 checking inode flags for EXT4_EXTENTS_FLAG.
37150
14aad807 371512009-03-18 Robert Millan <rmh@aybabtu.com>
37152
37153 * loader/i386/linux.c: Include `<grub/video.h>' and
37154 `<grub/i386/pc/vbe.h>'..
37155 (grub_linux_setup_video): New function. Loosely based on the EFI one.
37156 (grub_linux32_boot): Attempt to configure video settings with
37157 grub_linux_setup_video().
37158 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
37159 to avoid grub_console_fini() which would step out of graphical mode
37160 unconditionally.
37161
8cf83a27 371622009-03-14 Robert Millan <rmh@aybabtu.com>
37163
37164 Fix build on powerpc.
37165 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
37166
40164e75 371672009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
37168
37169 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
37170 background image command.
37171
c58bc32a 371722009-03-12 Colin D Bennett <colin@gibibit.com>
37173
37174 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
37175 (grub_gfxterm_putchar): Extract pairs of identical calls to
37176 draw_cursor out of conditional blocks.
37177
5415144a 371782009-03-11 Pavel Roskin <proski@gnu.org>
37179
37180 * fs/hfs.c (grub_hfs_strncasecmp): New function.
37181 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
37182
6394042e 371832009-03-11 Robert Millan <rmh@aybabtu.com>
37184
37185 * loader/i386/multiboot_elfxx.c
37186 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
37187
b7b50e5f 371882009-03-11 Felix Zielcke <fzielcke@z-51.de>
37189
37190 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
37191 `kern/handler.c'.
37192
1ca7fc96 371932009-03-11 Robert Millan <rmh@aybabtu.com>
37194
37195 * loader/i386/multiboot.c (code_size): New variable.
37196 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 37197 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 37198 4-byte alignment to MBI and others by increasing
7d074e3c 37199 `boot_loader_name_length' appropriately.
1ca7fc96 37200
37201 * loader/i386/multiboot_elfxx.c
37202 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
37203
a83ea1d2 372042009-03-09 Felix Zielcke <fzielcke@z-51.de>
37205
37206 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
37207 `fs/ext2.c'.
37208
aa9f3bff 372092009-03-08 Robert Millan <rmh@aybabtu.com>
37210
37211 Make loader/i386/linux.c usable on i386-pc again.
37212
37213 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
37214 memory to heap.
37215 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
37216 `#error' stanza.
37217
d8b3b60e 372182009-03-07 Bean <bean123ch@gmail.com>
37219
37220 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
37221 allocation.
37222
b362c9e9 372232009-03-06 Robert Millan <rmh@aybabtu.com>
37224
37225 Fix display issue on terminals with screen size other than 80x25
37226 (e.g. gfxterm with resolution higher than 640x480).
37227
37228 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 37229 position relative to the center of the terminal instead of relying
b362c9e9 37230 on a hardcoded offset.
37231
9304eef1 372322009-03-04 Robert Millan <rmh@aybabtu.com>
37233
37234 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
37235 installed.
37236
37237 * Makefile.in (host_kernel): New variable.
37238 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
37239 scripts instead of just the windows one.
37240 * configure.ac: Initialize and AC_SUBST `host_kernel'.
37241
eabc95fb 372422009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 37243
37244 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
37245 `kern/handler.c'.
37246 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37247 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
37248 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
37249 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37250 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37251 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37252
ceb1223c 372532009-03-04 Felix Zielcke <fzielcke@z-51.de>
37254
37255 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
37256 or if there's no space for the disk label and print the partition number on a
37257 invalid magic.
37258
4910684a 372592009-03-04 Felix Zielcke <fzielcke@z-51.de>
37260
37261 * util/misc.c: Include <time.h>.
37262 (grub_millisleep): New function.
37263
7e9ca17a 372642009-03-04 Bean <bean123ch@gmail.com>
37265
37266 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
37267 another option -mno-red-zone.
37268
37269 * commands/handler.c: Change module description.
37270
37271 * kern/handler.c: Add missing space at the end of description line.
37272
37273 * kern/list.c: Likewise.
37274
f501677c 372752009-03-03 Robert Millan <rmh@aybabtu.com>
37276
37277 Move more components to the relocation area, and fix mbi pointer
37278 handling to use the destination rather than the origin (thanks to
37279 Vladimir Serbinenko for spotting).
37280
37281 * loader/i386/multiboot.c (mbi_dest): New variable.
37282 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
37283 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
37284 relocation area.
37285
9902d047 372862009-03-01 Bean <bean123ch@gmail.com>
37287
50fb7002 37288 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 37289 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
37290 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
37291 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
37292
37293 * loader/i386/efi/linux.c (acpi_guid): New variable.
37294 (acpi_guid): Likewise.
37295 (EBDA_SEG_ADDR): New constant.
37296 (LOW_MEM_ADDR): Likewise.
37297 (FAKE_EBDA_SEG): Likewise.
37298 (fake_bios_data): New function.
37299 (grub_linux_boot): Call fake_bios_data.
37300
71b9f361 373012009-03-01 Bean <bean123ch@gmail.com>
37302
37303 * commands/terminal.c: Removed.
37304
37305 * commands/handler.c: New file.
37306
37307 * include/grub/list.h: Likewise.
37308
37309 * include/grub/handler.h: Likewise.
37310
37311 * kern/list.c: Likewise.
37312
37313 * kern/handler.c: Likewise.
37314
37315 * kern/term.h: Include header file <grub/handler.h>.
37316 (grub_term_input): Move next field to the beginning.
37317 (grub_term_output): Likewise.
37318 (grub_term_input_class): New variable.
37319 (grub_term_output_class): Likewise.
37320 (grub_term_register_input): Changed to inline function.
37321 (grub_term_register_output): Likewise.
37322 (grub_term_unregister_input): Likewise.
37323 (grub_term_unregister_output): Likewise.
37324 (grub_term_set_current_input): Likewise.
37325 (grub_term_set_current_output): Likewise.
37326 (grub_term_get_current_input): Likewise.
37327 (grub_term_get_current_output): Likewise.
37328 (grub_term_iterate_input): Removed.
37329 (grub_term_iterate_output): Likewise.
37330
37331 * kern/term.c (grub_term_list_input): Removed.
37332 (grub_term_list_output): Likewise.
37333 (grub_term_input_class): New variable.
37334 (grub_term_output_class): Likewise.
50fb7002 37335 (grub_cur_term_input): Change variable as macro.
71b9f361 37336 (grub_cur_term_output): Likewise.
37337 (grub_term_register_input): Removed.
37338 (grub_term_register_output): Likewise.
37339 (grub_term_unregister_input): Likewise.
37340 (grub_term_unregister_output): Likewise.
37341 (grub_term_set_current_input): Likewise.
37342 (grub_term_set_current_output): Likewise.
37343 (grub_term_iterate_input): Likewise.
37344 (grub_term_iterate_output): Likewise.
37345 (grub_term_get_current_input): Likewise.
37346 (grub_term_get_current_output): Likewise.
37347
37348 * util/grub-editenv.c: Include header file <grub/handler.h>.
37349 (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/grub-fstest.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 * util/grub-probe.c (grub_term_get_current_input): Removed.
37360 (grub_term_get_current_output): Likewise.
37361 (grub_term_input_class): New variable.
50fb7002 37362 (grub_term_output_class): Likewise.
71b9f361 37363
37364 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
37365 (grub_term_get_current_output): Likewise.
37366 (grub_term_input_class): New variable.
50fb7002 37367 (grub_term_output_class): Likewise.
71b9f361 37368
37369 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
37370 (terminal_mod_SOURCES): Likewise.
37371 (terminal_mod_CFLAGS): Likewise.
37372 (terminal_mod_LDFLAGS): Likewise.
37373
37374 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
37375 handler.c.
37376 (kernel_img_SOURCES): Add list.c and handler.c.
37377 (kernel_img_HEADERS): Add list.h and handler.h.
37378
37379 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
37380 handler.c.
37381 (kernel_mod_SOURCES): Add list.c and handler.c.
37382 (kernel_mod_HEADERS): Add list.h and handler.h.
37383
37384 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
37385 handler.c.
37386 (kernel_elf_SOURCES): Add list.c and handler.c.
37387 (kernel_elf_HEADERS): Add list.h and handler.h.
37388
37389 * conf/i386-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
37394 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
37395 handler.c.
37396 (kernel_mod_SOURCES): Add list.c and handler.c.
37397 (kernel_mod_HEADERS): Add list.h and handler.h.
37398
37399 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
37400 handler.c.
37401 (kernel_elf_SOURCES): Add list.c and handler.c.
37402 (kernel_elf_HEADERS): Add list.h and handler.h.
37403
8a31787f 374042009-02-27 Robert Millan <rmh@aybabtu.com>
37405
37406 Factorize elf32 / elf64 code in Multiboot loader. This will
37407 prevent it from getting out of sync again.
37408
37409 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
37410 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
37411 grub_multiboot_load_elf64): Move from here ...
37412 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
37413 grub_multiboot_load_elf): ... to here (new file).
37414
51cd3dfc 374152009-02-27 Robert Millan <rmh@aybabtu.com>
37416
37417 * util/grub.d/10_linux.in: Rename "single-user mode" to
37418 "recovery mode".
37419
6e8c9c3a 374202009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
37421
37422 Don't leak in SCSI code.
37423 * disk/scsi.c (grub_scsi_close): free `scsi'.
37424
4b6bf4f9 374252009-02-27 Robert Millan <rmh@aybabtu.com>
37426
37427 * loader/i386/pc/multiboot.c: Move from here ...
37428 * loader/i386/multiboot.c: ... to here. Update all users.
37429
b9413424 374302009-02-27 Robert Millan <rmh@aybabtu.com>
37431
37432 Patch from Alexandre Bique <bique.alexandre@gmail.com>
37433 * util/i386/pc/grub-setup.c (setup): Fix directory path.
37434
50fb7002 374352009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 37436
37437 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
37438 b-tree.
37439
8cc50345 374402009-02-27 Robert Millan <rmh@aybabtu.com>
37441
37442 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
37443 `0x' qualifier as 0 when base is specified as parameter).
37444
6e09b8b7 374452009-02-24 Bean <bean123ch@gmail.com>
37446
37447 * configure.ac: Check for -mcmodel=large in x86_64 target.
37448
37449 * include/grub/efi/api.h (efi_call_10): New macro.
37450 (efi_wrap_10): New function.
37451
37452 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
37453 (GRUB_PE32_REL_BASED_HIGH): Likewise.
37454 (GRUB_PE32_REL_BASED_LOW): Likewise.
37455 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
37456 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
37457 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
37458 (GRUB_PE32_REL_BASED_SECTION): Likewise.
37459 (GRUB_PE32_REL_BASED_REL): Likewise.
37460 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
37461 (GRUB_PE32_REL_BASED_DIR64): Likewise.
37462 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
37463
37464 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
37465 issue.
37466
37467 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
37468 (efi_wrap_10): New function.
37469
37470 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
37471
37472 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
37473 MB/MBP model (NV chipset).
37474 (devdata_devs): Add devpath_5 to the list.
37475
37476 * load/i386/efi/linux.c (video_base): Remove variable.
37477 (RGB_MASK): New macro.
37478 (RGB_MAGIC): Likewise.
37479 (LINE_MIN): Likewise.
37480 (LINE_MAX): Likewise.
37481 (FBTEST_STEP): Likewise.
37482 (FBTEST_COUNT): Likewise.
37483 (fb_list): New variable.
37484 (grub_find_video_card): Remove function.
37485 (find_framebuf): New function.
37486 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
37487 line length.
37488
37489 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
37490 problem for x86_64.
37491
74b21bee 374922009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
37493
37494 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
37495
37496 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
37497 coding tool name.
37498
a455f472 374992009-02-22 Robert Millan <rmh@aybabtu.com>
37500
37501 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
37502 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
37503 in our relocation, instead of using it directly from heap. Also
37504 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
37505
6374daf3 375062009-02-21 Robert Millan <rmh@aybabtu.com>
37507
37508 Implement USB keyboard support (based on patch by Marco Gerards)
37509
37510 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
37511 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
37512 (usb_keyboard_mod_LDFLAGS): New variables.
37513
37514 * term/usb_keyboard.c: New file.
37515
8fa4ea70 375162009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
37517
37518 Corrected wrong declaration
37519
37520 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
37521
353976ac 375222009-02-14 Christian Franke <franke@computer.org>
37523
37524 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
37525 (grub_lspci_iter): Print class code and programming interface byte.
37526
6aa1169b 375272009-02-14 Christian Franke <franke@computer.org>
37528
37529 * gendistlist.sh: Ignore `.svn' directories.
37530
265372ca 375312009-02-14 Felix Zielcke <fzielcke@z-51.de>
37532
37533 * fs/fat.c: Add 2009 to Copyright line.
37534
9ff516f3 375352009-02-14 Christian Franke <franke@computer.org>
37536
37537 * commands/hdparm.c: New file. Provides `hdparm' command
37538 which sends ATA commands via grub_disk_ata_pass_through ().
37539
37540 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
37541
37542 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
37543 and <grub/cpu/io.h> to include/grub/ata.h.
37544 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
37545 (GRUB_CDROM_SECTOR_SIZE): Remove.
37546 (GRUB_ATA_*): Move to include/grub/ata.h.
37547 (GRUB_ATAPI_*): Likewise.
37548 (enum grub_ata_commands): Likewise.
37549 (enum grub_ata_timeout_milliseconds): Likewise.
37550 (struct grub_ata_device): Likewise.
37551 (grub_ata_regset): Likewise.
37552 (grub_ata_regget): Likewise.
37553 (grub_ata_regset2): Likewise.
37554 (grub_ata_regget2): Likewise.
37555 (grub_ata_check_ready): Likewise.
37556 (grub_ata_wait_not_busy): Remove static, exported in
37557 include/grub/ata.h.
37558 (grub_ata_wait_drq): Likewise.
37559 (grub_ata_pio_read): Likewise.
37560
37561 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
37562 function for hdparm.mod.
37563
37564 * include/grub/ata.h: New file, contains declarations from
37565 disk/ata.c.
37566 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
37567
37568 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
37569 (grub_disk_ata_pass_through): New exported variable.
37570
37571 * kern/disk.c (grub_disk_ata_pass_through): New variable.
37572
772e23da 375732009-02-13 Colin D Bennett <colin@gibibit.com>
37574
37575 Support multiple fallback entries, and provide an API to support
37576 executing default+fallback menu entries. Renamed the `terminal' menu
37577 viewer to `text'.
37578
37579 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
37580 variable declaration.
37581 (grub_menu_execute_callback): New structure declaration.
37582 (grub_menu_execute_callback_t): New typedef.
37583 (grub_menu_execute_with_fallback): New function declaration.
37584 (grub_menu_get_entry): Likewise.
37585 (grub_menu_get_timeout): Likewise.
37586 (grub_menu_set_timeout): Likewise.
37587
37588 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
37589
37590 * normal/menu.c (grub_wait_after_message): Moved to
37591 `normal/menu_text.c'.
37592 (draw_border): Likewise.
37593 (print_message): Likewise.
37594 (print_entry): Likewise.
37595 (print_entries): Likewise.
37596 (grub_menu_init_page): Likewise.
37597 (get_entry_number): Likewise.
37598 (print_timeout): Likewise.
37599 (run_menu): Likewise.
37600 (grub_menu_execute_entry): Likewise.
37601 (show_text_menu): Likewise.
37602 (get_and_remove_first_entry_number): New function.
37603 (grub_menu_execute_with_fallback): Likewise.
37604 (get_entry): Renamed to ...
37605 (grub_menu_get_entry): .. this and made it global.
37606 (get_timeout): Renamed to ...
37607 (grub_menu_get_timeout): ... this and made it global.
37608 (set_timeout): Renamed to ...
37609 (grub_menu_set_timeout): ... this and made it global.
37610 (grub_normal_terminal_menu_viewer): Renamed to ...
37611 (grub_normal_text_menu_viewer): ... this.
37612
37613 * normal/menu_text.c: New file. Extracted text-menu-specific code
37614 from normal/menu.c.
37615
37616 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
37617 (normal_mod_SOURCES): Likewise.
37618
37619 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37620 (normal_mod_SOURCES): Likewise.
37621
37622 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37623 (normal_mod_SOURCES): Likewise.
37624
37625 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
37626 (normal_mod_SOURCES): Likewise.
37627
37628 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37629 (normal_mod_SOURCES): Likewise.
37630
37631 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37632 (normal_mod_SOURCES): Likewise.
37633
37634 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
37635 (normal_mod_SOURCES): Likewise.
37636
16ac430e 376372009-02-11 Robert Millan <rmh@aybabtu.com>
37638
37639 * util/grub.d/00_header.in: Update old reference to `font' command.
37640
06ff20fc 376412009-02-10 Felix Zielcke <fzielcke@z-51.de>
37642
37643 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
37644
37645 Based on patch from Javier Martín.
37646
96da9407 376472009-02-09 Felix Zielcke <fzielcke@z-51.de>
37648
37649 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 37650 to avoid false positives with FAT.
96da9407 37651 (grub_fstest_SOURCES): Likewise.
37652 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
37653 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
37654 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37655 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
37656 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37657 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37658
6dca6fe4 376592009-02-09 Felix Zielcke <fzielcke@z-51.de>
37660
06ff20fc 37661 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 37662 bpb.version_specific.fat12_or_fat16.fstype and
37663 bpb.version_specific.fat32.fstype.
37664
2550c62f 376652009-02-08 Robert Millan <rmh@aybabtu.com>
37666
be110b30 37667 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 37668
56978920 376692009-02-08 Robert Millan <rmh@aybabtu.com>
37670
37671 * Makefile.in (host_os, host_cpu): New variables.
37672 (target_os): Remove. Update all users.
37673
d64399b5 376742009-02-08 Marco Gerards <marco@gnu.org>
37675
37676 * Makefile.in (enable_grub_emu_usb): New variable.
37677 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
37678 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
37679 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
37680 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
37681 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
37682 `usbtest.mod' and `usbms.mod'.
37683 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
37684 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
37685 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
37686 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
37687 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
37688 variables.
37689
37690 * disk/usbms.c: New file.
37691
37692 * include/grub/usb.h: Likewise.
37693
37694 * include/grub/usbtrans.h: Likewise.
37695
37696 * include/grub/usbdesc.h: Likewise.
37697
37698 * bus/usb/usbtrans.c: Likewise.
37699
37700 * bus/usb/ohci.c: Likewise.
37701
37702 * bus/usb/uhci.c: Likewise.
37703
37704 * bus/usb/usbhub.c: Likewise.
37705
37706 * bus/usb/usb.c: Likewise.
37707
37708 * commands/usbtest.c: Likewise.
37709
37710 * util/usb.c: Likewise.
50fb7002 37711
d64399b5 37712 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
37713
37714 * configure.ac: Test for libusb presence.
50fb7002 37715
d64399b5 37716 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
37717
2b40d6bb 377182009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
37719
37720 * kern/mm.c: Add more comments.
37721
73a4ce81 377222009-02-08 Robert Millan <rmh@aybabtu.com>
37723
37724 Patch from Javier Martín.
37725 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
37726 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
37727
f821ce59 377282009-02-08 Robert Millan <rmh@aybabtu.com>
37729
37730 * fs/cpio.c: Split tar functionality to ...
37731 * fs/tar.c: ... here (new file). Update all users.
37732
aebfc4b0 377332009-02-07 Robert Millan <rmh@aybabtu.com>
37734
37735 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
37736 backward-incompatible features.
37737
37738 Based on patch from Javier Martín, with some adjustments.
37739
50fb7002 377402009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 37741
37742 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
37743
0bb5115e 377442009-02-07 Robert Millan <rmh@aybabtu.com>
37745
37746 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
37747 position of `disk/lvm.c' to ensure grub_init_all() always picks it
37748 after the RAID stuff.
37749
38a0f8e7 377502009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
37751
50fb7002 37752 Fixes problem when running vbetest command as reported by
38a0f8e7 37753 Vladimir Serbinenko <phcoder@gmail.com>.
37754
37755 * (grub_vbe_set_video_mode): Fixed problem with text modes.
37756
3143cc1c 377572009-02-04 Felix Zielcke <fzielcke@z-51.de>
37758
37759 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
37760 /dev/md/NpN style mdraid devices.
37761
9cba6fce 377622009-02-03 Felix Zielcke <fzielcke@z-51.de>
37763
37764 * util/unifont2pff.rb: Remove.
37765
e507a2c1 377662009-02-03 Felix Zielcke <fzielcke@z-51.de>
37767
37768 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
37769 `#'.
37770
d2c2b4cd 377712009-02-03 Felix Zielcke <fzielcke@z-51.de>
37772
37773 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
37774 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37775 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
37776 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
37777 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37778 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37779 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37780
b4315fb0 377812009-02-02 Christian Franke <franke@computer.org>
37782
37783 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
37784
de3aa260 377852009-02-01 Felix Zielcke <fzielcke@z-51.de>
37786
7c3ff286 37787 * INSTALL: Note that we now require at least autoconf 2.59 and
37788 that LZO is optional.
de3aa260 37789
825a182b 377902009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
37791
37792 Base on patch on bug #24154 created by Tomas Tintera
37793 <trosos@seznam.cz>.
37794
37795 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
37796
a69ef770 377972009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
37798
7c3ff286 37799 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 37800 <bero@arklinux.org>.
37801
37802 * normal/parser.y (script_init): Add missing semicolon.
37803
6fa42fa6 378042009-01-31 Colin D Bennett <colin@gibibit.com>
37805
7c3ff286 37806 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 37807 (free_menu_entry_classes): Added.
37808 (grub_normal_menu_addentry): Added class property handling.
37809 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
37810 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
37811
37812 * normal/menu_viewer.c: New file.
37813
37814 * normal/menu.c (run_menu_entry): Renamed to ...
37815 (grub_menu_execute_entry): ... this and made it as global.
37816 (grub_menu_run): Renamed to ...
37817 (show_text_menu): ... this and made it local.
37818 (show_text_menu): Adapt to new function names.
37819 (grub_normal_terminal_menu_viewer): New global variable.
37820
37821 * include/grub/menu.h: New file.
37822
37823 * include/grub/menu_viewer.h: New file.
37824
37825 * include/grub/normal.h: Added include to grub/menu.h.
37826 (grub_menu_entry): Moved to include/grub/menu.h.
37827 (grub_menu_entry_t): Likewise.
37828 (grub_menu): Likewise.
37829 (grub_menu_t): Likewise.
37830 (grub_normal_terminal_menu_viewer): Added.
37831 (grub_menu_execute_entry): Likewise.
37832 (grub_menu_run): Removed.
37833
37834 * DISTLIST: Added include/grub/menu.h.
37835 Added include/grub/menu_viewer.h.
37836 Added normal/menu_viewer.c.
37837
378382009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
37839
37840 * normal/execute.c (grub_script_execute_menuentry): Changed to use
37841 arglist for menutitle arguments.
37842
37843 * normal/main.c (grub_normal_menu_addentry): Likewise.
37844
37845 * normal/parser.y (menuentry): Likewise.
37846
37847 * normal/script.c (grub_script_create_cmdmenu): Likewise.
37848
37849 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
37850 (grub_script_create_cmdmenu): Likewise.
37851
37852 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
37853
37854 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
37855 changes.
37856
37857 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
37858
37859 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
37860
37861 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
37862
37863 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
37864
37865 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
37866
37867 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
37868
56192c23 378692009-01-30 Christian Franke <franke@computer.org>
37870
37871 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
37872 in option help text.
37873
d72521b3 378742009-01-27 Pavel Roskin <proski@gnu.org>
37875
37876 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
37877
994b5e84 378782009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
37879
37880 * commands/lsmmap.c: Add include to grub/machine/memory.h.
37881
37882 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
37883
37884 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
37885 unregister function.
37886
6a7eab2c 378872009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
37888
37889 * disk/scsi.c (grub_scsi_read): Fix sign problem.
37890
37891 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
37892
37893 * util/grub-mkfont.c (usage): Fix typo.
37894
37895 * util/elf/grub-mkimage.c (load_modules): Fix warning.
37896
1806b56e 378972009-01-26 Daniel Mierswa <impulze@impulze.org>
37898
3fb18f09 37899 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
37900
336e1fb9 37901 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
37902
1806b56e 37903 * kern/misc.c (grub_strcasecmp): New function.
37904 (grub_strcasecmp): Use grub_size_t instead of int for length.
37905 Fix return value.
37906 * include/grub/misc.h: Update function prototypes.
37907
580b2a0f 379082009-01-26 Robert Millan <rmh@aybabtu.com>
37909
37910 * configure.ac: Fix cross-compilation check.
ef257b36 37911
d31c24f1 379122009-01-22 Christian Franke <franke@computer.org>
37913
37914 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
37915 (precision) digit string. Allow `.format2' without `format1' (width).
37916 Limit input chars for `%s' output to `format2' if specified. This is
37917 compatible with standard printf ().
37918
3138b44c 379192009-01-22 Christian Franke <franke@computer.org>
37920
37921 * disk/ata.c (grub_ata_wait_status): Replace by ...
37922 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
37923 other status bits may be invalid while BSY is asserted.
37924 (grub_ata_check_ready): New function.
37925 (grub_ata_cmd): Removed.
37926 (grub_ata_wait_drq): New function.
37927 (grub_ata_strncpy): Remove inline.
37928 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
37929 and error check now done by grub_ata_wait_drq ().
37930 (grub_ata_pio_write): Likewise.
37931 (grub_atapi_identify): Set DEV before check for !BSY. Use
37932 grub_ata_wait_drq () to wait for data.
37933 (grub_ata_device_initialize): Add status register check to
37934 detect missing SATA slave devices. Add debug messages.
37935 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
37936 (grub_atapi_packet): Set DEV before check for !BSY. Replace
37937 transfer loop by grub_ata_pio_write ().
37938 (grub_ata_identify): Set DEV before check for !BSY. Use
37939 grub_ata_wait_drq () to wait for data.
ef257b36 37940 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 37941 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
37942 read/write in one loop. Fix invalid command on write. Fix incomplete
37943 command on (size % batch) == 0. Add missing error check after write of
37944 last block. Add debug messages.
37945 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
37946
59a64ef6 379472009-01-19 Christian Franke <franke@computer.org>
37948
37949 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
37950 (GRUB_ATAPI_IREASON_*): Likewise.
37951 (grub_ata_pio_write): Fix timeout error return.
37952 (grub_atapi_identify): Add grub_ata_wait () after cmd.
37953 (grub_atapi_wait_drq): New function.
37954 (grub_atapi_packet): New parameter `size'.
37955 Use grub_atapi_wait_drq () and direct write instead of
37956 grub_ata_pio_write ().
37957 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
37958 reads the number of bytes requested by the device for each DRQ
37959 assertion.
37960 (grub_atapi_write): Remove old implementation, return not
37961 implemented instead.
37962
1cfe20b3 379632009-01-19 Christian Franke <franke@computer.org>
37964
37965 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
37966 of 512 to calculate data size.
37967 (grub_scsi_read12): Likewise.
37968 (grub_scsi_write10): Likewise.
37969 (grub_scsi_write12): Likewise.
37970 (grub_scsi_read): Adjust size according to blocksize.
37971 Add checks for invalid blocksize and unaligned transfer.
37972
bee5fe5d 379732009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
37974
37975 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
37976
ef257b36 37977 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 37978 width glyphs.
37979
3e643f8c 379802009-01-19 Robert Millan <rmh@aybabtu.com>
37981
37982 * config.guess: Update to latest version from config git.
37983 * config.sub: Likewise.
37984
4fa80998 379852009-01-17 Felix Zielcke <fzielcke@z-51.de>
37986
37987 * Makefile.in: Change font compilation to use new grub-mkfont instead
37988 of java version.
37989
37990 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
37991 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
37992 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
37993 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
37994 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
37995 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
37996 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
37997 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
37998 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
37999
7086085b 380002009-01-16 Christian Franke <franke@computer.org>
38001
38002 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
38003 (enum grub_ata_timeout_milliseconds): New enum.
38004 (grub_ata_wait_status): Add parameter milliseconds.
38005 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
38006 recovery from timed-out commands.
38007 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
38008 return grub_errno instead of REG_ERROR.
38009 (grub_ata_pio_write): Add parameter milliseconds.
38010 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
38011 Pass milliseconds to grub_ata_wait_status () and
38012 grub_ata_pio_read ().
38013 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
38014 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
38015 grub_ata_wait_status (). Fix IDENTIFY timeout check.
38016 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
38017 It is not suitable for device detection, because DEV bit is ignored,
38018 the command may run too long, and not all devices set the signature
38019 properly.
38020 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
38021 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
38022 Fix device selection, DEV bit must be set first to address the registers
38023 of the correct device.
38024 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
38025 grub_ata_pio_read/write ().
38026 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
38027 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
38028
4a412913 380292009-01-13 Carles Pina i Estany <carles@pina.cat>
38030
38031 * util/grub-editenv.c (main): Use fseeko(), not fseek().
38032
7795c55e 380332009-01-13 Bean <bean123ch@gmail.com>
d913988c 38034
38035 * util/grub-mkfont.c (write_font): forget to remove some debug code.
38036
7795c55e 380372009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 38038
38039 * Makefile.in: (enable_grub_mkfont): New variable.
38040 (freetype_cflags): Likewise.
38041 (freetype_libs): Likewise.
38042
38043 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
38044 (grub_mkfont_SOURCES): New variable.
38045 (grub_mkfont_CFLAGS): Likewise.
38046 (grub_mkfont_LDFLAGS): Likewise.
38047
38048 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
38049 library if `--enable-grub-mkfont' is requested.
38050 (enable_grub_mkfont): New variable.
38051 (freetype_cflags): Likewise.
38052 (freetype_libs): Likewise.
38053
38054 * util/grub-mkfont.c: New file.
38055
093af1fe 380562009-01-12 Christian Franke <franke@computer.org>
38057
38058 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
38059 mode check. Fix setting of compat_use[].
38060
f36cc108 380612009-01-10 Robert Millan <rmh@aybabtu.com>
38062
38063 Update a few copyright years which we forgot to do in 2008 (only for
38064 files whose changes made in 2008 were copyright-significant)
38065
38066 * Makefile.in: Add 2008 to Copyright line.
38067 * disk/ieee1275/ofdisk.c: Likewise.
38068 * disk/efi/efidisk.c: Likewise.
38069 * kern/dl.c: Likewise.
38070 * kern/sparc64/ieee1275/init.c: Likewise.
38071 * kern/mm.c: Likewise.
38072 * kern/efi/mm.c: Likewise.
38073 * boot/i386/pc/boot.S: Likewise.
38074 * genfslist.sh: Likewise.
38075 * fs/iso9660.c: Likewise.
38076 * fs/hfs.c: Likewise.
38077 * fs/jfs.c: Likewise.
38078 * fs/minix.c: Likewise.
38079 * fs/ufs.c: Likewise.
38080 * gensymlist.sh.in: Likewise.
38081 * genkernsyms.sh.in: Likewise.
38082 * include/grub/misc.h: Likewise.
38083 * include/grub/types.h: Likewise.
38084 * include/grub/symbol.h: Likewise.
38085 * include/grub/elf.h: Likewise.
38086 * include/grub/kernel.h: Likewise.
38087 * include/grub/disk.h: Likewise.
38088 * include/grub/dl.h: Likewise.
38089 * include/grub/i386/linux.h: Likewise.
38090 * include/grub/i386/pc/biosdisk.h: Likewise.
38091 * include/grub/efi/api.h: Likewise.
38092 * include/grub/efi/pe32.h: Likewise.
38093 * include/grub/util/misc.h: Likewise.
38094 * normal/execute.c: Likewise.
38095 * normal/arg.c: Likewise.
38096 * normal/completion.c: Likewise.
38097 * normal/lexer.c: Likewise.
38098 * normal/parser.y: Likewise.
38099 * normal/misc.c: Likewise.
38100 * commands/i386/pc/vbeinfo.c: Likewise.
38101 * commands/hexdump.c: Likewise.
38102 * commands/terminal.c: Likewise.
38103 * commands/ls.c: Likewise.
38104 * commands/help.c: Likewise.
38105 * partmap/pc.c: Likewise.
38106 * loader/efi/chainloader.c: Likewise.
38107 * loader/multiboot_loader.c: Likewise.
38108 * loader/i386/pc/multiboot2.c: Likewise.
38109 * term/efi/console.c: Likewise.
38110 * term/i386/pc/serial.c: Likewise.
38111 * util/lvm.c: Likewise.
38112 * util/console.c: Likewise.
38113 * util/i386/efi/grub-mkimage.c: Likewise.
38114 * util/raid.c: Likewise.
38115
7f02114b 381162009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
38117
38118 * commands/videotest.c: Removed include to grub/machine/memory.h.
38119
38120 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
38121 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
38122 (video_mod_SOURCES): Removed.
38123 (video_mod_CFLAGS): Likewise.
38124 (video_mod_LDFLAGS): Likewise.
38125 (gfxterm_mod_SOURCES): Likewise.
38126 (gfxterm_mod_CFLAGS): Likewise.
38127 (gfxterm_mod_LDFLAGS): Likewise.
38128 (videotest_mod_SOURCES): Likewise.
38129 (videotest_mod_CFLAGS): Likewise.
38130 (videotest_mod_LDFLAGS): Likewise.
38131 (bitmap_mod_SOURCES): Likewise.
38132 (bitmap_mod_CFLAGS): Likewise.
38133 (bitmap_mod_LDFLAGS): Likewise.
38134 (tga_mod_SOURCES): Likewise.
38135 (tga_mod_CFLAGS): Likewise.
38136 (tga_mod_LDFLAGS): Likewise.
38137 (jpeg_mod_SOURCES): Likewise.
38138 (jpeg_mod_CFLAGS): Likewise.
38139 (jpeg_mod_LDFLAGS): Likewise.
38140 (png_mod_SOURCES): Likewise.
38141 (png_mod_CFLAGS): Likewise.
38142 (png_mod_LDFLAGS): Likewise.
38143
38144 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
38145 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
38146 (video_mod_SOURCES): Added.
38147 (video_mod_CFLAGS): Likewise.
38148 (video_mod_LDFLAGS): Likewise.
38149 (videotest_mod_SOURCES): Likewise.
38150 (videotest_mod_CFLAGS): Likewise.
38151 (videotest_mod_LDFLAGS): Likewise.
38152 (bitmap_mod_SOURCES): Likewise.
38153 (bitmap_mod_CFLAGS): Likewise.
38154 (bitmap_mod_LDFLAGS): Likewise.
38155 (tga_mod_SOURCES): Likewise.
38156 (tga_mod_CFLAGS): Likewise.
38157 (tga_mod_LDFLAGS): Likewise.
38158 (jpeg_mod_SOURCES): Likewise.
38159 (jpeg_mod_CFLAGS): Likewise.
38160 (jpeg_mod_LDFLAGS): Likewise.
38161 (png_mod_SOURCES): Likewise.
38162 (png_mod_CFLAGS): Likewise.
38163 (png_mod_LDFLAGS): Likewise.
38164 (gfxterm_mod_SOURCES): Likewise.
38165 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 38166 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 38167
38168 * term/gfxterm.c: Removed include to grub/machine/memory.h,
38169 grub/machine/console.h.
38170
644fff97 381712009-01-04 Jerone Young <jerone@gmail.com>
38172
38173 Make on screen instructions clearer
38174
38175 Based on patch created by Jidanni <jidanni@jidanni.org>
38176
38177 * normal/menu.c: print clearer instructions on the screen
38178
1e901a75 381792009-01-02 Colin D Bennett <colin@gibibit.com>
38180
38181 New font engine.
34c44600 38182
1e901a75 38183 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
38184 build system and fixed gfxterm.c to work with different sized fonts.
38185
38186 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 38187
1e901a75 38188 * configure: Re-generated.
34c44600 38189
1e901a75 38190 * DISTLIST: Removed font/manager.c.
38191 Added font/font.c.
38192 Added font/font_cmd.c.
34c44600 38193
1e901a75 38194 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
38195 compilation.
34c44600 38196
1e901a75 38197 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 38198
38199 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 38200
38201 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 38202
1e901a75 38203 * normal/menu.c: Likewise.
34c44600 38204
1e901a75 38205 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
38206 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 38207
1e901a75 38208 * include/grub/font.h: Replaced with new file.
34c44600 38209
1e901a75 38210 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
38211 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
38212 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
38213 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
38214 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 38215 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 38216 fg_red, fg_green, fg_blue, fg_alpha.
38217 (grub_video_adapter): Removed blit_glyph.
34c44600 38218 (grub_video_blit_glyph): Removed.
38219
1e901a75 38220 * font/manager.c: Removed file.
34c44600 38221
38222 * font/font.c: New file.
38223
1e901a75 38224 * font/font_cmd.c: Likewise.
34c44600 38225
1e901a75 38226 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 38227
1e901a75 38228 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
38229 (grub_video_vbe_map_rgba): Likewise.
38230 (grub_video_vbe_unmap_color_int): Likewise.
38231 (grub_video_vbe_blit_glyph): Removed.
38232 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 38233
1e901a75 38234 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
38235 (get_pixel): Likewise.
34c44600 38236 (set_pixel): Likewise.
38237
1e901a75 38238 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 38239
1e901a75 38240 * term/gfxterm.c: Adapted to new font engine.
34c44600 38241
1e901a75 38242 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 38243
1e901a75 38244 * term/i386/pc/vga.c: Likewise.
34c44600 38245
1e901a75 38246 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 38247
1e901a75 38248 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 38249
1e901a75 38250 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 38251
1e901a75 38252 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 38253
1e901a75 38254 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 38255
1e901a75 38256 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 38257
1e901a75 38258 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 38259
1e901a75 38260 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 38261
1e901a75 38262 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
38263
38264 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 38265
1e901a75 38266 * util/grub-mkconfig_lib.in: Changed font extension.
38267
278922e8 382682008-12-28 Felix Zielcke <fzielcke@z-51.de>
38269
38270 * util/getroot.c (grub_util_get_grub_dev): Add support for
38271 /dev/md/dNNpNN style partitionable mdraid devices.
38272
3ced05cf 382732008-12-12 Alex Smith <alex@alex-smith.me.uk>
38274
38275 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
38276 at a time limit of the PXE TFTP API correctly.
38277 (grub_pxefs_close): Likewise.
38278
7fd0ee30 382792008-11-29 Robert Millan <rmh@aybabtu.com>
38280
34c44600 38281 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 38282 grub_ata_device_initialize() calls.
38283
34c44600 382842008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 38285
38286 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
38287 iteration failed.
38288 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
38289
89313780 382902008-11-28 Robert Millan <rmh@aybabtu.com>
38291
38292 Fix build on powerpc-ieee1275. Based on patch created by
38293 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
38294 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
38295 `kern/ieee1275/mmap.c'.
38296 * include/grub/powerpc/ieee1275/memory.h: New file.
38297
15257703 38298 Provide grub-install on coreboot.
38299 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
38300 (grub_install_SOURCES): New variable.
38301 * util/i386/pc/grub-install.in: Add a few condition checks to make it
38302 usable on coreboot.
38303
9fc5388a 383042008-11-25 Felix Zielcke <fzielcke@z-51.de>
38305
38306 * util/grub-fstest.c (grub_term_get_current_input): Change return type
38307 to `grub_term_input_t'.
38308 (grub_term_get_current_output): Change return type to
38309 `grub_term_output_t'.
38310
bc3a2f31 383112008-11-22 Robert Millan <rmh@aybabtu.com>
38312
34c44600 38313 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 38314 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
38315 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
38316 grub_vga_text_cls().
38317
80fc88f2 38318 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 38319 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 38320
cbf36fd3 38321 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
38322 to 0x200000 (avoids trouble with some OFW implementations, and matches
38323 with the one in Yaboot).
38324 Reported by Manoel Abranches
38325
73e8e268 383262008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 38327
38328 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
38329 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
38330
73e8e268 38331 * util/grub-mkconfig_lib.in (grub_warn): New function.
38332 (convert_system_path_to_grub_path): Use grub_warn() when issuing
38333 warnings, to obtain consistent formatting.
38334 * util/grub.d/00_header.in: Likewise.
38335 * util/update-grub_lib.in: Likewise.
38336
e94045a1 38337 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 38338 Move comment text to `#error' stanza.
e94045a1 38339
79d29fd7 38340 Harmonize ieee1275's grub_available_iterate() with the generic
38341 grub_machine_mmap_iterate() interface (fixes a recently-introduced
38342 build problem on i386-ieee1275):
38343 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
38344 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
38345 parameter `type'. Update all users of this function.
38346 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
38347 `kern/ieee1275/mmap.c'.
38348 * kern/ieee1275/init.c
38349 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
38350 with ...
38351 (grub_machine_mmap_iterate): ... this.
38352 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
38353 return type to `grub_err_t'. Update all implementations of this
38354 function prototype.
38355 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
38356 Likewise.
38357
60d6b16e 38358 Add `lsmmap' command (lists firmware-provided memory map):
38359 * commands/lsmmap.c: New file.
38360 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
38361 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
38362 variables.
38363 * conf/powerpc-ieee1275.rmk: Likewise.
38364 * conf/i386-coreboot.rmk: Likewise.
38365 * conf/i386-ieee1275.rmk: Likewise.
38366
ebaaf49b 383672008-11-19 Robert Millan <rmh@aybabtu.com>
38368
38369 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 38370 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
38371 constraints to initrd allocation (based on code from
38372 loader/i386/pc/linux.c). Without them, initrd was allocated too high
38373 for Linux to find it.
ebaaf49b 38374
dfab719f 383752008-11-14 Robert Millan <rmh@aybabtu.com>
38376
38377 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
38378 order to cope with duplicate slashes.
38379
10fc3eb9 383802008-11-14 Robert Millan <rmh@aybabtu.com>
38381
38382 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
38383 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
38384 don't want to mess with lower memory, because it is used in the Linux
38385 loader.
38386
38387 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 38388 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 38389 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
38390 is in our heap (probably as a result of it being corrupted during
2f2a3442 38391 decompression). Add #error instance with comment to explain why this
38392 loader isn't currently usable on PC/BIOS.
10fc3eb9 38393
e2e07847 383942008-11-14 Robert Millan <rmh@aybabtu.com>
38395
38396 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 38397 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 38398
fe8e8d69 383992008-11-12 Robert Millan <rmh@aybabtu.com>
38400
38401 Make loader/i386/linux.c buildable on i386-pc (although disabled).
38402
38403 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
38404 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
38405 from here ...
38406 * include/grub/i386/pc/memory.h: ... to here.
38407
976b07d0 384082008-11-12 Robert Millan <rmh@aybabtu.com>
38409
38410 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
38411 split).
38412
38413 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
38414 (grub_console_cur_color, grub_console_real_putchar)
38415 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
38416 (grub_console_setcolorstate, grub_console_setcolor)
38417 (grub_console_getcolor): Move from here ...
38418 * include/grub/i386/vga_common.h: ... to here (new file).
38419
38420 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
38421 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
38422 `<grub/i386/io.h>'.
38423 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
38424 `<grub/i386/vga_common.h>'.
38425
76679cd3 384262008-11-12 Robert Millan <rmh@aybabtu.com>
38427
38428 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
38429 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
38430 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
38431 variables.
38432 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
38433 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
38434
38435 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
38436 grub_console_init() with call to grub_vga_text_init().
38437 (grub_machine_fini): Replace call to
38438 grub_console_fini() with call to grub_vga_text_fini() and
38439 grub_at_keyboard_fini().
38440
38441 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
38442 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
38443 (grub_console_setcolorstate, grub_console_setcolor)
38444 (grub_console_getcolor): New function prototypes.
38445
38446 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
38447 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
38448 (grub_vga_text_setcursor): Static-ize.
38449 (grub_vga_text_term): New structure.
38450 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
38451
38452 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
38453 (grub_console_cur_color, grub_console_standard_color)
38454 (grub_console_normal_color, grub_console_highlight_color)
38455 (map_char, grub_console_putchar, grub_console_getcharwidth)
38456 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
38457 (grub_console_getcolor): Move from here ...
38458 * term/i386/vga_common.c: ... to here (same function names).
38459
95b841d3 384602008-11-12 Robert Millan <rmh@aybabtu.com>
38461
38462 Use newly-added Multiboot support in coreboot.
38463
38464 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
38465 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
38466
38467 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
38468 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
38469 (codestart): Store the MBI in `startup_multiboot_info' when we're
38470 being loaded using Multiboot.
38471
38472 * kern/i386/coreboot/init.c (grub_machine_init): Move
38473 grub_at_keyboard_init() call to beginning of function (useful for
38474 debugging). Call grub_machine_mmap_init() before attempting to use
38475 grub_machine_mmap_iterate().
38476 (grub_lower_mem, grub_upper_mem): Move from here ...
38477 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
38478 here (new file).
38479
38480 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
38481 function prototype.
38482
761ca975 384832008-11-12 Robert Millan <rmh@aybabtu.com>
38484
38485 Fix a regression introduced by the at_keyboard.mod split. Because
38486 some terminals are default on some platforms and non-default on
38487 others, the first terminal being registered determines which is
38488 going to be default.
38489
38490 * kern/term.c (grub_term_register_input): If this is the first
38491 terminal being registered, set it as the current one.
38492 (grub_term_register_output): Likewise.
38493
38494 * term/efi/console.c (grub_console_init): Do not call
38495 grub_term_set_current_output() or grub_term_set_current_input().
38496 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
38497 * term/i386/pc/console.c (grub_console_init): Likewise.
38498 (grub_console_fini): Do not call grub_term_set_current_input()
38499 (but leave grub_term_set_current_output() to restore text mode).
38500
6c529df7 385012008-11-10 Robert Millan <rmh@aybabtu.com>
38502
38503 * util/grub.d/00_header.in: Add backward compatibility check for
38504 versions of terminal.mod that don't understand `terminal_input' or
38505 `terminal_output'.
38506
132e4113 385072008-11-09 Robert Millan <rmh@aybabtu.com>
38508
38509 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
38510 `terminal_input' / `terminal_output', not `terminal'.
38511
ac293d50 385122008-11-08 Robert Millan <rmh@aybabtu.com>
38513
38514 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 38515 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 38516
0025933a 385172008-11-08 Robert Millan <rmh@aybabtu.com>
38518
38519 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 38520 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 38521 members. Update all users.
38522 * util/console.c (grub_ncurses_term): Split in ...
38523 (grub_ncurses_term_input): ... this, and ...
38524 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 38525 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 38526
37c86336 385272008-11-08 Robert Millan <rmh@aybabtu.com>
38528
38529 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
38530 (PKGDATA): Add $(pkgdata_SRCDIR).
38531 (pkglib_BUILDDIR): New variable.
38532 (pkgdata_SRCDIR): New variable.
38533 (build_env.mk): New target.
38534 (include_DATA): New variable.
38535 (install-local): Install $(include_DATA) files in $(includedir).
38536
b6c15a2d 385372008-11-07 Pavel Roskin <proski@gnu.org>
38538
d99d46f1 38539 * gendistlist.sh: Use C locale for sorting to ensure consistent
38540 output on all systems.
38541
b6c15a2d 38542 * util/grub.d/00_header.in: Remove incorrect space before
38543 "serial".
38544
c32ee8c9 385452008-11-07 Robert Millan <rmh@aybabtu.com>
38546
38547 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
38548 per specification.
38549 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
38550 * loader/multiboot_loader.c (find_multi_boot2_header): New function
38551 (based on find_multi_boot1_header).
38552 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
38553 using find_multi_boot2_header(), and abort if neither Multiboot or
38554 Multiboot headers were found.
38555
651c29b7 385562008-11-07 Robert Millan <rmh@aybabtu.com>
38557
38558 Modularize at_keyboard.mod:
38559
38560 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
38561 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
38562 (at_keyboard_mod_LDFLAGS): New variables.
38563
38564 Actual terminal split:
38565
38566 * include/grub/term.h (struct grub_term): Split in ...
38567 (struct grub_term_input): ... this, and ...
38568 (struct grub_term_output): ... this. Update all users.
38569 (grub_term_set_current): Split in ...
38570 (grub_term_set_current_input): ... this, and ...
38571 (grub_term_set_current_output): ... this.
38572 (grub_term_get_current): Split in ...
38573 (grub_term_get_current_input): ... this, and ...
38574 (grub_term_get_current_output): ... this.
38575 (grub_term_register): Split in ...
38576 (grub_term_register_input): ... this, and ...
38577 (grub_term_register_output): ... this.
38578 (grub_term_unregister): Split in ...
38579 (grub_term_unregister_input): ... this, and ...
38580 (grub_term_unregister_output): ... this.
38581 (grub_term_iterate): Split in ...
38582 (grub_term_iterate_input): ... this, and ...
38583 (grub_term_iterate_output): ... this.
38584
38585 * kern/term.c (grub_term_list): Split in ...
38586 (grub_term_list_input): ... this, and ...
38587 (grub_term_list_output): ... this. Update all users.
38588 (grub_cur_term): Split in ...
38589 (grub_cur_term_input): ... this, and ...
38590 (grub_cur_term_output): ... this. Update all users.
38591 (grub_term_set_current): Split in ...
38592 (grub_term_set_current_input): ... this, and ...
38593 (grub_term_set_current_output): ... this.
38594 (grub_term_get_current): Split in ...
38595 (grub_term_get_current_input): ... this, and ...
38596 (grub_term_get_current_output): ... this.
38597 (grub_term_register): Split in ...
38598 (grub_term_register_input): ... this, and ...
38599 (grub_term_register_output): ... this.
38600 (grub_term_unregister): Split in ...
38601 (grub_term_unregister_input): ... this, and ...
38602 (grub_term_unregister_output): ... this.
38603 (grub_term_iterate): Split in ...
38604 (grub_term_iterate_input): ... this, and ...
38605 (grub_term_iterate_output): ... this.
38606
38607 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
38608 a check for input and one for output (and only attempt to get keys
38609 from user when input works).
38610
38611 * util/grub-probe.c (grub_term_get_current): Split in ...
38612 (grub_term_get_current_input): ... this, and ...
38613 (grub_term_get_current_output): ... this.
38614 * util/grub-fstest.c: Likewise.
38615 * util/i386/pc/grub-setup.c: Likewise.
38616 * util/grub-editenv.c: Likewise.
38617
38618 Portability adjustments:
38619
38620 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
38621 `term/i386/pc/at_keyboard.c'.
38622 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
38623 grub_keyboard_controller_init() (now handled by terminal .init).
38624 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
38625 grub_at_keyboard_init().
38626 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
38627 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
38628 at_keyboard.mod via input terminal interface).
38629 * include/grub/i386/coreboot/console.h: Convert into a stub for
38630 `<grub/i386/pc/console.h>'.
38631
38632 Migrate full terminals to new API:
38633
38634 * term/efi/console.c (grub_console_term): Split into ...
38635 (grub_console_term_input): ... this, and ...
38636 (grub_console_term_output): ... this. Update all users.
38637 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
38638 (grub_ofconsole_init): Split into ...
38639 (grub_ofconsole_init_input): ... this, and ...
38640 (grub_ofconsole_init_output): ... this.
38641 (grub_ofconsole_term): Split into ...
38642 (grub_ofconsole_term_input): ... this, and ...
38643 (grub_ofconsole_term_output): ... this. Update all users.
38644 * term/i386/pc/serial.c (grub_serial_term): Split into ...
38645 (grub_serial_term_input): ... this, and ...
38646 (grub_serial_term_output): ... this. Update all users.
38647 * term/i386/pc/console.c (grub_console_term): Split into ...
38648 (grub_console_term_input): ... this, and ...
38649 (grub_console_term_output): ... this. Update all users.
38650 (grub_console_term_input): Only enable it on PC/BIOS platform.
38651 (grub_console_init): Remove grub_keyboard_controller_init() call.
38652
38653 Migrate input terminals to new API:
38654
38655 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
38656 `i386' and `i386/pc' to enable build on x86_64 (this driver is
38657 i386-specific anyway).
38658 (grub_console_checkkey): Rename to ...
38659 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
38660 users.
38661 (grub_keyboard_controller_orig): New variable.
38662 (grub_console_getkey): Rename to ...
38663 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
38664 users.
38665 (grub_keyboard_controller_init): Static-ize. Save original
38666 controller value so that it can be restored ...
38667 (grub_keyboard_controller_fini): ... here (new function).
38668 (grub_at_keyboard_term): New structure.
38669 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
38670 functions.
38671
38672 Migrate output terminals to new API:
38673
38674 * term/i386/pc/vga.c (grub_vga_term): Change type to
38675 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
38676 members. Update all users.
38677 * term/gfxterm.c (grub_video_term): Change type to
38678 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
38679 members. Update all users.
38680 * include/grub/i386/pc/console.h (grub_console_checkkey)
38681 (grub_console_getkey): Do not export (no longer needed by gfxterm,
38682 etc).
38683
38684 Migrate `terminal' command and userland tools to new API:
38685
38686 * commands/terminal.c (grub_cmd_terminal): Split into ...
38687 (grub_cmd_terminal_input): ... this, and ...
38688 (grub_cmd_terminal_output): ... this.
38689 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
38690 `terminal_input' and `terminal_output'.
38691 * util/grub.d/00_header.in: Adjust `terminal' calls to new
38692 `terminal_input' / `terminal_output' API.
38693 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
38694 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
38695 provided ${GRUB_TERMINAL}, convert it).
38696
96e5d876 386972008-11-04 Robert Millan <rmh@aybabtu.com>
38698
38699 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
38700 for FreeBSD.
38701 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
38702
556f3775 387032008-11-03 Bean <bean123ch@gmail.com>
38704
38705 * kern/elf.c (grub_elf32_load): Revert to previous code.
38706 (grub_elf64_load): Likewise.
38707
38708 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
38709
926b9823 387102008-11-01 Robert Millan <rmh@aybabtu.com>
38711
38712 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
38713 (TARGET_CPPFLAGS): Likewise.
38714 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
38715
1432e958 387162008-11-01 Carles Pina i Estany <carles@pina.cat>
38717
38718 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
38719
dba3f844 387202008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 38721
38722 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
38723 addition of objects until the code is not going to be able to fail.
38724
dba3f844 387252008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 38726
38727 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
38728 (add a missing NULL check, and correct them by moving the pointer
38729 operations after the actual check).
38730
7ab28c21 387312008-10-29 Robert Millan <rmh@aybabtu.com>
38732
38733 * util/i386/pc/grub-install.in: Handle empty string as output from
38734 make_system_path_relative_to_its_root().
38735
1b7748eb 387362008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
38737
38738 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
38739 circular metadata worst case scenario. If the metadata is circular
38740 then copy the wrap in place.
38741 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
38742 project lib/format_text/layout.h
38743 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
38744
c9618ab2 387452008-10-03 Felix Zielcke <fzielcke@z-51.de>
38746
7a36edca 38747 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 38748
bf981c62 387492008-10-03 Felix Zielcke <fzielcke@z-51.de>
38750
38751 * util/update-grub_lib.in: Mention filename in warning message.
38752
6d994591 387532008-09-29 Felix Zielcke <fzielcke@z-51.de>
38754
38755 * NEWS: Update for rename of update-grub to grub-mkconfig.
38756
18ade780 387572008-09-29 Felix Zielcke <fzielcke@z-51.de>
38758
38759 * util/update-grub_lib.in: Copy to ...
38760 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 38761 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 38762 * util/update-grub.in: Rename to ...
38763 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
38764 option. Add `--output' option to allow users to specify the generated
38765 configuration file. Default to stdout.
38766 (update_grub_dir): Rename to ...
38767 (grub_mkconfig_dir): ... this.
38768 (grub_cfg): Default to an empty string.
38769 * conf/common.rmk (update-grub): Rename to ...
38770 (grub-mkconfig): ... this.
38771 (update-grub_lib): Copy to ...
38772 (grub-mkconfig_lib): ... this.
38773 (update-grub_SCRIPTS): Copy to ...
38774 (grub-mkconfig_SCRIPTS): ... this. Update all users.
38775 (update-grub_DATA): Rename to ...
38776 (grub-mkconfig_DATA): ... this.
38777
556ce6ac 387782008-09-28 Robert Millan <rmh@aybabtu.com>
38779
38780 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
38781 to `modified'. Add the real `created' field.
38782 (grub_iso9660_uuid): Use `modified' rather than `created' for
38783 constructing the UUID.
38784
387852008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 38786
38787 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
38788 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
38789
92274e85 387902008-09-28 Bean <bean123ch@gmail.com>
38791
38792 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
38793 Thanks to Christian Franke for finding this bug.
38794
add6f17a 387952008-09-25 Robert Millan <rmh@aybabtu.com>
38796
38797 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
38798 instances of grub_util_get_disk_name() (see previous commit).
38799
d2a367b8 388002008-09-25 Robert Millan <rmh@aybabtu.com>
38801
38802 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
38803 `util/i386/get_disk_name.c'.
38804 * conf/i386-efi.rmk: Likewise.
38805 * conf/x86_64-efi.rmk: Likewise.
38806 * conf/i386-coreboot.rmk: Likewise.
38807 * conf/i386-ieee1275.rmk: Likewise.
38808 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
38809 `util/ieee1275/get_disk_name.c'.
38810 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
38811 * util/ieee1275/get_disk_name.c: Remove file.
38812 * util/i386/get_disk_name.c: Remove file.
38813 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
38814 "hd%d" for device.map entries, rather than using
38815 grub_util_get_disk_name().
38816
81a06771 388172008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 38818
38819 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
38820 warning.
38821 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
38822
5a004279 388232008-09-24 Carles Pina i Estany <carles@pina.cat>
38824
38825 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
38826 Changed to 0x5100.
38827 (GRUB_TERM_PPAGE): Changed to 0x4900.
38828
397093d3 388292008-09-24 Robert Millan <rmh@aybabtu.com>
38830
38831 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
38832 macros (they were i386-pc specific).
38833 * include/grub/sparc64/ieee1275/console.h: Likewise.
38834 * include/grub/efi/console.h: Likewise.
38835
a91b6c7c 388362008-09-22 Bean <bean123ch@gmail.com>
38837
38838 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
38839 resident and in attribute list.
38840
38841 * include/grub/ntfs.h (BMP_LEN): Removed.
38842
c40fd116 388432008-09-22 Bean <bean123ch@gmail.com>
38844
81a06771 38845 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 38846 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
38847
38848 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
38849 error occurs, as grub_disk_open will call grub_disk_close, which will
38850 call p->close (scsi).
38851
81a06771 388522008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 38853
38854 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
38855 (AC_PREREQ): Bumped to 2.59.
38856 (AC_TRY_COMPILE): Replace obsolete macro with ...
38857 (AC_COMPILE_IFELSE): ... this.
38858 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
38859 (AC_LINK_IFELSE): ... this.
38860
5dc43410 388612008-09-21 Felix Zielcke <fzielcke@z-51.de>
38862
38863 * autogen.sh: Add a call to `gendistlist.sh'.
38864
9035dce4 388652008-09-19 Christian Franke <franke@computer.org>
38866
38867 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
38868 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
38869 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
38870 Export __enable_execute_stack() to modules.
38871 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
38872 New function.
38873
7fd75377 388742008-09-09 Felix Zielcke <fzielcke@z-51.de>
38875
040030b3 38876 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
38877 Sort the list.
38878
388792008-09-09 Felix Zielcke <fzielcke@z-51.de>
38880
38881 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 38882 #include <grub/util/hostdisk.h>.
38883
89d5ffcf 388842008-09-08 Robert Millan <rmh@aybabtu.com>
38885
38886 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
38887 segments when their filesz is zero (grub_file_read() interprets
81a06771 38888 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 38889 Use `lowest_segment' rather than 0 for calculating the current
38890 segment load address.
38891
40da438f 388922008-09-08 Robert Millan <rmh@aybabtu.com>
38893
38894 * util/hostdisk.c (open_device): Replace a grub_util_info() call
38895 with grub_dprintf("hostdisk", ...), as it was so verbose that it
38896 clobbered useful information.
38897
ddbf5556 388982008-09-08 Robert Millan <rmh@aybabtu.com>
38899
38900 * include/grub/util/biosdisk.h: Move to ...
38901 * include/grub/util/hostdisk.h: ... here. Update all users.
38902 * util/biosdisk.c: Move to ...
38903 * util/hostdisk.c: ... here. Update all users.
38904
783d0f48 389052008-09-07 Robert Millan <rmh@aybabtu.com>
38906
38907 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
38908 variables.
38909 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
38910 and length can be stored directly in the `mbi->mmap_addr' and
38911 `mbi->mmap_length' struct fields.
38912
548e2ea5 389132008-09-07 Robert Millan <rmh@aybabtu.com>
38914
38915 * conf/i386.rmk: New file. Provides declaration for building
38916 `cpuid.mod'.
38917 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
38918 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
38919 variables.
38920 Include `conf/i386.mk'.
38921 * conf/i386-efi.rmk: Likewise.
38922 * conf/x86_64-efi.rmk: Likewise.
38923 * conf/i386-coreboot.rmk: Likewise.
38924 * conf/i386-ieee1275.rmk: Likewise.
38925
0ea85a37 389262008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
38927
38928 Based on patch created by Colin D Bennett <colin@gibibit.com>.
38929 Adds optimization support for BGR based modes.
38930
38931 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
38932 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
38933 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
38934 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
38935 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
38936 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
38937 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
38938 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
38939 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
38940 (grub_video_i386_vbeblit_index_index): Likewise.
38941 (grub_video_i386_vbeblit_replace_directN): Added.
38942 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
38943 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
38944 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
38945 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
38946 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
38947 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 38948 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 38949 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
38950 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
38951 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
38952 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
38953 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
38954 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
38955
38956 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
38957 (grub_video_i386_vbefill_R8G8B8): Likewise.
38958 (grub_video_i386_vbefill_index): Likewise.
38959 (grub_video_i386_vbefill_direct32): Added.
38960 (grub_video_i386_vbefill_direct24): Likewise.
38961 (grub_video_i386_vbefill_direct16): Likewise.
38962 (grub_video_i386_vbefill_direct8): Likewise.
38963
81a06771 38964 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 38965 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
38966 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
38967 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
38968 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
38969 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 38970
0ea85a37 38971 * video/video.c (grub_video_get_blit_format): Updated to use new
38972 blit formats. Added handling for 16 bit color modes.
81a06771 38973
38974 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 38975 fillers.
38976 (common_blitter): Updated to use new blitters.
38977
38978 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
38979 Removed.
38980 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
38981 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
38982 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
38983 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
38984 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
38985 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
38986 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
38987 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
38988 (grub_video_i386_vbeblit_index_index): Likewise.
38989 (grub_video_i386_vbeblit_replace_directN): Added.
38990 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
38991 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
38992 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
38993 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
38994 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
38995 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
38996 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
38997 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
38998 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
38999 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
39000 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
39001 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
39002 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 39003
0ea85a37 39004 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
39005 (grub_video_i386_vbefill_R8G8B8): Likewise.
39006 (grub_video_i386_vbefill_index): Likewise.
39007 (grub_video_i386_vbefill_direct32): Added.
39008 (grub_video_i386_vbefill_direct24): Likewise.
39009 (grub_video_i386_vbefill_direct16): Likewise.
39010 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 39011
0ea85a37 39012 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
39013 types.
81a06771 39014
0ea85a37 39015 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
39016 types.
81a06771 39017
0ea85a37 39018 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
39019 blitter types.
81a06771 39020
0ea85a37 39021 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
39022 types.
39023
e8a83df6 390242008-09-06 Felix Zielcke <fzielcke@z-51.de>
39025
39026 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
39027 RAID level 1.
39028
6bcd8ee5 390292008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 39030
6bcd8ee5 39031 * fs/iso9660.c (grub_iso9660_date): New structure.
39032 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
39033 (grub_iso9660_uuid): New function.
c375ae58 39034
59261157 390352008-09-05 Bean <bean123ch@gmail.com>
39036
39037 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
39038
39039 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
39040 insensitive bit for names in Win32 and Win32 & DOS namespace.
39041
39042 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
39043
39044 * include/grub/types.h (LONG_MAX): Likewise.
39045
58b6645a 390462008-09-04 Felix Zielcke <fzielcke@z-51.de>
39047
4ee55921 39048 * util/getroot.c: Include <config.h>.
39049 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
39050 add support for /dev/md/N devices and handle LVM double dash escaping.
39051
390522008-09-04 Felix Zielcke <fzielcke@z-51.de>
39053
39054 * config.guess: Update to latest version from config git.
39055 * config.sub: Likewise.
58b6645a 39056
9124f65d 390572008-09-03 Robert Millan <rmh@aybabtu.com>
39058
39059 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
39060 `disk->total_sectors'.
39061
81a06771 390622008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 39063
39064 * include/grub/normal.h: Fixed incorrect comment for
39065 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
39066
81a06771 390672008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 39068
39069 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
39070 values with defines.
39071
39072 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
39073 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
39074 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
39075 (GRUB_VBE_MODEATTR_COLOR): Likewise.
39076 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
39077 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
39078 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
39079 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
39080 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
39081 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
39082 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
39083 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
39084 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
39085 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
39086 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
39087 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
39088 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
39089 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
39090 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
39091
93d5cbf8 390922008-08-31 Robert Millan <rmh@aybabtu.com>
39093
39094 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
39095 declaration.
39096 (grub_multiboot): Fix a few warnings.
39097
21751d50 390982008-08-31 Robert Millan <rmh@aybabtu.com>
39099
39100 * loader/i386/pc/multiboot.c: Update comment not to say that
39101 boot_device support is unimplemented.
39102
e27a75c5 391032008-08-31 Robert Millan <rmh@aybabtu.com>
39104
39105 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
39106 or memory map support are unimplemented.
39107
81a06771 391082008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 39109
39110 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
39111
81a06771 391122008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 39113
39114 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
39115 total video memory in 'vbeinfo' output; show color format details for
39116 each video mode.
39117
7c5d8d95 391182008-08-30 Pavel Roskin <proski@gnu.org>
39119
39120 * util/genmoddep.c: Remove for real this time.
39121 * DISTLIST: Remove util/genmoddep.c.
39122
4cebd25a 391232008-08-30 Robert Millan <rmh@aybabtu.com>
39124
39125 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
39126 as required by Multiboot spec (it was already 4-byte aligned, but
39127 only by chance).
39128
b497a269 391292008-08-29 Pavel Roskin <proski@gnu.org>
39130
e3925185 39131 * kern/powerpc/ieee1275/crt0.S: Rename to ...
39132 * kern/powerpc/ieee1275/startup.S: ... this.
39133 * conf/powerpc-ieee1275.rmk: Adjust for the above.
39134 * DISTLIST: Likewise.
39135
b497a269 39136 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
39137 grub/cpu/kernel.h. Add start label for consistency with other
39138 platforms. Add grub_prefix immediately after start. Add jump
39139 to the code after grub_prefix.
39140 * include/grub/powerpc/kernel.h: Provide valid values for
39141 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
39142
6e5a42fe 391432008-08-29 Bean <bean123ch@gmail.com>
39144
39145 * configure.ac: Change host_os to cygwin for mingw.
39146 (asprintf): New check for function.
39147
39148 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
39149 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
39150
39151 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 39152 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 39153 sync, sleep and grub_util_get_disk_size for mingw.
39154
39155 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
39156 to get size in mingw.
39157 (open_device): Use flag O_BINARY if it's defined.
39158 (find_root_device): Add dummy code for mingw.
39159
39160 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
39161 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
39162 (get_scsi_disk_name): Return 0 for mingw.
39163
39164 * util/hostfs.c: #include <grub/util/misc.h>.
39165 (grub_hostfs_open): Use "rb" flag to open file, use
39166 grub_util_get_disk_size to get disk size for mingw.
39167
39168 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
39169 (asprintf): New function if HAVE_ASPRINTF is not set.
39170 (sync): New function for mingw.
39171 (sleep): Likewise.
39172 (grub_util_get_disk_size): Likewise.
39173
ab3f2673 391742008-08-28 Pavel Roskin <proski@gnu.org>
39175
39176 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
39177 kern/time.c.
39178
1c282483 391792008-08-28 Robert Millan <rmh@aybabtu.com>
39180
39181 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
39182
678e849c 391832008-08-28 Robert Millan <rmh@aybabtu.com>
39184
39185 Change find_grub_drive() syntax so it doesn't prevent it from
39186 detecting NULL names as errors.
39187
39188 * util/biosdisk.c (find_grub_drive): Move free slot search code
39189 from here ...
39190 (find_free_slot): ... to here.
39191 (read_device_map): Use find_free_slot() to search for free slots.
39192
965c75ca 391932008-08-27 Marco Gerards <marco@gnu.org>
39194
39195 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
39196 (scsi_mod_SOURCES): New variable.
39197 (scsi_mod_CFLAGS): Likewise
39198 (scsi_mod_LDFLAGS): Likewise.
39199
39200 * disk/scsi.c: New file.
39201
39202 * include/grub/scsi.h: Likewise.
39203
39204 * include/grub/scsicmd.h: Likewise.
39205
39206 * disk/ata.c: Include <grub/scsi.h>.
39207 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
39208 instead.
39209 (grub_ata_iterate): Skip ATAPI devices.
39210 (grub_ata_open): Only handle ATAPI devices.
39211 (struct grub_atapi_read): Removed.
39212 (grub_atapi_readsector): Likewise.
39213 (grub_ata_read): No longer handle ATAPI devices.
39214 (grub_ata_write): Likewise.
39215 (grub_atapi_iterate): New function.
39216 (grub_atapi_read): Likewise.
39217 (grub_atapi_write): Likewise.
39218 (grub_atapi_open): Likewise.
39219 (grub_atapi_close): Likewise.
39220 (grub_atapi_dev): New variable.
39221 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
39222 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
39223
39224 * include/grub/disk.h (enum grub_disk_dev_id): Add
39225 `GRUB_DISK_DEVICE_SCSI_ID'.
39226
c07ae501 392272008-08-26 Robert Millan <rmh@aybabtu.com>
39228
39229 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
39230 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
39231 descriptive.
39232
5ed20adc 392332008-08-23 Bean <bean123ch@gmail.com>
39234
39235 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
39236 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
39237 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
39238 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
39239 dm_nv.mod.
39240 (raid5rec_mod_SOURCES): New macro.
39241 (raid5rec_mod_CFLAGS): Likewise.
39242 (raid5rec_mod_LDFLAGS): Likewise.
39243 (raid6rec_mod_SOURCES): Likewise.
39244 (raid6rec_mod_CFLAGS): Likewise.
39245 (raid6rec_mod_LDFLAGS): Likewise.
39246 (mdraid_mod_SOURCES): Likewise.
39247 (mdraid_mod_CFLAGS): Likewise.
39248 (mdraid_mod_LDFLAGS): Likewise.
39249 (dm_nv_mod_SOURCES): Likewise.
39250 (dm_nv_mod_CFLAGS): Likewise.
39251 (dm_nv_mod_LDFLAGS): Likewise.
39252
39253 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
39254 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
39255 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
39256
39257 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
39258 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
39259
39260 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39261
39262 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39263
39264 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39265
39266 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39267
39268 * disk/raid5_recover.c: New file.
39269
39270 * disk/raid6_recover.c: Likewise.
39271
39272 * disk/mdraid_linux.c: Likewise.
39273
39274 * disk/dmraid_nvidia.c: Likewise.
39275
39276 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
39277 ULONG_MAX.
39278
39279 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
39280 calculate the size of raid device.
39281 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
39282 different layout of raid5.
39283 (grub_raid_scan_device): Remove code specific to mdraid.
39284 (grub_raid_list): New variable.
39285 (free_array): New function.
39286 (grub_raid_register): Likewise.
39287 (grub_raid_unregister): Likewise.
39288 (grub_raid_rescan): Likewise.
39289 (GRUB_MOD_INIT): Don't iterate device here.
39290 (GRUB_MOD_FINI): Use free_array to release resource.
39291
39292 * include/grub/raid.h: Remove macro and structure specific to mdraid.
39293 (grub_raid5_recover_func_t): New function variable type.
39294 (grub_raid6_recover_func_t): Likewise.
39295 (grub_raid5_recover_func): New variable.
39296 (grub_raid6_recover_func): Likewise.
39297 (grub_raid_register): New function.
39298 (grub_raid_unregister): Likewise.
39299 (grub_raid_rescan): Likewise.
39300 (grub_raid_block_xor): Likewise.
39301
39302 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
39303 (CMD_CRC): New macro.
39304 (part): Removed.
39305 (read_file): Handle device as well as file.
39306 (cmd_crc): New function.
39307 (fstest): Handle multiple disks.
39308 (options): Remove part, raw and long, add root and diskcount.
39309 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 39310 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 39311 add handling for the new options, support multiple disks.
39312
39313 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
39314
29c18915 393152008-08-23 Bean <bean123ch@gmail.com>
39316
39317 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
39318
39319 * genfslist.sh: Ignore kernel.mod.
39320
39321 * genpartmaplist.sh: Likewise.
39322
8415f261 393232008-08-23 Robert Millan <rmh@aybabtu.com>
39324
39325 * util/getroot.c (find_root_device): Skip anything that starts with
39326 a dot, not just directories. This avoids things like /dev/.tmp.md0.
39327
d5a7dc5b 393282008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 39329
d5a7dc5b 39330 * util/update-grub.in (GRUB_GFXMODE): Export variable.
39331 * util/grub.d/00_header.in: Allow the administrator to change default
39332 gfxmode via ${GRUB_GFXMODE}.
39333
380cfbb4 393342008-08-21 Felix Zielcke <fzielcke@z-51.de>
39335
39336 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
39337
c9baafe7 393382008-08-21 Robert Millan <rmh@aybabtu.com>
39339
39340 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
39341 loader.
39342 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
39343 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
39344
e290bef2 393452008-08-20 Carles Pina i Estany <carles@pina.cat>
39346
39347 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
39348 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
39349
f9dbfc96 393502008-08-19 Robert Millan <rmh@aybabtu.com>
39351
39352 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
39353 (struct grub_virtual_screen): Remove `cursor_color'.
39354 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
39355 initialization.
39356 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
39357
dd6bd6ab 393582008-08-18 Robert Millan <rmh@aybabtu.com>
39359
39360 Unify (identical) linux_normal.c files.
39361 * loader/i386/efi/linux_normal.c: Move from here ...
39362 * loader/linux_normal.c: ... to here. Update all users.
39363 * loader/i386/pc/linux_normal.c: Delete. Update all users.
39364 * loader/i386/ieee1275/linux_normal.c: Likewise.
39365
7f42f83e 393662008-08-18 Robert Millan <rmh@aybabtu.com>
39367
39368 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
39369 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
39370 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
39371 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
39372 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
39373 New macros.
39374 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
39375 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
39376 (GRUB_LINUX_CL_END_OFFSET): ... to here.
39377 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
39378 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
39379 (GRUB_EFI_CL_END_OFFSET): Rename to ...
39380 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
39381 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
39382 Initialize `params->video_cursor_x' and `params->video_cursor_y'
39383 portably using grub_getxy().
39384 Replace `-EFI' with `-bzImage' in boot message.
39385
38487ddb 393862008-08-17 Robert Millan <rmh@aybabtu.com>
39387
39388 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
39389
deceb3ec 393902008-08-17 Robert Millan <rmh@aybabtu.com>
39391
39392 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
39393
39394 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
39395 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
39396 (grub_machine_mmap_iterate): New function declaration.
39397 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
39398 structure.
39399 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
39400 macros.
39401
39402 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
39403 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
39404 Move e820 parsing from here ...
39405 * kern/i386/pc/mmap.c: New file.
39406 (grub_machine_mmap_iterate): ... to here.
39407
39408 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
39409 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
39410 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
39411 (grub_available_iterate): Redeclare to return `void', and redeclare
39412 its hook to use grub_uint64_t as addr and size parameters, and rename
39413 to ...
39414 (grub_machine_mmap_iterate): ... this. Update all users.
39415
39416 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
39417 to make it more readable. Rename to ...
39418 (grub_machine_mmap_iterate): ... this.
39419
39420 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
39421 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
39422 (grub_multiboot): Allocate an extra region after the payload, and fill
39423 it with a Multiboot memory map. Adjust a.out loader to calculate size
39424 with the extra space.
39425 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
39426 with the extra space.
39427
f8aa0f43 394282008-08-17 Carles Pina i Estany <carles@pina.cat>
39429
9807deb9 39430 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 39431
605f5bb6 394322008-08-17 Felix Zielcke <fzielcke@z-51.de>
39433
39434 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
39435 mdate-sh to the list `find' searches for.
39436 * DISTLIST: Regenerated.
39437
210db6c6 394382008-08-16 Felix Zielcke <fzielcke@z-51.de>
39439
39440 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
39441 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 39442 genmoddep.awk, gensymlist.sh.in.
39443 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 39444 * DISTLIST: Regenerated.
48cdbfd4 39445 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 39446
1082b929 394472008-08-16 Robert Millan <rmh@aybabtu.com>
39448
39449 * disk/raid.c (grub_raid_init): Handle/report errors set by
39450 grub_device_iterate().
39451 * disk/lvm.c (grub_lvm_init): Likewise.
39452
42ce5170 394532008-08-15 Bean <bean123ch@gmail.com>
39454
39455 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
39456 and datehook.mod.
39457 (datetime_mod_SOURCES): New macro.
39458 (datetime_mod_CFLAGS): Likewise.
39459 (datetime_mod_LDFLAGS): Likewise.
39460 (date_mod_SOURCES): Likewise.
39461 (date_mod_CFLAGS): Likewise.
39462 (date_mod_LDFLAGS): Likewise.
39463 (datehook_mod_SOURCES): Likewise.
39464 (datehook_mod_CFLAGS): Likewise.
39465 (datehook_mod_LDFLAGS): Likewise.
39466
39467 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
39468 and datehook.mod.
39469 (datetime_mod_SOURCES): New macro.
39470 (datetime_mod_CFLAGS): Likewise.
39471 (datetime_mod_LDFLAGS): Likewise.
39472 (date_mod_SOURCES): Likewise.
39473 (date_mod_CFLAGS): Likewise.
39474 (date_mod_LDFLAGS): Likewise.
39475 (datehook_mod_SOURCES): Likewise.
39476 (datehook_mod_CFLAGS): Likewise.
39477 (datehook_mod_LDFLAGS): Likewise.
39478
39479 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
39480 and datehook.mod.
39481 (datetime_mod_SOURCES): New macro.
39482 (datetime_mod_CFLAGS): Likewise.
39483 (datetime_mod_LDFLAGS): Likewise.
39484 (date_mod_SOURCES): Likewise.
39485 (date_mod_CFLAGS): Likewise.
39486 (date_mod_LDFLAGS): Likewise.
39487 (datehook_mod_SOURCES): Likewise.
39488 (datehook_mod_CFLAGS): Likewise.
39489 (datehook_mod_LDFLAGS): Likewise.
39490
39491 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
39492 and datehook.mod.
39493 (datetime_mod_SOURCES): New macro.
39494 (datetime_mod_CFLAGS): Likewise.
39495 (datetime_mod_LDFLAGS): Likewise.
39496 (date_mod_SOURCES): Likewise.
39497 (date_mod_CFLAGS): Likewise.
39498 (date_mod_LDFLAGS): Likewise.
39499 (datehook_mod_SOURCES): Likewise.
39500 (datehook_mod_CFLAGS): Likewise.
39501 (datehook_mod_LDFLAGS): Likewise.
39502
39503 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
39504 and datehook.mod.
39505 (datetime_mod_SOURCES): New macro.
39506 (datetime_mod_CFLAGS): Likewise.
39507 (datetime_mod_LDFLAGS): Likewise.
39508 (date_mod_SOURCES): Likewise.
39509 (date_mod_CFLAGS): Likewise.
39510 (date_mod_LDFLAGS): Likewise.
39511 (datehook_mod_SOURCES): Likewise.
39512 (datehook_mod_CFLAGS): Likewise.
39513 (datehook_mod_LDFLAGS): Likewise.
39514
39515 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
39516
39517 * commands/date.c: New file.
39518
39519 * hook/datehook.c: Likewise.
39520
39521 * include/grub/lib/datetime.h: Likewise.
39522
39523 * include/grub/i386/cmos.h: Likewise.
39524
39525 * lib/datetime.c: Likewise.
39526
39527 * lib/i386/datetime.c: Likewise.
39528
39529 * lib/efi/datetime.c: Likewise.
39530
0e9242da 395312008-08-14 Robert Millan <rmh@aybabtu.com>
39532
39533 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
39534 (grub_mkelfimage_SOURCES): New variable.
39535 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
39536
39537 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
39538 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
39539 * conf/powerpc-ieee1275.rmk: Likewise.
39540 * conf/i386-ieee1275.rmk: Likewise.
39541
39542 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
39543 * kern/i386/coreboot/init.c: Likewise.
39544
39545 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
39546 with `<grub/cpu/kernel.h>'.
39547 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
39548 to ...
39549 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
39550 * kern/i386/coreboot/startup.S: Likewise.
39551
39552 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
39553 (GRUB_MOD_GAP): Remove.
39554 * include/grub/powerpc/kernel.h: New file.
39555 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
39556 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
39557 * include/grub/i386/kernel.h: New file.
39558 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
39559 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
39560 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
39561
39562 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
39563 `grub-mkelfimage'.
39564 Use --directory when invoking grub_mkimage.
39565
39566 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
39567 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
39568 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
39569 and GRUB_KERNEL_CPU_PREFIX.
39570
b86408f8 395712008-08-14 Felix Zielcke <fzielcke@z-51.de>
39572
d5e619ca 39573 * include/grub/err.h (grub_err_printf): New function prototype.
39574 * util/misc.c (grub_err_printf): New function.
39575 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
39576 grub_printf.
39577 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 39578
7161f0e0 395792008-08-13 Robert Millan <rmh@aybabtu.com>
39580
39581 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
39582
a1967522 395832008-08-13 Robert Millan <rmh@aybabtu.com>
39584
39585 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
39586 boot entry.
39587
371458b5 395882008-08-12 Robert Millan <rmh@aybabtu.com>
39589
39590 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
39591 of the relocation code from here ...
39592 (grub_multiboot): ... to here.
39593 (forward_relocator, backward_relocator): Move from here ...
39594 * kern/i386/loader.S (grub_multiboot_forward_relocator)
39595 (grub_multiboot_backward_relocator): ... to here.
39596 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
39597 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
39598 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
39599 (grub_multiboot_forward_relocator_end)
39600 (grub_multiboot_backward_relocator)
39601 (grub_multiboot_backward_relocator_end): New variables.
39602
05f9452b 396032008-08-12 Bean <bean123ch@gmail.com>
39604
39605 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
39606
20024ab0 396072008-08-11 Robert Millan <rmh@aybabtu.com>
39608
39609 * kern/i386/linuxbios/startup.S: Move from here ...
39610 * kern/i386/coreboot/startup.S: ... to here.
39611
39612 * kern/i386/linuxbios/init.c: Move from here ...
39613 * kern/i386/coreboot/init.c: ... to here.
39614
39615 * kern/i386/linuxbios/table.c: Move from here ...
39616 * kern/i386/coreboot/mmap.c: ... to here.
39617
39618 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
39619
e352e9cd 396202008-08-11 Robert Millan <rmh@aybabtu.com>
39621
39622 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
39623 errors. Leave it to the upper layer to handle them.
39624
2d05bc6a 396252008-08-09 Christian Franke <franke@computer.org>
39626
39627 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
39628 * conf/common.rmk: Install `grub-pe2elf' only if requested.
39629 Install `grub.d/10_windows' only on Cygwin.
39630 * configure.ac: Add subst of `target_os'.
39631 Check `target_os' also before setting TARGET_OBJ2ELF.
39632 Add `--enable-grub-pe2elf'.
39633
042bd419 396342008-08-08 Robert Millan <rmh@aybabtu.com>
39635
39636 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
39637 (grub_last_time): Change type to grub_uint64_t.
39638 (grub_disk_open): Migrate code from to using grub_get_time_ms().
39639 (grub_disk_close): Likewise.
39640
39641 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
39642 (run_menu): Migrate code from to using grub_get_time_ms().
39643
39644 * util/misc.c (grub_get_time_ms): New function.
39645
7f280db5 396462008-08-08 Marco Gerards <marco@gnu.org>
39647
39648 * disk/ata.c (grub_ata_regget): Change return type to
39649 `grub_uint8_t'.
39650 (grub_ata_regget2): Likewise.
39651 (grub_ata_wait_status): New function.
39652 (grub_ata_wait_busy): Removed function, updated all users to use
39653 `grub_ata_wait_status'.
39654 (grub_ata_wait_drq): Likewise.
39655 (grub_ata_cmd): New function.
39656 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
39657 error handling.
39658 (grub_ata_pio_write): Add error handling.
39659 (grub_atapi_identify): Likewise.
39660 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
39661 handling.
39662 (grub_ata_identify): Use `grub_ata_cmd' and improve error
39663 handling. Actually use the detected registers. Reorder the
39664 detection logic such that it is easier to read.
39665 (grub_ata_pciinit): Do not assign the same ID to each controller.
39666 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
39667 handling.
39668 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
39669
39670 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
39671
1fbc5e66 396722008-08-08 Marco Gerards <marco@gnu.org>
39673
39674 * NEWS: Update.
39675
819ce6c0 396762008-08-07 Bean <bean123ch@gmail.com>
39677
39678 * include/grub/x86_64/pci.h: New file.
39679
5c41d44d 396802008-08-07 Christian Franke <franke@computer.org>
39681
39682 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
39683 (TIMER2_GATE): Likewise.
39684 (grub_pit_wait): Add enable/disable of the timer2 gate
39685 bit of port 0x61. This fixes a possible infinite loop.
39686
5ebc275d 396872008-08-07 Bean <bean123ch@gmail.com>
39688
39689 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
39690 kern/i386/tsc.c and kern/i386/pit.c.
39691
39692 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
39693 x86_64 platform.
39694
39695 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
39696 <grub/i386/tsc.h>.
39697
39698 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
39699
e383b3d0 397002008-08-07 Bean <bean123ch@gmail.com>
39701
39702 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
39703
39704 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
39705
39706 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
39707 multiple inclusion. Add #include <grub/types.h>.
39708
1cbb58ac 397092008-08-06 Christian Franke <franke@computer.org>
39710
39711 * conf/common.rmk: Build and install `10_windows'.
39712 * util/grub.d/10_windows.in: New script.
39713
337f5a1e 397142008-08-06 Pavel Roskin <proski@gnu.org>
39715
39716 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
39717
057bc4ac 397182008-08-06 Robert Millan <rmh@aybabtu.com>
39719
39720 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
39721 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
39722
2b99f123 397232008-08-06 Bean <bean123ch@gmail.com>
39724
39725 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
39726 (grub_pxefs_fs_int): Remove dummy definition.
39727 (grub_pxefs_open): Use data->block_size to store the current block
39728 size setting.
39729 (grub_pxefs_read): Use block size stored in data->block_size. As the
39730 value of grub_pxe_blksize can be changed after the file is opened.
39731
9f0234cb 397322008-08-06 Bean <bean123ch@gmail.com>
39733
39734 * fs/i386/pc/pxe.c (curr_file): new variable.
39735 (grub_pxefs_open): Simply the handling of pxe file system. Don't
39736 require the dummy internal file system anymore.
39737 (grub_pxefs_read): Removed.
39738 (grub_pxefs_close): Likewise.
39739 (grub_pxefs_fs_int): Likewise.
39740 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
39741 connection when we switch file.
39742 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
39743
a55d42e0 397442008-08-06 Robert Millan <rmh@aybabtu.com>
39745
39746 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
39747 `halt.mod'.
39748 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
39749 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
39750
39751 * kern/i386/halt.c: New file.
39752 * kern/i386/reboot.c: Likewise.
39753 * include/grub/i386/reboot.h: Likewise.
39754 * include/grub/i386/halt.h: Likewise.
39755
39756 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
39757 Include `<grub/cpu/halt.h>'.
39758 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
39759 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
39760
39761 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
39762 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
39763 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
39764 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
39765 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
39766 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
39767 from here ...
39768 * include/grub/i386/at_keyboard.h: ... to here.
39769
24371d26 397702008-08-05 Robert Millan <rmh@aybabtu.com>
39771
39772 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
39773 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
39774 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
39775 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
39776 `kern/generic/millisleep.c'.
39777
39778 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
39779 instead of grub_get_rtc().
39780 (grub_tsc_init): Initialize `tsc_boot_time'.
39781
39782 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
39783 (grub_machine_init): Use grub_tsc_init() rather than
39784 installing an RTC-based handler via grub_install_get_time_ms().
39785
39786 * kern/i386/pit.c: New file.
39787 * include/grub/i386/pit.h: Likewise.
39788
9e7007b3 397892008-08-05 Bean <bean123ch@gmail.com>
39790
39791 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
39792
39793 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
39794 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
39795 (pxe_mod_SOURCES): New macro.
39796 (pxe_mod_CFLAGS): Likewise.
39797 (pxe_mod_LDFLAGS): Likewise.
39798 (pxecmd_mod_SOURCES): Likewise.
39799 (pxecmd_mod_CFLAGS): Likewise.
39800 (pxecmd_mod_LDFLAGS): Likewise.
39801
39802 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
39803 (grub_pxe_call): Likewise.
39804
39805 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
39806
39807 * commands/i386/pc/pxecmd.c: New file.
39808
9f0234cb 39809 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 39810
39811 * include/grub/i386/pc/pxe.h: Likewise.
39812
6977d49f 398132008-08-05 Bean <bean123ch@gmail.com>
39814
39815 * util/console.c (grub_console_cur_color): New variable.
39816 (grub_console_standard_color): Likewise.
39817 (grub_console_normal_color): Likewise.
39818 (grub_console_highlight_color): Likewise.
39819 (color_map): Likewise.
39820 (use_color): Likewise.
39821 (NUM_COLORS): New macro.
39822 (grub_ncurses_setcolorstate): Handle color properly.
39823 (grub_ncurses_setcolor): Don't change color here, just remember the
39824 settings, color will be set in grub_ncurses_setcolorstate.
39825 (grub_ncurses_getcolor): New function.
39826 (grub_ncurses_init): Initialize color pairs.
39827 (grub_ncurses_term): New member grub_ncurses_getcolor.
39828
9c2ff3ee 398292008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 39830
9c2ff3ee 39831 High resolution timer support. Implemented for x86 CPUs using TSC.
39832 Extracted generic grub_millisleep() so it's linked in only as needed.
39833 This requires a Pentium compatible CPU; if the RDTSC instruction is
39834 not supported, then it falls back on the generic grub_get_time_ms()
39835 implementation that uses the machine's RTC.
39836
39837 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
39838 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
39839 `kern/generic/millisleep.c'.
39840
39841 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
39842 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
39843
39844 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
39845 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
39846
39847 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
39848
39849 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
39850 `kern/generic/millisleep.c'.
39851
39852 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
39853
39854 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
39855
39856 * kern/generic/rtc_get_time_ms.c: New file.
39857
39858 * kern/generic/millisleep.c: New file.
337f5a1e 39859
9c2ff3ee 39860 * kern/misc.c: Don't include
39861 <kern/time.h> anymore.
39862 (grub_millisleep_generic): Removed.
39863
39864 * commands/sleep.c (grub_interruptible_millisleep): Uses
39865 grub_get_time_ms() instead of grub_get_rtc().
39866
39867 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
39868 function.
39869 (grub_cpu_is_cpuid_supported): New inline function.
39870 (grub_cpu_is_tsc_supported): New inline function.
39871 (grub_tsc_init): New function prototype.
39872 (grub_tsc_get_time_ms): New function prototype.
39873
39874 * kern/i386/tsc.c (grub_get_time_ms): New file.
39875
39876 * include/grub/time.h: Include <grub/types.h.
39877 (grub_millisleep_generic): Removed.
39878 (grub_get_time_ms): New prototype.
39879 (grub_install_get_time_ms): New prototype.
39880 (grub_rtc_get_time_ms): New prototype.
39881
39882 * kern/time.c (grub_get_time_ms): New function.
39883 (grub_install_get_time_ms): New function.
39884
39885 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
39886 <grub/time.h> anymore.
39887 (grub_millisleep): Removed.
39888 (grub_machine_init): Call grub_tsc_init.
39889
39890 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
39891 get_time_ms() implementation.
39892
39893 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
39894 (ieee1275_get_time_ms): New function.
39895 (grub_machine_init): Install get_time_ms() implementation.
39896
39897 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
39898 (grub_machine_init): Call grub_tsc_init().
39899 (grub_millisleep): Removed.
bf06a93f 39900
9c2ff3ee 39901 * kern/ieee1275/init.c (grub_millisleep): Removed.
39902 (grub_machine_init): Install ieee1275_get_time_ms()
39903 implementation.
39904 (ieee1275_get_time_ms): New function.
39905 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
39906 real work.
39907
9ec92aaf 399082008-08-05 Marco Gerards <marco@gnu.org>
39909
39910 * disk/ata.c: Include <grub/pci.h>.
39911 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
39912 (grub_ata_initialize): Rewritten.
39913 (grub_ata_device_initialize): New function.
39914
8d23f507 399152008-08-04 Pavel Roskin <proski@gnu.org>
39916
39917 * kern/main.c: Include grub/mm.h.
39918
5e15ee3d 399192008-08-04 Robert Millan <rmh@aybabtu.com>
39920
39921 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
39922 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
39923 corruption problem).
39924
a9053f8f 399252008-08-04 Robert Millan <rmh@aybabtu.com>
39926
39927 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
39928 warnings introduced in my last commit.
39929
dd19c7d7 399302008-08-03 Robert Millan <rmh@aybabtu.com>
39931
39932 Make PCI available on all i386 architectures.
39933
39934 * include/grub/i386/pc/pci.h: Move from here ...
39935 * include/grub/i386/pci.h: ... to here.
39936
39937 * include/grub/i386/pc/pci.h: Remove.
39938 * include/grub/i386/efi/pci.h: Remove.
39939 * include/grub/x86_64/efi/pci.h: Remove.
39940
39941 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
39942 `<grub/cpu/pci.h>'.
39943
39944 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
39945 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
39946 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
39947
39948 * conf/i386-ieee1275.rmk: Likewise.
39949
e14a6184 399502008-08-03 Robert Millan <rmh@aybabtu.com>
39951
39952 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
39953 (grub_console_setcursor): Make it possible to set cursor off.
39954
52768e37 399552008-08-03 Robert Millan <rmh@aybabtu.com>
39956
39957 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
39958 of modules instead of assuming which platform provides what.
39959 * util/update-grub.in: Likewise.
39960
2d52f57f 399612008-08-03 Robert Millan <rmh@aybabtu.com>
39962
39963 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
39964 instead of `grub_install_dos_part' to determine whether a drive needs
39965 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 39966 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 39967
2a5cd121 399682008-08-02 Robert Millan <rmh@aybabtu.com>
39969
39970 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
39971
93808428 399722008-08-02 Robert Millan <rmh@aybabtu.com>
39973
39974 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
39975 of informational grub_dprintf() calls.
39976
3bd0a12a 399772008-08-02 Robert Millan <rmh@aybabtu.com>
39978
39979 * disk/memdisk.c (memdisk_size): Don't initialize.
39980 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
39981
39982 * include/grub/i386/pc/kernel.h
39983 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
39984 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
39985 (grub_memdisk_image_size, grub_arch_memdisk_addr)
39986 (grub_arch_memdisk_size): Remove.
39987
39988 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
39989 field (was only used to transfer a constant). Add `type' field to
39990 support multiple module types.
39991 (grub_module_iterate): New function.
39992
39993 * kern/device.c (grub_device_open): Do not hide error messages
39994 when grub_disk_open() fails. Use grub_print_error() instead.
39995
39996 * kern/i386/pc/init.c (grub_arch_modules_addr)
39997 (grub_arch_memdisk_size): Remove functions.
39998 (grub_arch_modules_addr): Return the module address in high memory
39999 (now that it isn't copied anymore).
40000
40001 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
40002 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
40003 decompression routine (grub_total_module_size already includes that
40004 now). Don't copy modules back to low memory.
40005
40006 * kern/main.c: Include `<grub/mm.h>'.
40007 (grub_load_modules): Split out (and use) ...
40008 (grub_module_iterate): ... this function, which iterates through
40009 module objects and runs a hook.
40010 Comment out grub_mm_init_region() call, as it would cause non-ELF
40011 modules to be overwritten.
40012
40013 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
40014 the memdisk image in its own region, make it part of the module list.
40015 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
40016 (main): Parse --memdisk|-m option, and pass user-provided path as
40017 parameter to generate_image().
40018 (add_segments): Pass `memdisk_path' down to load_modules().
40019 (load_modules): Embed memdisk image in module section when requested.
40020 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
40021 `header.type' instead of `header.offset'.
40022
40023 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
40024 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
40025 (memdisk_mod_LDFLAGS): New variables.
40026 * conf/i386-coreboot.rmk: Likewise.
40027 * conf/i386-ieee1275.rmk: Likewise.
40028
a927cc73 400292008-08-02 Robert Millan <rmh@aybabtu.com>
40030
40031 * loader/i386/pc/multiboot.c (playground, forward_relocator)
40032 (backward_relocator): New variables. Used to allocate and relocate
40033 the payload, respectively.
40034 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 40035 address, install the appropriate relocator code in each bound of
a927cc73 40036 the payload, and set the entry point such that
40037 grub_multiboot_real_boot() will jump to one of them.
40038
40039 * kern/i386/loader.S (grub_multiboot_payload_size)
40040 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
40041 (grub_multiboot_payload_entry_offset): New variables.
40042 (grub_multiboot_real_boot): Set cpu context to what the relocator
40043 expects, and jump to the relocator instead of the payload.
40044
40045 * include/grub/i386/loader.h (grub_multiboot_payload_size)
40046 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
40047 (grub_multiboot_payload_entry_offset): Export.
40048
b15d8a0c 400492008-08-01 Bean <bean123ch@gmail.com>
40050
40051 * normal/menu_entry.c (editor_getline): Don't return the original
40052 string as result, as it will be released by lexer once it has done
40053 using it.
40054
cdfb3d22 400552008-08-01 Robert Millan <rmh@aybabtu.com>
40056
40057 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
40058 within menuentries, not before them.
40059 util/grub.d/10_hurd.in: Likewise.
40060
9175e93d 400612008-08-01 Bean <bean123ch@gmail.com>
40062
40063 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
40064 (bufio_mod_SOURCES): New macro.
40065 (bufio_mod_CFLAGS): Likewise.
40066 (bufio_mod_LDFLAGS): Likewise.
40067
40068 * include/grub/bufio.h: New file.
40069
40070 * io/bufio.c: Likewise.
40071
40072 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
40073 (grub_video_reader_png): Use grub_buffile_open to open file.
40074
40075 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
40076 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
40077
40078 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
40079 (grub_video_reader_tga): Use grub_buffile_open to open file.
40080
40081 * font/manager.c: Include <grub/bufio.h>.
40082 (add_font): Use grub_buffile_open to open file.
40083
3d8383e7 400842008-07-31 Robert Millan <rmh@aybabtu.com>
40085
40086 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
40087 ELF segments, use a macro for arbitrarily accessing any of them instead
40088 of preparing a pointer that allows access to one at a time.
40089 (grub_multiboot_load_elf64): Likewise.
40090
16e641b6 400912008-07-31 Bean <bean123ch@gmail.com>
40092
40093 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
40094 GRUB_KERNEL_MACHINE_DATA_END.
40095
59198b72 400962008-07-30 Robert Millan <rmh@aybabtu.com>
40097
40098 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
40099 Increase from 0x50 to 0x60.
40100 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
40101 use UUIDs to identify the root drive for them. If that's not
40102 possible, abort.
40103 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
40104 check, for cross-disk installs.
40105
ae88bca3 401062008-07-30 Robert Millan <rmh@aybabtu.com>
40107
40108 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
40109 is non-empty, use it to set the `prefix' environment variable instead
40110 of the usual approach.
40111 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
40112 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
40113 environment variable instead of dummy make_install_device().
40114
40115 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
40116 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 40117 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 40118
40119 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
40120 New variable reference.
40121 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
40122 New macro. Defines offset of `grub_prefix' within startup.S (relative
40123 to `start').
40124 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
40125 section within startup.S (relative to `start').
40126 * include/grub/i386/coreboot/kernel.h: Likewise.
40127
40128 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
40129 Overwrite grub_prefix with its contents, at the beginning of the
40130 first segment.
40131 (main): Understand -p|--prefix.
40132
14f41dd1 401332008-07-30 Robert Millan <rmh@aybabtu.com>
40134
40135 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
40136
4ca049a3 401372008-07-30 Robert Millan <rmh@aybabtu.com>
40138
40139 * term/i386/pc/vga_text.c (grub_console_cls): Use
40140 grub_console_gotoxy() to go back to beginning of the screen.
40141 Found by Patrick Georgi <patrick.georgi@coresystems.de>
40142
2921d337 401432008-07-29 Christian Franke <franke@computer.org>
40144
40145 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
40146 Add conversion of emulated mount points on Cygwin.
40147
b609876d 401482008-07-29 Christian Franke <franke@computer.org>
40149
40150 * util/update-grub.in: Add a check for admin
40151 group on Cygwin.
40152 Remove old `grub.cfg.new' before creation.
40153 Add `-f' to `mv' to handle the different filesystem
40154 semantics of Windows.
40155
e93e4679 401562008-07-29 Bean <bean123ch@gmail.com>
40157
40158 * normal/main.c (get_line): Fix buffer overflow bug.
40159
41694fd0 401602008-07-28 Robert Millan <rmh@aybabtu.com>
40161
40162 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
40163 (struct grub_apple_header): New struct. Describes the layout of
40164 the partmap header.
40165 (apple_partition_map_iterate): Check the header magic as well as the
40166 partition magic (which was already being checked).
40167
cfd0b4e6 401682008-07-28 Pavel Roskin <proski@gnu.org>
40169
40170 * genmk.rb: Add a warning to the beginning of the output that
40171 it's a generated file and should not be edited.
40172
93cce016 401732008-07-28 Robert Millan <rmh@aybabtu.com>
40174
40175 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
40176 with the same number are found, just use issue a warning with
40177 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 40178
cd1df915 401792008-07-27 Robert Millan <rmh@aybabtu.com>
40180
40181 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
40182 information.
40183
b70a8427 401842008-07-27 Bean <bean123ch@gmail.com>
40185
40186 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
40187 (grub_fat_find_dir): Ignore case when comparing filename.
40188
8f5e379f 401892008-07-27 Bean <bean123ch@gmail.com>
40190
40191 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
40192 smallino, as it's more descriptive, and i8count can be confused with
40193 the other field count.
40194 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
40195 inode type.
40196
a85cd5a0 401972008-07-27 Bean <bean123ch@gmail.com>
40198
40199 * commands/crc.c: New file.
40200
40201 * lib/crc.c: Likewise.
40202
40203 * include/grub/lib/crc.h: Likewise.
40204
40205 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
40206
40207 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
40208 (hexdump): Move this function to ...
40209
40210 * lib/hexdump.c: ... here.
40211
40212 * include/grub/hexdump.h: Renamed to ...
40213
40214 * include/grub/lib/hexdump.h: ... this.
40215
40216 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
40217
40218 * util/grub-editenv.c: Likewise.
40219
40220 * include/envblk.h: Renamed to ...
40221
40222 * include/lib/envblk.h: ... this.
40223
40224 * util/envblk.c: Renamed to ...
40225
40226 * lib/envblk.c: ... this.
40227
40228 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
40229 lib/hexdump.c.
40230 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
40231 (pkglib_MODULES): Add crc.mod.
40232 (hexdump_mod_SOURCES): Add lib/hexdump.c.
40233 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
40234 (crc_mod_SOURCES): New macro.
40235 (crc_mod_CFLAGS): Likewise.
40236 (crc_mod_LDFLAGS): Likewise.
40237
40238 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
40239
40240 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40241
40242 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
40243
40244 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40245
40246 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
40247
c298def0 402482008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 40249
40250 * commands/help.c: Include <grub/term.h>.
40251 (TERM_WIDTH): Removed. Updated all users.
40252
cc349fb3 402532008-07-27 Pavel Roskin <proski@gnu.org>
40254
40255 * util/getroot.c (find_root_device): Rephrase a comment to avoid
40256 spurious warnings about a comment within a comment.
40257
9051607e 402582008-07-25 Robert Millan <rmh@aybabtu.com>
40259
40260 * util/getroot.c (find_root_device): Skip devices that match
40261 /dev/dm-[0-9]. This lets the real device be found for any type of
40262 abstraction (LVM, EVMS, RAID..).
40263 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
40264 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
40265 device is found first, find_root_device() will now skip it.
40266
01453bfc 402672008-07-24 Pavel Roskin <proski@gnu.org>
40268
40269 * include/grub/types.h: Use __builtin_bswap32() and
40270 __builtin_bswap64() with gcc 4.3 and newer.
40271
6af9849f 402722008-07-24 Christian Franke <franke@computer.org>
40273
3a0fa256 40274 * util/i386/pc/grub-install.in: If `--debug' is specified,
40275 pass `--verbose' to grub-setup.
40276 Abort script if make_system_path_relative_to_its_root() fails.
40277
7810e747 402782008-07-24 Bean <bean123ch@gmail.com>
40279
40280 * configure.ac: Fixed a bug caused by the previous cygwin patch,
40281 variable `target_platform' should be `platform'.
40282
42290e17 402832008-07-24 Bean <bean123ch@gmail.com>
40284
51cc5193 40285 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 40286 (grub_png_init_fixed_block): New function.
40287 (grub_png_decode_image_data): Handle fixed huffman code compression.
40288
2a8a80e4 402892008-07-24 Bean <bean123ch@gmail.com>
40290
40291 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
40292 (grub_pe2elf_SOURCES): New macro.
40293 (CLEANFILES): Add grub-pe2elf.
40294
40295 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
40296 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
40297 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
40298 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
40299 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
40300 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
40301 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
40302 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
40303 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
40304 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
40305 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
40306 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
40307 (GRUB_PE32_DT_FUNCTION): Likewise.
40308 (GRUB_PE32_REL_I386_DIR32): Likewise.
40309 (GRUB_PE32_REL_I386_REL32): Likewise.
40310 (grub_pe32_symbol): New structure.
40311 (grub_pe32_reloc): Likewise.
40312
40313 * util/grub-pe2elf.c: New file.
40314
40315 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
40316 start symbol in non pc platform.
40317
40318 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
40319
40320 The following patches are from Christian Franke.
40321
40322 * include/grub/dl.h: Remove .previous, gas supports this only
40323 for ELF format.
40324
40325 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
40326 Remove .type, gas supports this only for ELF format.
40327
40328 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
40329 nullbytes in symbol table. This fixes an infinite loop if table is
40330 zero filled.
40331
40332 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
40333 TARGET_IMG_LDFLAGS and EXEEXT.
40334
40335 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
40336 TARGET_IMG_LDFLAGS_AC.
40337 (grub_CHECK_STACK_ARG_PROBE): New function.
40338
40339 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
40340
40341 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
40342
40343 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
40344 to set TARGET_IMG_LD* accordingly.
40345 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
40346 Add call to grub_CHECK_STACK_ARG_PROBE.
40347 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
40348
40349 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
40350
40351 * genmk.rb: Add EXEEXT to CLEANFILES.
40352
12ccdb75 403532008-07-23 Robert Millan <rmh@aybabtu.com>
40354
40355 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
40356 define the codes for arrows and lines used for the menu).
40357 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
40358 as well.
40359
40360 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
40361 fonts, because the latter are too slow.
40362
18eeaf04 403632008-07-21 Bean <bean123ch@gmail.com>
40364
40365 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
40366 a20. Run keyboard test last, as it will cause macbook to halt.
40367
b095e2ad 403682008-07-18 Pavel Roskin <proski@gnu.org>
40369
40370 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
40371 load foreign architecture modules correctly anyway. Keep
40372 support for loading host architecture modules, whether we
40373 compile them or not.
40374
737feb35 403752008-07-17 Pavel Roskin <proski@gnu.org>
40376
3f4ce737 40377 * configure.ac: Use -m32 or -m64 regardless of whether we had to
40378 change target_cpu. The compiler default can mismatch target_cpu
40379 in any case.
40380
4ad2d049 40381 * disk/efi/efidisk.c: Fix format warnings on x86_64.
40382 * kern/efi/efi.c: Likewise.
40383
f6130a12 40384 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
40385 target compiler is functional.
40386 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
40387 are set up.
40388
58393a2d 40389 * configure.ac: Default to efi platform for x86_64-apple. Allow
40390 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
40391 adjustments from the rest, only do them if target is not
40392 explicitly given. Merge other adjustments with the final sanity
40393 check. Remove an extraneous check for supported CPU. Be
40394 specific which CPU and which platform is not supported.
40395
737feb35 40396 * configure.ac: Default to pc platform for x86_64.
40397
546f966a 403982008-07-17 Robert Millan <rmh@aybabtu.com>
40399
40400 Partial LinuxBIOS -> Coreboot rename.
40401
40402 * conf/i386-linuxbios.rmk: Renamed to ...
40403 * conf/i386-coreboot.rmk: ... this.
40404 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
40405 * configure.ac: Accept "coreboot" as input platform (but maintain
40406 compatibility with "linuxbios").
40407 * include/grub/i386/linuxbios: Renamed to ...
40408 * include/grub/i386/coreboot: ... this.
40409
20011694 404102008-07-17 Bean <bean123ch@gmail.com>
40411
40412 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 40413 (appleldr_mod_SOURCE): New variable.
20011694 40414 (appleldr_mod_CFLAGS): Likewise.
40415 (appleldr_mod_LDFLAGS): Likewise.
40416 (pci_mod_SOURCES): Likewise.
40417 (pci_mod_CFLAGS): Likewise.
40418 (pci_mod_LDFLAGS): Likewise.
40419 (lspci_mod_SOURCES): Likewise.
40420 (lspci_mod_CFLAGS): Likewise.
40421 (lspci_mod_LDFLAGS): Likewise.
40422
40423 * conf/x86_64-efi.rmk: New file.
40424
40425 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
40426 macro.
40427 (grub_efidisk_write): Likewise.
40428
40429 * include/efi/api.h (efi_call_0): New macro.
40430 (efi_call_1): Likewise.
40431 (efi_call_2): Likewise.
40432 (efi_call_3): Likewise.
40433 (efi_call_4): Likewise.
40434 (efi_call_5): Likewise.
40435 (efi_call_6): Likewise.
40436
40437 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
40438 grub_rescue_cmd_chainloader.
40439
40440 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
40441 (grub_pe32_optional_header): Change some fields based on i386 or
40442 x86_64 platform.
40443 (GRUB_PE32_PE32_MAGIC): Likewise.
40444
40445 * include/grub/efi/uga_draw.h: New file.
40446
40447 * include/grub/elf.h (STN_ABS): New constant.
40448 (R_X86_64_NONE): Relocation constant for x86_64.
40449 (R_X86_64_64): Likewise.
40450 (R_X86_64_PC32): Likewise.
40451 (R_X86_64_GOT32): Likewise.
40452 (R_X86_64_PLT32): Likewise.
40453 (R_X86_64_COPY): Likewise.
40454 (R_X86_64_GLOB_DAT): Likewise.
40455 (R_X86_64_JUMP_SLOT): Likewise.
40456 (R_X86_64_RELATIVE): Likewise.
40457 (R_X86_64_GOTPCREL): Likewise.
40458 (R_X86_64_32): Likewise.
40459 (R_X86_64_32S): Likewise.
40460 (R_X86_64_16): Likewise.
40461 (R_X86_64_PC16): Likewise.
40462 (R_X86_64_8): Likewise.
40463 (R_X86_64_PC8): Likewise.
40464
40465 * include/grub/i386/efi/pci.h: New file.
40466
40467 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
40468 Change it value based on platform.
40469 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
40470 (GRUB_E820_RAM): Likewise.
40471 (GRUB_E820_RESERVED): Likewise.
40472 (GRUB_E820_ACPI): Likewise.
40473 (GRUB_E820_NVS): Likewise.
40474 (GRUB_E820_EXEC_CODE): Likewise.
40475 (GRUB_E820_MAX_ENTRY): Likewise.
40476 (grub_e820_mmap): New structure.
40477 (linux_kernel_header): Change the efi field according to different
40478 kernel version, also field from linux_kernel_header.
40479
40480 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
40481
40482 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
40483 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
40484 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
40485 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
40486 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
40487 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
40488 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
40489 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
40490 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
40491 (GRUB_PCI_ADDR_IO_MASK): Likewise.
40492
40493 * include/grub/x86_64/efi/kernel.h: New file.
40494
40495 * include/grub/x86_64/efi/loader.h: Likewise.
40496
40497 * include/grub/x86_64/efi/machine.h: Likewise.
40498
40499 * include/grub/x86_64/efi/pci.h: Likewise.
40500
40501 * include/grub/x86_64/efi/time.h: Likewise.
40502
40503 * include/grub/x86_64/linux.h: Likewise.
40504
40505 * include/grub/x86_64/setjmp.h: Likewise.
40506
40507 * include/grub/x86_64/time.h: Likewise.
40508
40509 * include/grub/x86_64/types.h: Likewise.
40510
40511 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
40512 GRUB_TARGET_SIZEOF_VOID_P.
40513
40514 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
40515 (grub_efi_locate_handle): Likewise.
40516 (grub_efi_open_protocol): Likewise.
40517 (grub_efi_set_text_mode): Likewise.
40518 (grub_efi_stall): Likewise.
40519 (grub_exit): Likewise.
40520 (grub_reboot): Likewise.
40521 (grub_halt): Likewise.
40522 (grub_efi_exit_boot_services): Likewise.
40523 (grub_get_rtc): Likewise.
40524
40525 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
40526 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
40527 (grub_efi_allocate_pages): Wrap efi calls.
40528 (grub_efi_free_pages): Wrap efi calls.
40529 (grub_efi_get_memory_map): Wrap efi calls.
40530
40531 * kern/x86_64/dl.c: New file.
40532
40533 * kern/x86_64/efi/callwrap.S: Likewise.
40534
40535 * kern/x86_64/efi/startup.S: Likewise.
40536
40537 * loader/efi/appleloader.c: Likewise.
40538
40539 * loader/efi/chainloader.c (cmdline): New variable.
40540 (grub_chainloader_unload): Wrap efi calls.
40541 (grub_chainloader_boot): Likewise.
40542 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
40543 command line.
40544
40545 * loader/efi/chainloader_normal.c (chainloader_command):
40546 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
40547 command line.
40548
40549 * loader/i386/efi/linux.c (allocate_pages): Change allocation
40550 method.
40551 (grub_e820_add_region): New function.
40552 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
40553 booting.
40554 (grub_find_video_card): New function.
40555 (grub_linux_setup_video): New function.
40556 (grub_rescue_cmd_linux): Probe for video information.
40557
40558 * normal/x86_64/setjmp.S: New file.
40559
40560 * term/efi/console.c (map_char): New function.
40561 (grub_console_putchar): Map unicode char.
40562 (grub_console_checkkey): Wrap efi calls.
40563 (grub_console_getkey): Likewise.
40564 (grub_console_getwh): Likewise.
40565 (grub_console_gotoxy): Likewise.
40566 (grub_console_cls): Likewise.
40567 (grub_console_setcolorstate): Likewise.
40568 (grub_console_setcursor): Likewise.
40569
40570 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
40571
59652a20 405722008-07-16 Pavel Roskin <proski@gnu.org>
40573
ef294055 40574 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
40575 format strings.
40576
59652a20 40577 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
40578 pointer, not an integer. This fixes a warning and prevents
40579 precision loss on 64-bit systems.
40580 (relocate_addresses): Remove unneeded cast.
40581
afc3b5d7 405822008-07-15 Pavel Roskin <proski@gnu.org>
40583
506b2b3e 40584 * kern/i386/ieee1275/init.c: Include grub/cache.h.
40585
62ead89c 40586 * term/ieee1275/ofconsole.c: Disable code unused on i386.
40587
c4cd51d7 40588 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
40589 Fix comparison between signed and unsigned.
40590
0d3d8f28 40591 * include/grub/i386/ieee1275/console.h: Declare
40592 grub_console_init() and grub_console_fini().
40593
8804b286 40594 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
40595 It's empty and unused.
40596
ee01cf35 40597 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
40598 beginning to avoid warnings with some compilers.
40599
afc3b5d7 40600 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
40601 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
40602
e4e8eaa5 406032008-07-14 Pavel Roskin <proski@gnu.org>
40604
407aceb4 40605 * kern/env.c (grub_register_variable_hook): Don't copy empty
40606 string, it leaks memory. Pass "" to grub_env_set(), it should
40607 handle constant strings.
40608
e4e8eaa5 40609 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
40610 * commands/cmp.c (grub_cmd_cmp): Likewise.
40611 * kern/dl.c (grub_dl_flush_cache): Likewise.
40612 (grub_dl_load_core): Likewise.
40613 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
40614 (grub_elf64_load_phdrs): Likewise.
40615
d4e2dad3 406162008-07-13 Pavel Roskin <proski@gnu.org>
40617
40618 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
40619 between signed and unsigned.
40620 (LzmaEnc_Finish): Fix warning about an unused parameter.
40621
aa24b516 406222008-07-13 Bean <bean123ch@gmail.com>
40623
40624 * Makefile.in (enable_lzo): New rule.
40625
40626 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
40627
40628 * configure.ac (ENABLE_LZO): New option --enable-lzo.
40629
40630 * boot/i386/pc/lnxboot.S: #include <config.h>.
40631
40632 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 40633 its value according to the compression algorithm used, lzo or lzma.
aa24b516 40634
40635 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
40636 compression algorithm according to configure macro.
40637
40638 * kern/i386/pc/startup.S (codestart): Likewise.
40639
40640 * kern/i386/pc/lzma_decode.S: New file.
40641
40642 * include/grub/lib/LzFind.h: Likewise.
40643
40644 * include/grub/lib/LzHash.h: Likewise.
40645
40646 * include/grub/lib/LzmaDec.h: Likewise.
40647
40648 * include/grub/lib/LzmaEnc.h: Likewise.
40649
40650 * include/grub/lib/LzmaTypes.h: Likewise.
40651
40652 * lib/LzFind.c: Likewise.
40653
40654 * lib/LzmaDec.c: Likewise.
40655
40656 * lib/LzmaEnc.c: Likewise.
40657
4ae821ac 406582008-07-13 Bean <bean123ch@gmail.com>
40659
40660 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
40661 (grub_ext4_extent_header): New structure.
40662 (grub_ext4_extent): Likewise.
40663 (grub_ext4_extent_idx): Likewise.
40664 (grub_ext4_find_leaf): New function.
40665 (grub_ext2_read_block): Handle extents.
40666
9a745147 406672008-07-12 Robert Millan <rmh@aybabtu.com>
40668
40669 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
40670
d49a4cf6 406712008-07-11 Robert Millan <rmh@aybabtu.com>
40672
40673 * util/grub.d/40_custom.in: New file. Example on how to add custom
40674 entries to /etc/grub.d.
40675 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
40676 40_custom (implicitly, by merging all the grub.d rules).
40677
947414b4 406782008-07-11 Pavel Roskin <proski@gnu.org>
40679
0059cf6f 40680 * commands/read.c (grub_getline): Fix invalid memory access.
40681 Don't add newline to the variable value.
40682
947414b4 40683 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
40684 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
40685 (serial_hw_get_port): Check validity of the port number.
40686 (grub_cmd_serial): Check return value of serial_hw_get_port().
40687
62a02d00 406882008-07-07 Pavel Roskin <proski@gnu.org>
40689
40690 * boot/i386/pc/diskboot.S (notification_string): Replace
40691 "Loading kernel" with just "loading". This is shorter, less
40692 confusing and saves a few bytes for possible future changes.
40693
3e5581b0 406942008-07-05 Pavel Roskin <proski@gnu.org>
40695
ea387a48 40696 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
40697 size for ATAPI devices, they are undefined. Output sector
40698 number in decimal form.
40699
3e5581b0 40700 * disk/ata.c: Use named constants for status bits.
40701
fdecb8fd 407022008-07-04 Pavel Roskin <proski@gnu.org>
40703
bcd35b90 40704 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
40705 grub_addr_t before casting it to the void pointer to fix a
40706 warning. Non-addressable regions are discarded earlier.
40707 (grub_arch_modules_addr): Cast _end to grub_addr_t.
40708 * kern/i386/linuxbios/table.c: Include grub/misc.h.
40709 (check_signature): Don't shadow table_header.
40710 (grub_linuxbios_table_iterate): Cast numeric constants to
40711 grub_linuxbios_table_header_t.
40712 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
40713 grub_stop().
40714
af58ab3d 40715 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
40716 prevent warnings.
40717
1759aa57 40718 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
40719 pointer, which can cause warnings. Support 64-bit addresses.
40720
fdecb8fd 40721 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
40722 of sizeof(long). This fixes PowerPC image generation on x86_64.
40723
8516d2a8 407242008-07-04 Robert Millan <rmh@aybabtu.com>
40725
40726 This fixes a performance issue when pc & gpt partmap iterators
40727 didn't abort iteration even after our hook found what it was
fe987087 40728 looking for (often causing expensive probes of non-existent drives).
8516d2a8 40729
40730 Some callers relied on previous buggy behaviour, since they would
34c44600 40731 raise an error when their own hooks caused early abortion of its
8516d2a8 40732 iteration.
40733
40734 * kern/device.c (grub_device_open): Improve error message.
40735 * disk/lvm.c (grub_lvm_open): Likewise.
40736 * disk/raid.c (grub_raid_open): Likewise.
40737
40738 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
40739 when hook requests it, independently of grub_errno.
40740 (pc_partition_map_probe): Do not fail when find_func() caused
40741 early abortion of pc_partition_map_iterate().
40742
40743 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
40744 when hook requests it, independently of grub_errno.
40745 (gpt_partition_map_probe): Do not fail when find_func() caused
40746 early abortion of gpt_partition_map_iterate().
40747
40748 * kern/partition.c (grub_partition_iterate): Abort parent iteration
40749 when hook requests it, independently of grub_errno. Do not fail when
40750 part_map_iterate_hook() caused early abortion of p->iterate().
40751
40752 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
40753 when grub_partition_iterate() returned with non-zero.
40754
277d0de9 407552008-07-03 Pavel Roskin <proski@gnu.org>
40756
40757 * disk/ata.c (grub_ata_pio_write): Check status before writing,
40758 like we do in grub_ata_pio_read().
40759 (grub_ata_readwrite): Always write individual sectors. Fix the
40760 sector count for the remainder.
40761 (grub_ata_write): Enable writing to ATA devices. Correctly
40762 report error for ATAPI devices.
40763
d4c9b428 407642008-07-02 Pavel Roskin <proski@gnu.org>
40765
e43fc690 40766 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
40767 warning.
40768
f707af42 40769 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
40770 for every read sector, we already increment it for the whole
40771 batch. This fixes reading more than 256 sectors at once.
40772
11e16b15 40773 * util/grub-editenv.c (cmd_info): Cast argument to long
40774 explicitly. ptrdiff_t reduces to int on i386.
40775
cbabfdd4 40776 * util/grub-editenv.c (main): Be specific which parameter is
40777 missing.
40778
b8fbce0a 40779 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
40780 (memdisk): Make memdisk_orig_addr a pointer.
40781
c9c8e606 40782 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
40783 for file offsets, use grub_off_t instead. Fix printf format
40784 warnings.
40785
ca62e598 40786 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
40787 there. Real unexpected warnings should not drown in the noise
40788 about known problems.
40789
ce8d1766 40790 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
40791 grub_disk_addr_t for memory addresses.
40792
00c7a56a 40793 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
40794 explicitly to fix a warning.
40795
08d3ef09 40796 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
40797
cb71ba20 40798 * Makefile.in (MODULE_LDFLAGS): New variable.
40799 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
40800 the linker accepts --build-id=none.
40801 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
40802 MODULE_LDFLAGS.
40803 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
40804
d4c9b428 40805 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
40806 those in Linux XFS code. Provide a way to access 64-bit parent
40807 inode.
40808 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
40809 the end of struct grub_xfs_dir_header.
40810
d4156eee 408112008-07-02 Bean <bean123ch@gmail.com>
40812
40813 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
40814 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
40815 and GRUB_IEEE1275_FLAG_NO_ANSI.
40816
40817 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
40818 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
40819 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
40820
40821 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
40822 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
40823
40824 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
40825 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
40826
40827 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
40828 esc sequence on non ANSI terminal.
40829 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
40830
40831 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
40832 beginning of file.
40833
2270f77b 408342008-07-02 Bean <bean123ch@gmail.com>
40835
40836 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
40837 (grub_editenv_SOURCES): New variable.
40838 (pkglib_MODULES): Add loadenv.mod.
40839 (loadenv_mod_SOURCES): New variable.
40840 (loadenv_mod_CFLAGS): Likewise.
40841 (loadenv_mod_LDFLAGS): Likewise.
40842
40843 * include/grub/envblk.h: New file.
40844
40845 * util/envblk.c: New file.
40846
40847 * util/grub-editenv.c: New file.
40848
40849 * commands/loadenv.c: New file.
40850
0e9e51ec 408512008-07-01 Pavel Roskin <proski@gnu.org>
40852
d89b7634 40853 * include/multiboot2.h (struct multiboot_tag_module): Use char,
40854 not unsigned char. This fixes warnings and is consistent with
40855 other tags.
40856
bf1835b1 40857 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
40858
8222a04b 40859 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
40860
6a42d99d 40861 * term/tparm.c (analyze): Always set *popcount.
40862
10b159d1 40863 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
40864 cast to fix a warning.
40865
b8789f6c 40866 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
40867 cast to suppress a warning.
40868
29d7e38a 40869 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
40870 grub_fshelp_read_file() expects.
40871
f341f669 40872 * fs/fat.c: Fix UUID calculation on big-endian systems. We
40873 write uuid as a 32-bit value in CPU byte order, so declare and
40874 use it as such.
40875
0e9e51ec 40876 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
40877 long if the format specifier expects it.
40878 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
40879 * partmap/pc.c (pc_partition_map_iterate): Likewise.
40880 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
40881 long to fix a warning.
40882 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
40883 grub_dprintf() arguments to fix warnings.
40884
3aefa857 408852008-06-30 Pavel Roskin <proski@gnu.org>
40886
56c7668b 40887 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
40888 install_bsd_part immediately before core.img is embedded or
40889 modified on disk. This fixes core.img verification if core.img
40890 cannot be embedded.
40891
3aefa857 40892 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
40893 core_path to calculate the blocklist.
40894 Patch from Javier Martín <lordhabbit@gmail.com>
40895
5444088d 408962008-06-29 Robert Millan <rmh@aybabtu.com>
40897
40898 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
40899 block to disk block.
40900 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
40901 Patch from Niels Böhm <bitbucket@arcor.de>
40902
674835c8 409032008-06-29 Robert Millan <rmh@aybabtu.com>
40904
40905 * util/update-grub_lib.in (font_path): Search for fonts in
40906 /boot/grub first, which is more likely to be readable (we aren't
40907 deciding where fonts live, just looking for them).
40908
f527dbc8 409092008-06-26 Pavel Roskin <proski@gnu.org>
40910
6c2d8df6 40911 * util/biosdisk.c (read_device_map): Don't leave dead map
40912 entries for devices failing stat() check.
40913
f527dbc8 40914 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
40915 core_path_dev for the core.img path on the target device.
40916
aebe3d13 409172008-06-26 Robert Millan <rmh@aybabtu.com>
40918
40919 * disk/fs_uuid.c: New file.
40920 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
40921 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
40922 (fs_uuid_mod_LDFLAGS): New variables.
40923 * include/grub/disk.h (grub_disk_dev_id): Add
40924 `GRUB_DISK_DEVICE_UUID_ID'.
40925 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
40926 implement iterate().
40927
37aaf354 409282008-06-26 Robert Millan <rmh@aybabtu.com>
40929
40930 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
40931 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
40932 Linux image includes no initrd.
40933
25ff262a 409342008-06-21 Javier Martín <lordhabbit@gmail.com>
40935
40936 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
40937 call to resolve the core image location that effectively appended the
40938 name twice.
40939
76a2bd44 409402008-06-21 Robert Millan <rmh@aybabtu.com>
40941
40942 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
40943 call from here ...
40944
40945 * util/grub.d/10_hurd.in: ... to here ...
40946 * util/grub.d/10_linux.in: ... and here.
40947
650e1c79 409482008-06-19 Robert Millan <rmh@aybabtu.com>
40949
fe987087 40950 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 40951 after it has been set by grub_machine_set_prefix().
40952
6ce63911 409532008-06-19 Robert Millan <rmh@aybabtu.com>
40954
40955 * commands/search.c (search_label, search_fs_uuid, search_file): Print
40956 search result when not saving to variable, not the other way around.
40957 When saving to variable, abort iteration as soon as a match is found.
40958
73940cec 409592008-06-19 Robert Millan <rmh@aybabtu.com>
40960
40961 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
40962 check for partition that provides /boot/grub. Its logic is flawed,
40963 as it prevents prepare_grub_to_access_device() from being called
40964 multiple times.
40965
3c62a39d 409662008-06-19 Robert Millan <rmh@aybabtu.com>
40967
40968 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
40969 "insmod" command directly when abstraction modules are needed,
fe987087 40970 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 40971 since it had already been processed).
40972
47395a42 409732008-06-19 Pavel Roskin <proski@gnu.org>
40974
40975 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
40976 changed. This is needed in case GRUB_LIBDIR changes.
40977 * conf/i386-ieee1275.rmk: Likewise.
40978 * conf/i386-linuxbios.rmk: Likewise.
40979 * conf/i386-pc.rmk: Likewise.
40980 * conf/powerpc-ieee1275.rmk: Likewise.
40981
a145ac2d 409822008-06-18 Pavel Roskin <proski@gnu.org>
40983
40984 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
40985 kernel_elf_symlist.c to symlist.c for consistency with other
40986 architectures. Update all users.
40987 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
40988
7847c51e 409892008-06-18 Robert Millan <rmh@aybabtu.com>
40990
40991 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
40992 it in prefix.
40993
40994 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
40995 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
40996 a RAID device, run setup() for all members independently on whether
40997 LVM abstraction is being used.
40998 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
40999 If grub-mkimage has set `*install_dos_part == -2', don't override this
41000 value.
41001 Perform *install_dos_part adjustments independently on whether
41002 we're embedding or not.
41003 Clarify error message when image is too big for embedding.
41004 Remove duplicate *install_dos_part stanza.
41005
b23e5644 410062008-06-17 Robert Millan <rmh@aybabtu.com>
41007
41008 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
41009 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
41010 variables.
41011 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
41012 values in grub_ofconsole_normal_color and
41013 grub_ofconsole_highlight_color (they're not directly related to
41014 background and foreground).
41015 (grub_ofconsole_setcolorstate): Extract background and foreground
41016 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
41017
0aac2f79 410182008-06-17 Robert Millan <rmh@aybabtu.com>
41019
41020 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
41021 /boot/grub for the check in last commit, not /boot (they could be
41022 different partitions).
41023
3cca7ef3 410242008-06-16 Robert Millan <rmh@aybabtu.com>
41025
41026 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
41027 asked to setup access for the same partition that provides /boot,
41028 don't bother using UUIDs since our root already has the value we
41029 want.
41030
347396d8 410312008-06-16 Robert Millan <rmh@aybabtu.com>
41032
41033 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
41034 I2O devices.
41035 Patch from Sven Mueller <sven@debian.org>.
41036
991477f8 410372008-06-16 Robert Millan <rmh@aybabtu.com>
41038
41039 * util/update-grub.in: Check for $EUID instead of $UID.
41040 Reported by Vincent Zweije.
41041
d31a32a1 410422008-06-16 Bean <bean123ch@gmail.com>
41043
fe987087 41044 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 41045 (grub_ext2_read_block): Likewise.
41046 (grub_ext2_read_inode): Likewise.
41047 (grub_ext2_mount): Likewise.
41048 (grub_ext2_close): Likewise.
41049 (grub_ext3_get_journal): Removed.
41050
fe987087 41051 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 41052 (grub_reiserfs_read_symlink): Likewise.
41053 (grub_reiserfs_mount): Likewise.
41054 (grub_reiserfs_open): Likewise.
41055 (grub_reiserfs_read): Likewise.
41056 (grub_reiserfs_close): Likewise.
41057 (grub_reiserfs_get_journal): Removed.
41058
41059 * fs/fshelp.c (grub_fshelp_read): Removed.
41060 (grub_fshelp_map_block): Likewise.
41061
41062 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
41063 (grub_fshelp_journal): Likewise.
41064 (grub_fshelp_read): Likewise.
41065 (grub_fshelp_map_block): Likewise.
41066
3540a760 410672008-06-16 Pavel Roskin <proski@gnu.org>
41068
41069 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
41070 floating point anymore.
41071 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
41072
95614c84 410732008-06-15 Pavel Roskin <proski@gnu.org>
41074
41075 * commands/ls.c (grub_ls_list_files): Use integer calculations
41076 for human readable format, avoid floating point use.
41077 * kern/misc.c (grub_ftoa): Remove.
41078 (grub_vsprintf): Remove floating point support.
41079
50465dd6 410802008-06-15 Robert Millan <rmh@aybabtu.com>
41081
fe6b695a 41082 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 41083 devices.
41084 Reported by Max Vozeler.
41085
a9207284 410862008-06-15 Robert Millan <rmh@aybabtu.com>
41087
41088 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
41089 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
41090 skipped later.
41091 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
41092 the beginning of the prefix.
41093
41094 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
41095 It is assumed that if we have a memdisk, grub-mkimage has set
41096 grub_prefix to include the "(memdisk)" drive in it.
41097
a7cbd45a 410982008-06-15 Robert Millan <rmh@aybabtu.com>
41099
41100 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
41101 Initialize keyboard controller after registering the terminal, so that
41102 grub_printf() can be called from grub_keyboard_controller_init().
41103
21cf716a 411042008-06-15 Robert Millan <rmh@aybabtu.com>
41105
41106 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
41107 extent-btree which is written as big endian on disk.
41108 Reported by Alain Greppin <al@chilibi.org>.
41109
23a64d8e 411102008-06-14 Robert Millan <rmh@aybabtu.com>
41111
41112 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
41113 * util/i386/pc/grub-install.in (modules): Likewise.
41114
d687651c 411152008-06-13 Pavel Roskin <proski@gnu.org>
41116
41117 * commands/ls.c (grub_ls_list_files): Fix format warnings.
41118
dfe9ddd4 411192008-06-13 Bean <bean123ch@gmail.com>
41120
41121 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
41122
41123 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
41124
41125 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
41126 to indicate sparse block.
41127
16ae7781 411282008-06-12 Pavel Roskin <proski@gnu.org>
41129
e6d1a308 41130 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
41131 number, grub_fshelp_read() does it for us.
41132
16ae7781 41133 * fs/fshelp.c (grub_fshelp_read): New function. Implement
41134 linear disk read with journal translation.
41135 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
41136 * include/grub/fshelp.h: Declare grub_fshelp_read().
41137
40fd3a2b 411382008-06-09 Pavel Roskin <proski@gnu.org>
41139
41140 * fs/minix.c (grub_minix_mount): Handle error reading
41141 superblock.
41142
f5679726 411432008-06-08 Robert Millan <rmh@aybabtu.com>
41144
41145 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
41146 don't append the RAID prefix afterwards.
41147 Reported by Clint Adams.
41148
ce525529 411492008-06-08 Robert Millan <rmh@aybabtu.com>
41150
41151 Based on description from Pavel:
41152 * kern/disk.c (grub_disk_check_range): Rename to ...
41153 (grub_disk_adjust_range): ... this. Add a comment explaining the
41154 tasks performed by this function.
41155
ad4936a0 411562008-06-08 Robert Millan <rmh@aybabtu.com>
41157
41158 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
41159 `num_serial' (for consistency with other variables).
41160 (struct grub_ntfs_data): Add `uuid' member.
41161 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
41162 (grub_ntfs_uuid): New function.
41163 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
41164
dc20b0f9 411652008-06-07 Pavel Roskin <proski@gnu.org>
41166
41167 * util/biosdisk.c (open_device): Revert last change to the
41168 function, it broke installation. The sector needs to be
41169 different dependent on which device is opened.
41170
c5e3cfba 411712008-06-06 Robert Millan <rmh@aybabtu.com>
41172
41173 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
41174 rest of GRUB, and breakage doesn't happen if its value were modified.
41175
41176 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
41177 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
41178 a constant (same value).
41179 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
41180 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
41181
26a1f8c4 411822008-06-06 Robert Millan <rmh@aybabtu.com>
41183
41184 * util/biosdisk.c (open_device): Do not modify sector offset when
41185 accessing a partition. kern/disk.c already handles this for us.
41186
25d6b327 411872008-06-06 Robert Millan <rmh@aybabtu.com>
41188
41189 * util/grub-emu.c (grub_machine_init): Move code in this function from
41190 here ...
41191 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
41192 segfault in case grub_printf() is called).
41193
41194 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
41195 grub_probe. Update all users not to explicitly add it again.
41196 (grub_device): New variable; contains corresponding device for grubdir.
41197 (fs_module, partmap_module, devabstraction_module): Pass
41198 `--device ${grub_device}' to grub_probe to avoid traversing /dev
41199 every time.
41200
9ece62fb 412012008-06-05 Robert Millan <rmh@aybabtu.com>
41202
41203 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
41204 is found, print it (same layout as with labels).
41205
1ad36d37 412062008-06-04 Robert Millan <rmh@aybabtu.com>
41207
41208 * util/biosdisk.c (get_drive): Rename to ...
41209 (find_grub_drive): ... this. Update all users.
41210
41211 (get_os_disk): Rename to ...
41212 (convert_system_partition_to_system_disk): ... this. Update all users.
41213
41214 (find_drive): Rename to ...
41215 (find_system_device): ... this. Update all users.
41216
e6a30859 412172008-06-04 Robert Millan <rmh@aybabtu.com>
41218
41219 * util/biosdisk.c (get_os_disk): Handle IDA devices.
41220 * util/grub-mkdevicemap.c (get_mmc_disk_name)
41221 (make_device_map): Likewise.
41222
00c108a4 412232008-06-01 Robert Millan <rmh@aybabtu.com>
41224
41225 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
41226 before dereferencing it.
41227
41228 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
41229 union with fat12/fat16-specific ones. Add some new fields, including
41230 `num_serial' for both versions.
41231 (struct grub_fat_data): Add `uuid' member.
41232 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
41233 names. Initialize `data->uuid' using `num_serial'.
41234 (grub_fat_uuid): New function.
41235 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
41236
41237 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
41238 (grub_reiserfs_uuid): New function.
41239 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
41240 member.
41241
41242 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
41243 (grub_xfs_uuid): New function.
41244 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
41245
1385c5bb 412462008-06-01 Robert Millan <rmh@aybabtu.com>
41247
41248 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
41249 code that is backward compatible with pre-uuid search command.
41250
c682dfd7 412512008-05-31 Robert Millan <rmh@aybabtu.com>
41252
41253 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
41254 floppies after everything else, to ensure floppy drive isn't accessed
41255 unnecessarily (patch from Bean).
41256
b7db5d47 412572008-05-31 Robert Millan <rmh@aybabtu.com>
41258
41259 * commands/search.c (search_label, search_fs_uuid, search_file): Do
41260 not print device names when we were asked to set a variable.
41261
6e037aa9 412622008-05-31 Robert Millan <rmh@aybabtu.com>
41263
41264 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
41265 using "cursor-on" and "cursor-off" commands (understood at least by
41266 the Open Firmware flavour on OLPC).
41267
41305bc8 412682008-05-31 Michael Gorven <michael@gorven.za.net>
41269
41270 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
41271 on and off sequences.
41272
69ba137e 412732008-05-31 Robert Millan <rmh@aybabtu.com>
41274
41275 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
41276 * util/update-grub.in: Likewise.
41277
520ae21b 412782008-05-30 Pavel Roskin <proski@gnu.org>
41279
41280 * util/biosdisk.c (linux_find_partition): Simplify logic and
41281 make the code more universal. Keep special processing for
41282 devfs, but use a simple rule for all other devices. If the
41283 device ends with a number, append 'p' and the partition number.
41284 Otherwise, append only the partition number.
41285
5786569b 412862008-05-30 Robert Millan <rmh@aybabtu.com>
41287
41288 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
41289 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
41290 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
41291 the `root' parameter to Linux.
41292
51500452 412932008-05-30 Robert Millan <rmh@aybabtu.com>
41294
41295 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
41296 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
41297 --fs_uuid with --fs-uuid.
41298 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
41299 all filesystems support them).
41300
811d3878 413012008-05-30 Robert Millan <rmh@aybabtu.com>
41302
41303 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 41304 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 41305
cab63c95 413062008-05-30 Robert Millan <rmh@aybabtu.com>
41307
41308 * util/grub.d/00_header.in: Remove obsolete comment referencing
41309 convert_system_path_to_grub_path().
41310 * util/update-grub.in: Likewise.
41311 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
41312 (convert_system_path_to_grub_path): Add a warning message explaining
41313 that this function is deprecated. Rely on is_path_readable_by_grub()
41314 for the readability checks.
41315 (font_path): Use is_path_readable_by_grub() for the readability
41316 check rather than convert_system_path_to_grub_path().
41317
972e2f7a 413182008-05-30 Robert Millan <rmh@aybabtu.com>
41319
41320 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
41321 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
41322 converting it first.
41323 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
41324 grub.cfg for access to font file, and afterwards call it again to set
41325 the root device.
41326
62191274 413272008-05-30 Robert Millan <rmh@aybabtu.com>
41328
41329 * commands/search.c (options): Add --fs_uuid option.
41330 (search_fs_uuid): New function.
41331 (grub_cmd_search): Fix --set argument passing.
41332 Use search_fs_uuid() when requested via --fs_uuid.
41333 (grub_search_init): Update help message.
41334 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
41335 and redeclare it as an array of 16-bit words.
41336 (grub_ext2_uuid): New function.
41337 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
41338 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
41339 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
41340 (GRUB_DEVICE_BOOT_UUID): New variables.
41341 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
41342 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
41343 whenever possible.
41344 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
41345 just assume `root' variable has the right value.
41346 * util/grub.d/10_linux.in: Likewise.
41347 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
41348 via PRINT_FS_UUID.
41349 (main): Recognise `-t fs_uuid' argument.
41350
01b73ec8 413512008-05-30 Robert Millan <rmh@aybabtu.com>
41352
41353 * util/biosdisk.c (map): Redefine structure to hold information
41354 about GRUB drive name.
fe6b695a 41355 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 41356 drive names.
41357 (call_hook): Remove.
41358 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
41359 member. Assume drive has partitions.
41360 (grub_util_biosdisk_open): Access device names via `.device' struct
41361 member.
41362 (open_device): Likewise.
41363 (find_drive): Likewise.
41364 (read_device_map): Adjust map[] usage to match the new struct
41365 definition. Don't check for duplicates (still possible, but not cheap
41366 anymore).
41367 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
41368 (make_device_name): Remove assumption of BIOS-like drive names.
41369
22f16596 413702008-05-30 Pavel Roskin <proski@gnu.org>
41371
41372 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
41373 compiling execute.c doesn't need grub_script.tab.h anymore.
41374 (normal/command.c_DEPENDENCIES): Likewise.
41375 (normal/function.c_DEPENDENCIES): Likewise.
41376 * conf/i386-ieee1275.rmk: Likewise.
41377 * conf/i386-linuxbios.rmk: Likewise.
41378 * conf/i386-pc.rmk: Likewise.
41379 * conf/powerpc-ieee1275.rmk: Likewise.
41380 * conf/sparc64-ieee1275.rmk: Likewise.
41381
528ad8f2 413822008-05-29 Pavel Roskin <proski@gnu.org>
41383
d1dff95d 41384 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
41385 when scanning metadata for volume group name.
41386
528ad8f2 41387 * include/grub/script.h: Don't include grub_script.tab.h. It's
41388 a generated file, which may only be included from the files with
41389 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
41390 use union YYSTYPE, as the later allows forward declaration.
41391 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
41392
47248e08 413932008-05-29 Robert Millan <rmh@aybabtu.com>
41394
41395 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
41396 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
41397 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
41398 (grub_console_checkkey): Add grub_dprintf() call to report unknown
41399 scan codes.
41400
ee632529 414012008-05-29 Robert Millan <rmh@aybabtu.com>
41402
41403 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
41404 control key combinations.
41405
eee96e08 414062008-05-29 Robert Millan <rmh@aybabtu.com>
41407
41408 * util/powerpc/ieee1275/grub-install.in: Move from here ...
41409 * util/ieee1275/grub-install.in: ... to here.
41410 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
41411 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
41412 (grub_install_SOURCES): Likewise.
41413
da9a6a94 414142008-05-29 Robert Millan <rmh@aybabtu.com>
41415
41416 * fs/affs.c: Update copyright year.
41417 * fs/ext2.c: Likewise.
41418 * fs/fshelp.c: Likewise.
41419 * fs/hfsplus.c: Likewise.
41420 * fs/ntfs.c: Likewise.
41421 * fs/xfs.c: Likewise.
41422 * include/grub/fshelp.h: Likewise.
41423 * util/grub-mkdevicemap.c: Likewise.
41424
12e65f3a 414252008-05-28 Robert Millan <rmh@aybabtu.com>
41426
41427 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
41428 might need to be fatfs to support some firmware implementations
41429 (e.g. OFW or EFI).
41430
23023641 414312008-05-28 Robert Millan <rmh@aybabtu.com>
41432
41433 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
41434 devices.
41435 * util/grub-mkdevicemap.c (get_mmc_disk_name)
41436 (make_device_map): Likewise.
41437
887d2619 414382008-05-20 Bean <bean123ch@gmail.com>
41439
41440 * fs/fshelp.c (grub_fshelp_map_block): New function.
41441 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
41442 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
41443
41444 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
41445 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
41446 (grub_fshelp_journal): New structure.
41447 (grub_fshelp_map_block): New function prototype.
41448 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
41449 (grub_fshelp_map_block): Likewise.
41450
41451 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
41452 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
41453 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
41454 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
41455 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
41456 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
41457 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
41458 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
41459 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
41460 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
41461 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
41462 (grub_ext2_sblock): New members for journal support.
41463 (grub_ext3_journal_header): New structure.
41464 (grub_ext3_journal_revoke_header): Likewise.
41465 (grub_ext3_journal_block_tag): Likewise.
41466 (grub_ext3_journal_sblock): Likewise.
41467 (grub_fshelp_node): New members logfile and journal.
41468 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
41469 grub_fshelp_map_block to get real block number.
41470 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
41471 number.
41472 (grub_ext2_read_inode): Likewise.
41473 (grub_ext3_get_journal): New function.
41474 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
41475 (grub_ext2_close): Release memory used by journal.
41476
41477 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
41478 (REISERFS_MAGIC_DESC_BLOCK): New macro.
41479 (grub_reiserfs_transaction_header): Renamed to
41480 grub_reiserfs_description_block, replace field data with real_blocks.
41481 (grub_reiserfs_commit_block): New structure.
41482 (grub_reiserfs_data): New member journal.
41483 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
41484 number.
41485 (grub_reiserfs_read_symlink): Likewise.
41486 (grub_reiserfs_iterate_dir): Likewise.
41487 (grub_reiserfs_open): Likewise.
41488 (grub_reiserfs_read): Likewise.
41489 (grub_reiserfs_get_journal): New function.
41490 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
41491 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
41492 using grub_reiserfs_get_journal.
41493 (grub_reiserfs_close): Release memory used by journal.
41494
41495 * fs/affs.c (grub_affs_read_block): Change block type to
41496 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
41497
41498 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
41499
41500 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
41501
41502 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
41503
41504 * fs/udf.c (grub_udf_read_block): Change block type to
41505 grub_disk_addr_t. Use type cast to avoid warning.
41506
41507 * fs/xfs.c (grub_xfs_read_block): Likewise.
41508
b7c6bed5 415092008-05-16 Christian Franke <franke@computer.org>
41510
41511 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
41512 to ensure that break with ESC will always work.
41513 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
41514 Remove ESC from keyboard queue.
41515
eedf167f 415162008-05-16 Christian Franke <franke@computer.org>
41517
41518 * util/biosdisk.c: [__CYGWIN__] Add includes.
41519 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
41520 (get_os_disk): Move variable declarations to OS specific
41521 parts to avoid warning.
41522 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
41523 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
41524 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
41525 Cygwin.
41526 * util/getroot.c: [__CYGWIN__] Add includes.
41527 (strip_extra_slashes): Fix "/" case.
41528 [__CYGWIN__] (get_win32_path): New function.
41529 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
41530 [__CYGWIN__] (find_root_device): Disable.
41531 [__CYGWIN__] (get_bootsec_serial): New function.
41532 [__CYGWIN__] (find_cygwin_root_device): Likewise.
41533 [__linux__] (grub_guess_root_device): Add early returns to simplify
41534 structure.
41535 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
41536 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
41537 check for Linux only.
41538
a079699e 415392008-05-15 Bean <bean123ch@gmail.com>
41540
41541 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
41542 keyboard hang problem in apple's intel mac.
41543
1cf4059a 415442008-05-09 Robert Millan <rmh@aybabtu.com>
41545
41546 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
41547 devices.
41548 * util/grub-mkdevicemap.c (get_virtio_disk_name)
41549 (make_device_map): Likewise.
41550 Reported by Aurelien Jarno <aurel32@debian.org>
41551
ed759390 415522008-05-07 Ian Campbell <ijc@hellion.org.uk>
41553
41554 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
41555 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
41556 (make_device_map): Output entries for xvd type disks.
41557
b56c4eaa 415582008-05-07 Robert Millan <rmh@aybabtu.com>
41559
41560 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
41561 devices.
41562 * util/grub-mkdevicemap.c (get_cciss_disk_name)
41563 (make_device_map): Likewise.
41564 Reported by Roland Dreier <rdreier@cisco.com>
41565
7f8866ed 415662008-05-07 Robert Millan <rmh@aybabtu.com>
41567
41568 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
41569 grub_strstr() call. Correct a few mistakes in failure path handling.
41570
b0346e0f 415712008-05-06 Robert Millan <rmh@aybabtu.com>
41572
41573 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
41574 Do not print a trailing slash (therefore, the root directory is an
41575 empty string).
41576 (convert_system_path_to_grub_path): Do not remove trailing slash
41577 from make_system_path_relative_to_its_root() output.
41578
41579 * util/i386/pc/grub-install.in: Add trailing slash to output from
41580 make_system_path_relative_to_its_root().
41581
6cf12cbd 415822008-05-06 Robert Millan <rmh@aybabtu.com>
41583
41584 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
41585 ensures that output lines aren't intermangled with those sent to
41586 stderr (via grub_util_info()).
41587 * util/grub-probe.c (grub_refresh): Likewise.
41588 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
41589
0fbb3117 415902008-05-05 Christian Franke <franke@computer.org>
41591
41592 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
41593 Add Cygwin device names.
41594 (get_ide_disk_name) [__CYGWIN__]: Likewise.
41595 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
41596 (check_device): Return error instead of success on empty name.
41597 (make_device_map): Move label inside linux specific code to
41598 prevent compiler warning.
41599
8124cdb7 416002008-04-30 Robert Millan <rmh@aybabtu.com>
41601
41602 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
41603 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
41604 first boot option.
41605 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
41606
094c01d0 416072008-04-29 Robert Millan <rmh@aybabtu.com>
41608
41609 * docs/grub.cfg: New file (example GRUB configuration).
41610
f4b1fc02 416112008-04-26 Robert Millan <rmh@aybabtu.com>
41612
329ce2a5 41613 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
41614 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
41615 and `disk/ieee1275/nand.c'.
f4b1fc02 41616
25f16ec1 416172008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 41618
25f16ec1 41619 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
41620 i386-linuxbios.
41621
41622 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
41623 change the buffer size to 4096 for cdrom device.
41624
41625 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
41626 and nand.mod.
41627 (_linux_mod_SOURCES): New variable.
41628 (_linux_mod_CFLAGS): Likewise.
41629 (_linux_mod_LDFLAGS): Likewise.
41630 (linux_mod_SOURCES): Likewise.
41631 (linux_mod_CFLAGS): Likewise.
41632 (linux_mod_LDFLAGS): Likewise.
41633 (nand_mod_SOURCES): Likewise.
41634 (nand_mod_CFLAGS): Likewise.
41635 (nand_mod_LDFLAGS): Likewise.
41636
41637 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
41638 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
41639 type property. (nand device in olpc don't have this property)
41640
41641 * include/grub/disk.h (grub_disk_dev_id): New macro
41642 GRUB_DISK_DEVICE_NAND_ID.
41643
41644 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
41645 function prototype.
41646 (grub_rescue_cmd_initrd): Likewise.
41647
41648 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
41649 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
41650 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 41651
25f16ec1 41652 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
41653 GRUB_MACHINE_IEEE1275 is defined.
41654
41655 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
41656 Use NESTED_FUNC_ATTR attribute on the hook parameter.
41657
41658 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
41659 on nested function heap_init.
41660 (grub_upper_mem): New variable for i386-ieee1275.
41661 (grub_get_extended_memory): New function for i386-ieee1275.
41662 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
41663
41664 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
41665 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
41666 property.
f19dbdb7 41667
25f16ec1 41668 * loader/i386/ieee1275/linux.c: New file.
41669
41670 * loader/i386/ieee1275/linux_normal.c: New file.
41671
41672 * disk/ieee1275/nand.c: New file.
41673
e89d61e9 416742008-04-18 Thomas Schwinge <tschwinge@gnu.org>
41675
41676 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
41677 value.
41678 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
41679
602566f6 416802008-04-18 Robert Millan <rmh@aybabtu.com>
41681
41682 Restructures early code path on ieee1275 to unify grub_main() as
41683 the first C function that is executed in every platform.
41684
41685 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
41686 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
41687 cmain().
41688 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
41689 * kern/ieee1275/cmain.c (cmain): Rename to ...
41690 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
41691 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
41692 at the beginning.
41693
57490c2b 416942008-04-18 Robert Millan <rmh@aybabtu.com>
41695
41696 * util/update-grub.in: Fix syntax error when setting
41697 `GRUB_PRELOAD_MODULES'.
41698 Reported by Stephane Chazelas <stephane@artesyncp.com>
41699
1977517d 417002008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
41701
41702 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
41703 section into account, newer toolchains generate unique build ids
41704 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 41705 we want build ids to be preserved
1977517d 41706 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
41707 far from other sections don't cause the raw binary images grow
41708 size
41709
bfb1f1a2 417102008-04-15 Robert Millan <rmh@aybabtu.com>
41711
41712 * disk/lvm.c: Update copyright year.
41713 * kern/misc.c: Likewise.
41714
01979850 417152008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
41716
41717 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 41718 there is no memory left for physical volume name.
01979850 41719
0a1150e2 417202008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
41721
41722 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
41723 volume name mapping to support bigger than 9 character names properly.
41724
82ead3fe 417252008-04-13 Robert Millan <rmh@aybabtu.com>
41726
41727 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
41728 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
41729
e54a72f5 417302008-04-13 Christian Franke <franke@computer.org>
41731
41732 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
41733 to create a floppy emulation boot CD when non emulation mode
41734 does not work.
41735 Enable Joliet CD filesystem extension.
41736
9fe86034 417372008-04-13 Robert Millan <rmh@aybabtu.com>
41738
41739 * kern/misc.c (grub_strncat): Fix off-by-one error.
41740 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
41741
41742 * kern/env.c (grub_env_context_close): Clear current context, not
41743 previous one.
41744 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
41745
41746 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
41747
7ceeee39 417482008-04-13 Robert Millan <rmh@aybabtu.com>
41749
41750 Improve robustness when handling LVM.
41751
41752 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 41753 (and leave `*p' unmodified).
7ceeee39 41754 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
41755 through it.
41756 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
41757 iterating through it.
41758 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
41759 through it.
fe6b695a 41760 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 41761 when due) on each grub_lvm_getvalue() or grub_strstr() call.
41762 Don't assume `vg->pvs != NULL' when iterating through it.
41763
58cd3d85 417642008-04-13 Robert Millan <rmh@aybabtu.com>
41765
41766 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
41767 * genmk.rb (partmap): New variable.
41768 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
41769 (#{partmap}): New target rule.
41770 * genpartmaplist.sh: New file.
41771 * Makefile.in (pkglib_DATA): Add partmap.lst.
41772 (partmap.lst): New target rule.
41773 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
41774 modules (including all partition maps), instead of preloading them.
41775
78b51059 417762007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
41777
41778 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
41779 `linux-boot-prober' (if installed) to detect other operating
41780 systems which are installed on the computer and add them to
41781 the boot menu.
41782 * conf/common.rmk: Build and install 30_os-prober.
41783
a91627b4 417842008-04-12 Robert Millan <rmh@aybabtu.com>
41785
41786 * kern/powerpc/ieee1275/init.c: Move from here ...
41787 * kern/ieee1275/init.c: ... to here. Update all users.
41788
41789 * kern/powerpc/ieee1275/cmain.c: Move from here ...
41790 * kern/ieee1275/cmain.c: ... to here. Update all users.
41791
41792 * kern/powerpc/ieee1275/openfw.c: Move from here ...
41793 * kern/ieee1275/openfw.c: ... to here. Update all users.
41794
41795 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
41796 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
41797
322562ea 417982008-04-10 Pavel Roskin <proski@gnu.org>
41799
41800 * configure.ac: Always use "_cv_" in cache variables for
41801 compatibility with Autoconf 2.62.
41802
a02a73c5 418032008-04-07 Robert Millan <rmh@aybabtu.com>
41804
41805 Revert grub/machine/init.h addition by Pavel (since it breaks on
41806 i386-ieee1275 and others):
41807 * util/i386/pc/misc.c: Remove grub/machine/init.h.
41808 * util/powerpc/ieee1275/misc.c: Likewise.
41809
25c024b1 418102008-04-07 Robert Millan <rmh@aybabtu.com>
41811
41812 * util/grub-probe.c (probe): Improve error message.
41813
3cbd2f98 418142008-04-07 Robert Millan <rmh@aybabtu.com>
41815
41816 * util/biosdisk.c (read_device_map): Skip devices that don't exist
41817 (this prevents the presence of a bogus entry from ruining the whole
41818 thing).
41819
87a297bf 418202008-04-06 Pavel Roskin <proski@gnu.org>
41821
36747a62 41822 * util/biosdisk.c: Include grub/util/biosdisk.h.
41823 * util/grub-fstest.c (execute_command): Make static.
41824 * util/grub-mkdevicemap.c (check_device): Likewise.
41825 * util/i386/pc/misc.c: Include grub/machine/init.h.
41826 * util/powerpc/ieee1275/misc.c: Likewise.
41827 * util/lvm.c: Include grub/util/lvm.h.
41828 * util/misc.c: Include grub/kernel.h, grub/misc.h and
41829 grub/cache.h.
41830 * util/raid.c: Include grub/util/raid.h.
41831 (grub_util_getdiskname): Make static.
41832
87a297bf 41833 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
41834 grub_hostfs_fini(), as they are called from grub_init_all() and
41835 grub_fini_all() respectively. This fixes an infinite loop in
41836 grub-fstest due to double registration of hostfs.
41837 Reported by Christian Franke <Christian.Franke@t-online.de>
41838
f6ce7629 418392008-04-05 Pavel Roskin <proski@gnu.org>
41840
41841 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
41842 all 8 functions. Otherwise, probe function 0 only.
41843
070e49e4 418442008-04-04 Pavel Roskin <proski@gnu.org>
41845
8b088a4c 41846 * commands/lspci.c (grub_lspci_iter): Print the bus number
41847 correctly.
41848
4f657021 41849 * commands/lspci.c (grub_pci_classes): Fix typos.
41850 (grub_lspci_iter): Don't print func twice. Print vendor ID
41851 before device ID, as it's normally done.
41852
070e49e4 41853 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
41854 Fix signedness warnings.
41855 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
41856 Likewise.
41857 * util/ieee1275/get_disk_name.c: Include config.h so that
41858 _GNU_SOURCE is defined and getline() is declared. Mark an
41859 unused argument as such. Fix a signedness warning.
41860
ba7328dc 418612008-04-02 Pavel Roskin <proski@gnu.org>
41862
26887f22 41863 * genkernsyms.sh.in: Use more robust assignments for CC and
41864 srcdir. Quote srcdir.
41865 * gensymlist.sh.in: Likewise. Assert at the compile time that
41866 the symbol table is not empty.
41867
ba7328dc 41868 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
41869 * fs/cpio.c (grub_cpio_read): Likewise.
41870
0f582c6b 418712008-04-01 Pavel Roskin <proski@gnu.org>
41872
4b6e1995 41873 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
41874 * disk/host.c (grub_host_open): Likewise.
41875 * disk/loopback.c (grub_loopback_open): Likewise.
41876 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
41877 disk->id as in disk/host.c, not a multi-character constant.
41878
828a2768 41879 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
41880 later is obsolete, potentially dangerous and sets a bad example.
41881 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
41882 * util/misc.c (grub_util_get_image_size): Likewise.
41883
2bb4fb47 41884 * disk/loopback.c (options): Improve help for "--partitions".
41885
0f582c6b 41886 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
41887 options to align them with the short options, e.g. "echo -e".
41888
a33224e0 418892008-03-31 Bean <bean123ch@gmail.com>
41890
41891 * video/reader/png.c (grub_png_data): New member is_16bit and
41892 image_data.
41893 (grub_png_decode_image_header): Detect 16 bit png image.
41894 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
41895 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
41896 (grub_video_reader_png): Release memory occupied by image_data.
41897
41898 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
41899 4096 bytes.
41900 (grub_nfs_mount): Skip the test for sector per cluster.
41901
41902 * include/grub/ntfs.h (MAX_SPC): Removed.
41903
86cb4f54 419042008-03-31 Bean <bean123ch@gmail.com>
41905
41906 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
41907 (grub_probe_SOURCES): Add fs/afs.c.
41908 (grub_fstest_SOURCES): Likewise.
41909 (afs_mod_SOURCES): New variable.
41910 (afs_mod_CFLAGS): Likewise.
41911 (afs_mod_LDFLAGS): Likewise.
41912
41913 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
41914 (grub_emu_SOURCES): Likewise.
41915
41916 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41917
41918 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41919
41920 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
41921
41922 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41923
41924 * fs/afs.c: New file.
41925
17c74c21 419262008-03-30 Pavel Roskin <proski@gnu.org>
41927
4cb68e89 41928 * disk/host.c: Include grub/misc.h to fix a warning.
41929 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
41930 warnings about implicit declarations.
41931
8790bb04 41932 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
41933 variable.
41934 * include/grub/i386/loader.h: Change declaration of
41935 grub_linux_boot() to match what grub_loader_set() expects.
41936 * util/getroot.c (grub_guess_root_device): Return const char* to
41937 fix a warning.
41938 * util/grub-probe.c (probe): Fix a warning about uninitialized
41939 abstraction_name variable.
41940 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
41941 second argument as unused to fix a warning.
41942
9a3f3296 41943 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
41944 missing grub_error() call.
41945
0ecef90d 41946 * util/update-grub_lib.in: Define datarootdir, since Autoconf
41947 2.60 and newer uses it to define datadir.
41948
0bf6d401 41949 * commands/sleep.c: Fix warning about implicit declaration.
41950 * disk/memdisk.c: Likewise.
41951 * loader/aout.c: Likewise.
41952 * loader/i386/bsd_normal.c: Likewise.
41953 * util/grub-probe.c: Likewise.
41954
7cdacf97 41955 * commands/i386/cpuid.c (has_longmode): Make static.
41956 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
41957 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
41958
17c74c21 41959 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
41960 GDT. This is more robust, as %ds can change.
41961 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
41962 calling real_to_prot().
41963 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
41964
80a3e68b 419652008-03-28 Pavel Roskin <proski@gnu.org>
41966
41967 * kern/i386/pc/startup.S: Assert that uncompressed functions
41968 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
41969 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
41970 code, as they push parts of the code (error handlers) beyond
41971 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
41972 code as correctness and size.
41973
77bcd272 419742008-03-28 Pavel Roskin <proski@gnu.org>
41975
41976 * kern/i386/pc/startup.S
41977 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
41978 data block address to the real mode, keep offset minimal. This
41979 works around a bug in AWARD BIOS on old Athlon systems, which
41980 makes CD detection hang.
41981
c5dfd43b 419822008-03-26 Pavel Roskin <proski@gnu.org>
41983
41984 * normal/color.c (grub_parse_color_name_pair): Make `name' a
41985 const.
41986 * include/grub/normal.h: Add grub_parse_color_name_pair()
41987 declaration.
41988
bf962df2 419892008-03-24 Bean <bean123ch@gmail.com>
41990
41991 * disk/i386/pc/biosdisk.c (cd_start): Removed.
41992 (cd_count): Removed.
41993 (cd_drive): New variable.
41994 (grub_biosdisk_get_drive): Don't check for (cdN) device.
41995 (grub_biosdisk_call_hook): Likewise.
41996 (grub_biosdisk_iterate): Change cdrom detection method.
41997 (grub_biosdisk_open): Replace cd_start with cd_drive.
41998 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
41999 detect cdrom device.
42000
42001 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
42002 Removed.
42003 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
42004 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
42005 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
42006 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
42007 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
42008 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
42009 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
42010 (grub_biosdisk_cdrp): New structure.
42011 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
42012
42013 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
42014
42015 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
42016 device.
42017
42018 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
42019 New function.
42020
68e7fc7a 420212008-03-20 Robert Millan <rmh@aybabtu.com>
42022
42023 Remove 2 TiB limit in ata.mod.
42024 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
42025 (grub_ata_dumpinfo): Print sector count with 0x%llx.
42026 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
42027 grub_uint64_t instead of grub_uint32_t.
42028
38ad2cf5 420292008-03-05 Bean <bean123ch@gmail.com>
42030
42031 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
42032 (grub_multiboot): Set boot device.
42033
42034 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
42035
2b89344e 420362008-03-02 Bean <bean123ch@gmail.com>
42037
42038 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
42039 symlink_buffer.
42040
87a95d1f 420412008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
42042
42043 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
42044 texinfo.tex.
42045
42046 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
42047 modified.
42048
42049 * docs/fdl.texi: New file.
f19dbdb7 42050
87a95d1f 42051 * docs/mdate-sh: New file. Copied from gnulib.
42052 * docs/texinfo.tex: Likewise.
42053
42054 * config.guess: Updated from gnulib.
42055 * install-sh: Likewise.
42056
7dc15d8e 420572008-02-28 Robert Millan <rmh@aybabtu.com>
42058
42059 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
42060 (aout_mod_SOURCES): New variable.
42061 (aout_mod_CFLAGS): Likewise.
42062 (aout_mod_LDFLAGS): Likewise.
42063
42064 * conf/i386-ieee1275.rmk: Likewise.
42065
b00ab696 420662008-02-28 Robert Millan <rmh@aybabtu.com>
42067
42068 * util/update-grub.in: Reorganise terminal validity check. Accept
42069 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
42070 Based on suggestion by Franklin PIAT.
42071
79ca2d78 420722008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
42073
42074 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
42075 function.
42076 * util/getroot.c (grub_util_check_block_device): New function that
42077 returns the given argument if it is a block device and returns NULL else.
42078 * util/grub-probe.c (argument_is_device): New variable.
42079 (probe): Promote device_name from a variable to an argument. Receive
42080 device_name from grub_util_check_block_device() if path is NULL and from
42081 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 42082 (options): Introduce new parameter '-d, --device'.
79ca2d78 42083 (main): Add description of the new parameter to the help screen.
42084 Rename path variable to argument. Set argument_is_device if the '-d'
42085 option is given. Pass argument to probe() depending on
42086 argument_is_device.
42087
0d16e571 420882008-02-24 Bean <bean123ch@gmail.com>
42089
42090 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
42091 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
42092 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
42093 (GRUB_ISO9660_VOLDESC_PART): Likewise.
42094 (GRUB_ISO9660_VOLDESC_END): Likewise.
42095 (grub_iso9660_primary_voldesc): New member escape.
42096 (grub_iso9660_data): New member joliet.
42097 (grub_iso9660_convert_string): New function.
42098 (grub_iso9660_mount): Detect joliet extension.
42099 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
42100 (grub_iso9660_iso9660_label): Likewise.
42101
42102 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
42103 (grub_setup_SOURCES): Add fs/udf.c.
42104 (grub_fstest_SOURCES): Likewise.
42105 (udf_mod_SOURCES): New variable.
42106 (udf_mod_CFLAGS): Likewise.
42107 (udf_mod_LDFLAGS): Likewise.
42108
42109 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
42110 (grub_emu_SOURCES): Likewise.
42111
42112 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
42113
42114 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42115
42116 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
42117
42118 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42119
42120 * fs/udf.c: New file.
42121
8a594a17 421222008-02-24 Robert Millan <rmh@aybabtu.com>
42123
42124 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
42125 (normal/lexer.c_DEPENDENCIES): New variables.
42126 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
42127 (normal/lexer.c_DEPENDENCIES): Likewise.
42128 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
42129 (normal/lexer.c_DEPENDENCIES): Likewise.
42130 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
42131 (normal/lexer.c_DEPENDENCIES): Likewise.
42132 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
42133 (normal/lexer.c_DEPENDENCIES): Likewise.
42134 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
42135 (normal/lexer.c_DEPENDENCIES): Likewise.
42136
2dc33c03 421372008-02-23 Robert Millan <rmh@aybabtu.com>
42138
42139 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
42140 since they were intended to be in hex. This didn't break previously
42141 because of a bug in gpt_partition_map_iterate() (see below).
42142
42143 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
42144 when checking the validity of GPT header.
42145 Remove `partno', since it always provides the same information as `i'.
42146
f6f4cfb0 421472008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
42148
42149 * include/grub/efi/time.h: Fix a wrong comment.
42150
79ff665f 421512008-02-19 Pavel Roskin <proski@gnu.org>
42152
42153 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
42154 message.
42155
d38e24c2 421562008-02-19 Bean <bean123ch@gmail.com>
42157
42158 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
42159 (aout_mod_SOURCES): New variable.
42160 (aout_mod_CFLAGS): Likewise.
42161 (aout_mod_LDFLAGS): Likewise.
42162 (_bsd_mod_SOURCES): New variable.
42163 (_bsd_mod_CFLAGS): Likewise.
42164 (_bsd_mod_LDFLAGS): Likewise.
42165 (bsd_mod_SOURCES): New variable.
42166 (bsd_mod_CFLAGS): Likewise.
42167 (bsd_mod_LDFLAGS): Likewise.
42168
42169 * include/grub/aout.h: New file.
42170
42171 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
42172
42173 * include/grub/i386/bsd.h: New file.
42174
42175 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
42176 to make it public.
42177
42178 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
42179 function is called, so that it's possible to change it inside the hook.
42180 (grub_elf64_load): Likewise.
42181 (grub_elf_file): Don't close the file if elf header is not found.
42182 (grub_elf_close): Close the file if grub_elf_file fails (The new
42183 grub_elf_file won't close it).
42184 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
42185 (grub_elf64_size): Likewise.
42186
42187 * kern/i386/loader.S (grub_unix_real_boot): New function.
42188
42189 * loader/aout.c: New file.
42190
42191 * loader/i386/bsd.c: New file.
42192
42193 * loader/i386/bsd_normal.c: New file.
42194
42195 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
42196
42197 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 42198 can test other formats.
d38e24c2 42199
b93bdb0f 422002008-02-19 Robert Millan <rmh@aybabtu.com>
42201
42202 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
42203 (grub_gpt_partition_type_empty): Redefine with macro from
42204 `<grub/gpt_partition.h>'.
42205 (gpt_partition_map_iterate): Adjust partition type comparison.
42206
42207 Export `entry' as partmap-specific `part.data' struct.
42208 (grub_gpt_header, grub_gpt_partentry): Move from here ...
42209
42210 * include/grub/gpt_partition.h (grub_gpt_header)
42211 (grub_gpt_partentry): ... to here (new file).
42212
42213 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
42214
42215 (grub_gpt_partition_type_bios_boot): New const variable, defined
42216 with macro from `<grub/gpt_partition.h>'.
42217
42218 (setup): Replace `first_start' with `embed_region', which keeps
42219 track of the embed region (and is partmap-agnostic).
42220
42221 Replace find_first_partition_start() with find_usable_region(),
42222 which finds a usable region for embedding using partmap-specific
42223 knowledge (supports PC/MSDOS and GPT).
42224
42225 Fix all assumptions that the embed region start at sector 1, using
42226 `embed_region.start' from now on. Similarly, use `embed_region.end'
42227 rather than `first_start' to calculate available size.
42228
42229 In grub_util_info() message, replace "into after the MBR" with an
42230 indication of the specific sector our embed region starts at.
42231
66cb40f6 422322008-02-19 Robert Millan <rmh@aybabtu.com>
42233
42234 * DISTLIST: Replace `commands/ieee1275/halt.c' and
42235 `commands/ieee1275/reboot.c' with `commands/halt.c' and
42236 `commands/reboot.c'.
42237 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
42238 (halt_mod_SOURCES): Likewise.
42239 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
42240 (halt_mod_SOURCES): Likewise.
42241
b7202015 422422008-02-17 Christian Franke <franke@computer.org>
42243
42244 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
42245
32b0fc49 422462008-02-17 Robert Millan <rmh@aybabtu.com>
42247
42248 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
42249 set `first_start' to 0 for non-PC/MSDOS partition maps.
42250
aca63502 422512008-02-16 Robert Millan <rmh@aybabtu.com>
42252
42253 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
42254 do not assume partition map is PC/MSDOS before performing checks that
42255 are specific to that layout.
42256
0de8be86 422572008-02-13 Robert Millan <rmh@aybabtu.com>
42258
42259 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
42260 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
42261 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
42262
c3db8364 422632008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
42264
42265 * configure.ac: Only a cosmetic change on the handling of
42266 -fno-stack-protector.
42267
f714229e 422682008-02-12 Alexandre Boeglin <alex@boeglin.org>
42269
c3db8364 42270 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
42271 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
42272 reboot.c.
f714229e 42273 (grub_install_SOURCES): Add halt.mod and reboot.mod.
42274 (halt_mod_SOURCES): New variable.
42275 (halt_mod_CFLAGS): Likewise.
42276 (halt_mod_LDFLAGS): Likewise.
42277 (reboot_mod_SOURCES): Likewise.
42278 (reboot_mod_CFLAGS): Likewise.
42279 (reboot_mod_LDFLAGS): Likewise.
42280
c3db8364 42281 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
42282 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
42283 reboot.c.
f714229e 42284 (halt_mod_SOURCES): Likewise.
42285 (reboot_mod_SOURCES): Likewise.
42286
c3db8364 42287 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
42288 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 42289 (reboot_mod_SOURCES): Likewise.
42290
42291 * commands/i386/pc/reboot.c: merge this file ...
42292
42293 * commands/ieee1275/reboot.c: ... and this file ...
42294
42295 * commands/reboot.c: ... to this file.
c3db8364 42296 Add some precompiler directive to include the correct header for
42297 each machine.
f714229e 42298
42299 * commands/ieee1275/halt.c: move this file ...
42300
42301 * commands/halt.c: ... to here.
c3db8364 42302 Add some precompiler directive to include the correct header for
42303 each machine.
f714229e 42304
42305 * include/grub/efi/efi.h (grub_reboot): New function declaration.
42306 (grub_halt): Likewise.
42307
42308 * kern/efi/efi.c (grub_reboot): New function.
42309 (grub_halt): Likewise.
42310
c74493e0 423112008-02-12 Robert Millan <rmh@aybabtu.com>
42312
42313 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
42314 /dev (like it is done for /dev/mapper). This doesn't provide support
42315 for EVMS, but at least it is now easy to identify the problem when it
42316 arises.
42317
d0db4b04 423182008-02-11 Robert Millan <rmh@aybabtu.com>
42319
42320 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
42321 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
42322 comparing it with -1, not 0.
42323
bf748642 423242008-02-10 Robert Millan <rmh@aybabtu.com>
42325
42326 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
42327 `disk/lvm.c'.
42328 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42329 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
42330
42331 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
42332 `disk/lvm.c' to the end of the list.
42333 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
42334 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
42335
b5db202a 423362008-02-10 Robert Millan <rmh@aybabtu.com>
42337
42338 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
42339 grub_print_error() instead. This will let user know why we're entering
42340 rescue mode.
42341 Based on suggestions from Sam Morris.
42342
83abee31 423432008-02-10 Alexandre Boeglin <alex@boeglin.org>
42344
42345 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
42346 on remaining N args, instead of "--" arg N times.
42347
78d5a08b 423482008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
42349
42350 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
42351 (fill_with_default_glyph): Changed to use unknown_glyph for fill
42352 pattern for unknown glyphs.
42353
68807e5f 423542008-02-09 Robert Millan <rmh@aybabtu.com>
42355
42356 * configure.ac: Probe for `help2man'.
42357 * Makefile.in (builddir): New variable.
42358 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
42359 or otherwise add a few flags/options to it.
42360 (install-local): For every executable utility or script that is
42361 installed, invoke $(HELP2MAN) to install a manpage based on --help
42362 output.
42363
42364 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
42365 that it doesn't prevent --help from working in build tree.
42366
42367 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
42368 with `bug-grub@gnu.org'.
42369 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
42370 * util/update-grub.in (usage): New function.
42371 Implement proper argument check, with support for --help and --version
42372 (as well as existing -y).
42373
423742008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 42375
42376 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
42377 avoid overwriting previous output.
42378 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
42379
c1962162 423802008-02-09 Robert Millan <rmh@aybabtu.com>
42381
42382 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
42383 drawing the menu.
42384
3dac2e3f 423852008-02-09 Robert Millan <rmh@aybabtu.com>
42386
42387 * commands/sleep.c: New file.
42388 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
42389 (sleep_mod_SOURCES): New variable.
42390 (sleep_mod_CFLAGS): Likewise.
42391 (sleep_mod_LDFLAGS): Likewise.
42392
7a634e08 423932008-02-09 Robert Millan <rmh@aybabtu.com>
42394
42395 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
42396 situations in which we can deduce the RAID size and the superblock
42397 doesn't match it.
42398
b92f0c18 423992008-02-09 Robert Millan <rmh@aybabtu.com>
42400
42401 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
42402 and return a grub_diskmemberlist_t composed of LVM physical volumes.
42403 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
42404
42405 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
42406 and return a grub_diskmemberlist_t composed of physical array members.
42407 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
42408
42409 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
42410 prototype.
42411 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
42412 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
42413 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
42414
42415 * util/grub-probe.c (probe): Move partmap probing code from here ...
42416 (probe_partmap): ... to here.
42417 (probe): Use probe_partmap() once for the disk we're probing, and
42418 additionally, when such disk contains a memberlist() struct member,
42419 once for each disk that is contained in the structure returned by
42420 memberlist().
42421
91a4bf68 424222008-02-09 Robert Millan <rmh@aybabtu.com>
42423
42424 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
42425 environment variable to 'all' in order to obtain debug output from
42426 non-util/ code.
42427 * util/i386/pc/grub-setup.c (main): Likewise.
42428
a96f9caa 424292008-02-08 Robert Millan <rmh@aybabtu.com>
42430
42431 * disk/raid.c (grub_raid_scan_device): Check for
42432 `array->device[sb.this_disk.number]' rather than for
42433 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 42434 guaranteed to be accessible.
a96f9caa 42435
b37a9222 424362008-02-08 Robert Millan <rmh@aybabtu.com>
42437
42438 * disk/raid.c: Update copyright.
42439 * fs/cpio.c: Likewise.
42440 * include/grub/raid.h: Likewise.
42441 * loader/i386/pc/multiboot.c: Likewise.
42442 * util/hostfs.c: Likewise.
42443
5626aee1 424442008-02-08 Robert Millan <rmh@aybabtu.com>
42445
42446 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
42447 to a grub_disk_t array.
42448 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
42449 `device[x]'.
42450 (grub_raid_scan_device): Replace `device[x].name' accesses with
42451 `device[x]->name'. Simplify initialization of `array->device[x]'.
42452
554f0187 424532008-02-08 Robert Millan <rmh@aybabtu.com>
42454
42455 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
42456 grub_dprintf() calls.
42457 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
42458 error message.
42459
1ec8425d 424602008-02-07 Christian Franke <franke@computer.org>
42461
42462 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
42463 instead of fseek and ftell to support large files.
42464 (grub_hostfs_read): Likewise.
42465
f2156fda 424662008-02-07 Robert Millan <rmh@aybabtu.com>
42467
42468 Patch from Jeroen Dekkers.
42469 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 42470 failure, since successfully reading all array members might not be
f2156fda 42471 required.
42472
9216e0e7 424732008-02-06 Robert Millan <rmh@aybabtu.com>
42474
42475 * util/grub-probe.c (probe): Simplify partmap probing (with the
42476 assumption that the first word up to the underscore equals to
42477 the module name).
42478
b0dfd29a 424792008-02-06 Christian Franke <franke@computer.org>
42480
42481 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
42482 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
42483 last block of a cpio or tar stream.
42484 Check for "TRAILER!!!" instead of any empty data
42485 block to detect last block of a cpio stream.
42486 (grub_cpio_dir): Fix constness of variable np.
42487 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
42488 cpio or tar trailer is detected. This fixes a crash
42489 on open of a non existing file.
42490
c32865bf 424912008-02-05 Bean <bean123ch@gmail.com>
42492
42493 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
42494 address of entry.
42495 (grub_multiboot_load_elf64): Likewise.
42496 (grub_multiboot): Initialize mbi structure.
42497
42498 * util/grub-fstest.c: Don't include unused header file script.h.
42499
fe6b695a 42500 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 42501 of file.
42502 (grub_fstest_SOURCES): Likewise.
42503
409480b7 425042008-02-05 Robert Millan <rmh@aybabtu.com>
42505
42506 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
42507 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
42508 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
42509 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
42510
42511 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
42512 (translation_table): Replace hardcoded values with macros
42513 provided by `<grub/term.h>'.
42514
42515 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
42516 (keyboard_map): Correct/add a few values, with macros provided
42517 by `<grub/term.h>'.
42518 (keyboard_map_shift): Zero values that don't differ from their
42519 `keyboard_map' equivalents.
42520 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
42521 Discard the second scan code that is always sent by Caps lock.
42522 Only use `keyboard_map_shift' when it provides a non-zero value,
42523 otherwise fallback to `keyboard_map'.
42524
99fadbaa 425252008-02-04 Bean <bean123ch@gmail.com>
42526
42527 * Makefile.in (enable_grub_fstest): New variable.
42528
42529 * conf/common.rmk (grub_fstest_init.lst): New rule.
42530 (grub_fstest_init.h): Likewise.
42531 (grub_fstest_init.c): Likewise.
42532 (util/grub-fstest.c_DEPENDENCIES): New variable.
42533 (grub_fstest_SOURCES): Likewise.
42534
42535 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
42536
42537 * util/grub-fstest.c: New file.
42538
bf567c50 425392008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
42540
42541 Make grub-setup handle a separate root device.
f19dbdb7 42542
bf567c50 42543 * util/i386/pc/grub-setup.c (setup): Always open the root device,
42544 so that the root device can be compared with the destination
42545 device.
42546 When embedding the core image, if the root and destination devices
42547 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
42548 0xFF.
42549 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 42550
9be6b98b 425512008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
42552
42553 Add support for having a grub directory in a different drive. This
42554 is still only the data handling part.
f19dbdb7 42555
9be6b98b 42556 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
42557 (codestart): Save %dh in GRUB_ROOT_DRIVE.
42558 (grub_root_drive): New variable.
42559
42560 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
42561 instead of GRUB_BOOT_DRIVE to construct a device name. Set
42562 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
42563 as it was.
42564
42565 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
42566
42567 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
42568 macro.
42569 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
42570
42571 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
42572 is bogus, because PXE booting does not specify any drive
42573 correctly.
42574
42575 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
42576 am not sure if this is really correct.
42577
42578 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
42579 is always identical to the boot drive when booting from a CD.
42580
42581 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
42582 longer.
42583 (root_drive): New variable.
42584 (real_start): Unconditionally set %dh to ROOT_DRIVE.
42585 (setup_sectors): Push %dx right after popping it, because %dh will
42586 be modified later.
42587 (copy_buffer): Restore %dx.
42588
e0ca0677 425892008-02-03 Robert Millan <rmh@aybabtu.com>
42590
42591 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
42592 use `cdboot.img' for cdrom images.
42593
3b3f6629 425942008-02-03 Robert Millan <rmh@aybabtu.com>
42595
42596 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
42597 only setup gfxterm when `font' command has succeeded.
42598
d42b3672 425992008-02-03 Robert Millan <rmh@aybabtu.com>
42600
42601 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
42602 (grub_rescue_cmd_multiboot_loader)
42603 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
42604
fa370ea6 426052008-02-03 Pavel Roskin <proski@gnu.org>
42606
e0c5dacb 42607 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 42608 %edx and %esi from stack only after grub_gate_a20() is called.
42609 grub_gate_a20() clobbers %edx.
42610
f2a76e1d 426112008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
42612
42613 * configure.ac (AC_INIT): Bumped to 1.96.
42614
42615 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
42616 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
42617 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
42618 video/readers/png.c.
42619
90fd32d1 426202008-02-03 Bean <bean123ch@gmail.com>
9be665dd 42621
42622 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
42623 (cdboot_img_SOURCES): New variable.
42624 (cdboot_img_ASFLAGS): New variable.
42625 (cdboot_img_LDFLAGS): New variable.
42626
42627 * boot/i386/pc/cdboot.S: New file.
42628
42629 * disk/i386/pc/biosdisk.c (cd_start): New variable.
42630 (cd_count): Likewise.
42631 (grub_biosdisk_get_drive): Add support for cd device.
42632 (grub_biosdisk_call_hook): Likewise.
42633 (grub_biosdisk_iterate): Likewise.
42634 (grub_biosdisk_open): Likewise.
42635 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
42636 (grub_biosdisk_rw): Support reading from cd device.
42637 (GRUB_MOD_INIT): Iterate cd devices.
42638
42639 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
42640 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
42641 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
42642
42643 * kern/i386/pc/init.c (make_install_device): Check for cd device.
42644
4020aa53 426452008-02-02 Robert Millan <rmh@aybabtu.com>
42646
42647 * commands/read.c: New file.
42648 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
42649 (read_mod_SOURCES): New variable.
42650 (read_mod_CFLAGS): Likewise.
42651 (read_mod_LDFLAGS): Likewise.
42652
e03a1132 426532008-02-02 Robert Millan <rmh@aybabtu.com>
42654
42655 * normal/main.c (grub_normal_execute): Check for `menu->size' when
42656 determining whether menu has to be displayed.
42657
58c69220 426582008-02-02 Marco Gerards <marco@gnu.org>
42659
42660 * bus/pci.c: New file.
42661
42662 * include/grub/pci.h: Likewise.
42663
42664 * include/grub/i386/pc/pci.h: Likewise.
42665
42666 * commands/lspci.c: Likewise.
42667
42668 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
42669 `lspci.mod'.
42670 (pci_mod_SOURCES): New variable.
42671 (pci_mod_CFLAGS): Likewise.
42672 (pci_mod_LDFLAGS): Likewise.
42673 (lspci_mod_SOURCES): Likewise.
42674 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 42675 (lspci_mod_LDFLAGS): Likewise.
58c69220 42676
c004e1b4 426772008-02-02 Bean <bean123ch@gmail.com>
42678
42679 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
42680 (grub_ufs_get_file_block): Fix indirect block calculation problem.
42681
42682 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
42683 (grub_xfs_btree_node): New structure.
42684 (grub_xfs_btree_root): New structure.
42685 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
42686 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
42687 (GRUB_XFS_EXTENT_BLOCK): Likewise.
42688 (GRUB_XFS_EXTENT_SIZE): Likewise.
42689 (grub_xfs_read_block): Support btree format type.
42690 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
42691 Use directory block as basic unit.
42692
42693 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
42694
42695 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
42696 __attribute__ ((__regparm__ (1))).
42697
f95562bf 426982008-02-01 Robert Millan <rmh@aybabtu.com>
42699
42700 Correct a mistake in previous commit.
42701
42702 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
42703 top.
42704 (normal/command.c_DEPENDENCIES): New variable.
42705
7d31f41f 427062008-02-01 Robert Millan <rmh@aybabtu.com>
42707
42708 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
42709 top.
42710 (normal/command.c_DEPENDENCIES): New variable.
42711 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
42712 * conf/i386-ieee1275.rmk: Likewise.
42713 * conf/i386-linuxbios.rmk: Likewise.
42714 * conf/i386-pc.rmk: Likewise.
42715 * conf/sparc64-ieee1275.rmk: Likewise.
42716 * conf/powerpc-ieee1275.rmk: Likewise.
42717 (grub_emu_SOURCES): Add `fs/fshelp.c'.
42718
42719 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
42720
60b6be74 427212008-02-01 Robert Millan <rmh@aybabtu.com>
42722
42723 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
42724 call at beginning of function.
42725
078522ab 427262008-01-31 Pavel Roskin <proski@gnu.org>
42727
42728 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 42729 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
42730 (grub_mkrescue_SOURCES): Likewise.
078522ab 42731 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
42732
ccaa8a5f 427332008-01-30 Robert Millan <rmh@aybabtu.com>
42734
42735 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
42736 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
42737 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
42738 (grub_probe_SOURCES): ... to here.
42739
42740 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
42741 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
42742 * conf/i386-ieee1275.rmk: Likewise.
42743 * conf/i386-linuxbios.rmk: Likewise.
42744 * conf/powerpc-ieee1275.rmk: Likewise.
42745
ae5a9cd7 427462008-01-30 Tristan Gingold <gingold@free.fr>
42747
42748 * kern/rescue.c: Silently accept empty lines.
42749
70bc2ef2 427502008-01-29 Bean <bean123ch@gmail.com>
42751
42752 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
42753 (real_code_2): Code cleanup and change comment style.
42754 (move_memory): Avoid using 32-bit address mode.
42755
6a4d50ea 427562008-01-29 Bean <bean123ch@gmail.com>
42757
42758 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
42759 (png_mod_SOURCES): New variable.
42760 (png_mod_CFLAGS): Likewise.
42761 (png_mod_LDFLAGS): Likewise.
42762
42763 * video/readers/png.c: New file.
42764
11cc30ac 427652008-01-28 Robert Millan <rmh@aybabtu.com>
42766
42767 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
42768 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
42769 `ifndef GRUB_MOD_GAP' hack.
42770 * util/elf/grub-mkimage.c (add_segments): Likewise.
42771
3abc589f 427722008-01-27 Robert Millan <rmh@aybabtu.com>
42773
42774 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
42775 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 42776 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 42777
e1907778 427782008-01-27 Robert Millan <rmh@aybabtu.com>
42779
42780 Get grub-emu to build again (including parallel builds).
42781
42782 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
42783 Split into ...
42784 (util/grub-emu.c_DEPENDENCIES): ... this, ...
42785 (normal/execute.c_DEPENDENCIES): ... this, ...
42786 (grub-emu_DEPENDENCIES): ... and this.
42787
42788 * conf/i386-efi.rmk: Likewise.
42789 * conf/i386-linuxbios.rmk: Likewise.
42790 * conf/i386-ieee1275.rmk: Likewise.
42791 * conf/powerpc-ieee1275.rmk: Likewise.
42792 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
42793
2216b101 427942008-01-27 Robert Millan <rmh@aybabtu.com>
42795
42796 * NEWS: Add a few items.
42797
f75172d9 427982008-01-27 Robert Millan <rmh@aybabtu.com>
42799
42800 Fix parallel builds with grub-emu. Based on earlier commit for
42801 grub-probe and grub-setup.
42802
42803 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
42804 (util/grub-emu.c_DEPENDENCIES): ... this.
42805 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
42806 (util/grub-emu.c_DEPENDENCIES): ... this.
42807 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
42808 (util/grub-emu.c_DEPENDENCIES): ... this.
42809 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
42810 (util/grub-emu.c_DEPENDENCIES): ... this.
42811 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
42812 (util/grub-emu.c_DEPENDENCIES): ... this.
42813
3f51de77 428142008-01-27 Pavel Roskin <proski@gnu.org>
42815
42816 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
42817 to create a gap between _end and the modules added to the image
42818 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
42819 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
42820 * util/elf/grub-mkimage.c (add_segments): Likewise.
42821
2033f53e 428222008-01-26 Pavel Roskin <proski@gnu.org>
42823
42824 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
42825 just return an error.
42826
22da1f6f 428272008-01-26 Bean <bean123ch@gmail.com>
42828
42829 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
42830 (grub_reiserfs_get_item): Save offset of the next item.
42831 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
42832
2a9525e6 428332008-01-25 Robert Millan <rmh@aybabtu.com>
42834
42835 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
42836 make all filesystem sources appear together (possibly fixing omissions
42837 while at it).
42838 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
42839 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42840 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
42841 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42842
42843 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
42844 add `kern/file.c'.
42845 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
42846 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
42847 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
42848 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
42849
42850 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
42851 (probe): Add a sanity check to make sure of our ability to read
42852 requested files when probing for filesystem type.
42853
42854 * genmk.rb: Update copyright year (2007).
42855
42856 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
42857 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
42858 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
42859 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
42860 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
42861 : Remove function prototypes.
42862
b95f71b5 428632008-01-25 Robert Millan <rmh@aybabtu.com>
42864
42865 Revert my previous commits (based on wrong assumption of how grub_errno
42866 works).
42867
fe6b695a 42868 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 42869 * kern/file.c (grub_file_open): Likewise.
42870
d08bbb49 428712008-01-24 Pavel Roskin <proski@gnu.org>
42872
42873 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
42874 that hang if GRUB tries to setup colors.
42875 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
42876 colors for firmwares that don't support it.
42877 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
42878 Recognize Open Hack'Ware, set flags to work around its
42879 limitations.
42880
605e36ed 428812008-01-24 Robert Millan <rmh@aybabtu.com>
42882
42883 * kern/file.c (grub_file_open): Do not account previous failures of
42884 unrelated functions when grub_errno is checked for.
42885 Reported by Oleg Strikov.
42886
bac332a1 428872008-01-24 Bean <bean123ch@gmail.com>
42888
42889 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
42890 (grub_ufs_sblock): New member volume name.
42891 (grub_ufs_find_file): Fix string copy bug.
42892 (grub_ufs_label): Implement this function properly.
42893
42894 * fs/hfs.c (grub_hfs_cnid_type): New enum.
42895 (grub_hfs_iterate_records): Use the correct file number for extents
42896 and catalog file. Fix problem in next index calculation.
42897 (grub_hfs_find_node): Replace recursive function call with loop.
42898 (grub_hfs_iterate_dir): Replace recursive function call with loop.
42899
15c80c09 429002008-01-23 Robert Millan <rmh@aybabtu.com>
42901
42902 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
42903 `<grub/symbol.h>' and `<grub/multiboot.h>'.
42904 (grub_multiboot2_real_boot): New function prototype.
42905
42906 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
42907 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
42908
42909 * kern/i386/ieee1275/init.c (grub_os_area_addr)
42910 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
42911
305338fd 429122008-01-23 Robert Millan <rmh@aybabtu.com>
42913
42914 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
42915 #ifdef'ed out grub_printf().
42916
3ea52685 429172008-01-23 Robert Millan <rmh@aybabtu.com>
42918
42919 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
42920 grub_dprintf calls, since they make "debug=all" mode unusable.
42921 (grub_console_checkkey): Likewise.
42922
5882ae4b 429232008-01-23 Robert Millan <rmh@aybabtu.com>
42924
42925 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
42926 `term/i386/pc/at_keyboard.c'.
42927 (pkglib_MODULES): Add `serial.mod'.
42928 (serial_mod_SOURCES): New variable.
42929 (serial_mod_CFLAGS): Likewise.
42930 (serial_mod_LDFLAGS): Likewise.
42931
42932 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
42933 `<grub/powerpc/ieee1275/console.h>'.
42934 (grub_keyboard_controller_init): New function prototype.
42935 (grub_console_checkkey): Likewise.
42936 (grub_console_getkey): Likewise.
42937
42938 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
42939 keyboard on i386.
42940
42941 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
42942 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
42943
06ab5303 429442008-01-23 Robert Millan <rmh@aybabtu.com>
42945
42946 * kern/i386/pc/init.c (make_install_device): When memdisk image is
42947 present, "(memdisk)/boot/grub" becomes the default prefix.
42948
42949 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
42950 a memdisk tarball with all the modules. Add --overlay=DIR option that
42951 allows users to overlay additional files into the image.
42952
dbb475a4 429532008-01-23 Robert Millan <rmh@aybabtu.com>
42954
42955 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
42956 and `machine/memory.h'.
42957 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
42958 (_multiboot_mod_SOURCES): New variable.
42959 (_multiboot_mod_CFLAGS): Likewise.
42960 (_multiboot_mod_LDFLAGS): Likewise.
42961 (multiboot_mod_SOURCES): Likewise.
42962 (multiboot_mod_CFLAGS): Likewise.
42963 (multiboot_mod_LDFLAGS): Likewise.
42964
42965 * include/grub/i386/ieee1275/loader.h: New file.
42966
42967 * include/grub/i386/ieee1275/machine.h: Likewise.
42968
42969 * include/grub/i386/ieee1275/memory.h: Likewise.
42970
42971 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
42972 variable declaration.
42973 (grub_os_area_size): Likewise.
42974
42975 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
42976 (grub_lower_mem, grub_upper_mem): New variables.
42977 (grub_stop_floppy): New function (just to make
42978 grub_multiboot2_real_boot() happy).
42979
42980 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
42981 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
42982 (grub_stop): New function.
42983 Include `"../realmode.S"' and `"../loader.S"'.
42984
42985 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
42986 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
42987
42988 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
42989 rely on grub_multiboot2_real_boot() for final boot.
42990
25638629 429912008-01-22 Robert Millan <rmh@aybabtu.com>
42992
42993 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
42994 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
42995 device that doesn't look like an SD card.
42996 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
42997 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
42998 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
42999 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
43000 found.
43001
9dad816d 430022008-01-22 Robert Millan <rmh@aybabtu.com>
43003
43004 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
43005 avoid claiming over our own code.
43006
34842f2d 430072008-01-22 Bean <bean123ch@gmail.com>
43008
43009 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
43010 (jpeg_mod_SOURCES): New variable.
43011 (jpeg_mod_CFLAGS): Likewise.
43012 (jpeg_mod_LDFLAGS): Likewise.
43013
43014 * video/readers/jpeg.c : New file.
43015
44023a28 430162008-01-22 Bean <bean123ch@gmail.com>
43017
43018 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
43019 there are no more items.
43020
bc2d8ac6 430212008-01-21 Robert Millan <rmh@aybabtu.com>
43022
43023 * kern/mm.c (grub_mm_init_region): Improve debug message.
43024
261bd4bc 430252008-01-21 Robert Millan <rmh@aybabtu.com>
43026
43027 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
43028 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
43029 address.
43030 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
43031 a C macro.
43032 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
43033 Indicates start of upper memory.
43034 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
43035 (generate_image): Abort when image size is big enough to corrupt
43036 upper memory.
43037
43038 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
43039 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
43040 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
43041 instead of hardcoding 0xA0000.
43042 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
43043 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
43044 instead of hardcoding 0xA0000.
43045
f970b55e 430462008-01-21 Robert Millan <rmh@aybabtu.com>
43047
43048 * disk/memdisk.c (memdisk_size): New variable.
43049 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
43050 `memdisk_size'.
43051 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
43052 image to dynamic memory.
43053 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
43054 `memdisk_size'. Free memdisk block.
43055
1a8b0526 430562008-01-21 Robert Millan <rmh@aybabtu.com>
43057
43058 Fix detection of very small filesystems (like tar).
43059
43060 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
43061 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
43062 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
43063 a problem with this disk).
43064
6e9b4aab 430652008-01-21 Robert Millan <rmh@aybabtu.com>
43066
43067 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
43068 on grub_biosdisk_rw_standard() error.
43069
0d8837b2 430702008-01-21 Robert Millan <rmh@aybabtu.com>
43071
43072 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
43073 recent changes.
43074 * kern/elf.c: Likewise.
43075 * kern/ieee1275/ieee1275.c: Likewise.
43076 * kern/powerpc/ieee1275/openfw.c: Likewise.
43077 * term/ieee1275/ofconsole.c: Likewise.
43078
ffd36e34 430792008-01-21 Robert Millan <rmh@aybabtu.com>
43080
43081 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
43082
3f0093d0 43083 * include/grub/kernel.h (grub_arch_memdisk_addr)
43084 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 43085
3f0093d0 43086 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
43087 (grub_arch_memdisk_size): ... to here.
ffd36e34 43088
6c391b21 430892008-01-21 Robert Millan <rmh@aybabtu.com>
43090
43091 Mostly based on bugfix from Bean.
43092
43093 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
43094 attribute with hook() parameter.
43095 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
43096 declaration.
43097 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
43098 attribute with hook() parameter.
43099 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
43100 declaration.
43101
55a581dc 431022008-01-21 Robert Millan <rmh@aybabtu.com>
43103
43104 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
43105 (pkglib_MODULES): Add `memdisk.mod'.
43106 (memdisk_mod_SOURCES): New variable.
43107 (memdisk_mod_CFLAGS): Likewise.
43108 (memdisk_mod_LDFLAGS): Likewise.
43109
43110 * disk/memdisk.c: New file.
43111
43112 * include/grub/disk.h (grub_disk_dev_id): Add
43113 `GRUB_DISK_DEVICE_MEMDISK_ID'.
43114
43115 * include/grub/i386/pc/kernel.h
43116 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
43117 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
43118 (grub_kernel_image_size): New variable declaration.
43119 (grub_total_module_size): Likewise.
43120 (grub_memdisk_image_size): Likewise.
43121
43122 * include/grub/i386/pc/memory.h
43123 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
43124
43125 * include/grub/kernel.h: Include `<grub/symbol.h>'.
43126 (grub_arch_memdisk_addr): New variable declaration.
43127 (grub_arch_memdisk_size): Likewise.
43128
43129 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
43130 (grub_arch_memdisk_size): Likewise.
43131
43132 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
43133 (codestart): Replace hardcoded `0x100000' with
43134 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
43135
43136 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
43137 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
43138 not NULL, append the contents of the file it refers to, at the end of
43139 the compressed kernel image. Initialize `grub_memdisk_image_size'
43140 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
43141 (options): Add "memdisk"|'m' option.
43142 (main): Parse --memdisk|-m option, and pass user-provided path as
43143 parameter to generate_image().
43144
3d7f54c9 431452008-01-20 Robert Millan <rmh@aybabtu.com>
43146
43147 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
43148 grub_dprintf() calls from here ...
43149 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
43150
0bf74728 431512008-01-20 Robert Millan <rmh@aybabtu.com>
43152
43153 Fix detection of "real mode" when /options/real-mode? doesn't exist.
43154
43155 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
43156 declaration.
43157 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
43158 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
43159 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 43160 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 43161 property).
43162 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
43163 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
43164
33bf70a7 431652008-01-19 Robert Millan <rmh@aybabtu.com>
43166
fe6b695a 43167 Get rid of confusing function (superseded by
33bf70a7 43168 `grub_ieee1275_get_integer_property')
43169 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
43170 prototype.
43171 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
43172 function.
43173 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
43174 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 43175 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 43176
e2da7d26 431772008-01-19 Robert Millan <rmh@aybabtu.com>
43178
43179 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
43180 command after "shut-down", since implementations differ on which
43181 the command for halt is.
43182
59f1fd8d 431832008-01-19 Robert Millan <rmh@aybabtu.com>
43184
43185 * include/grub/i386/linuxbios/console.h: Add header protection.
43186 (grub_keyboard_controller_init): New function prototype.
43187 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
43188 (KEYBOARD_COMMAND_READ): Likewise.
43189 (KEYBOARD_COMMAND_WRITE): Likewise.
43190 (KEYBOARD_SCANCODE_SET1): Likewise.
43191 (grub_keyboard_controller_write): New function.
43192 (grub_keyboard_controller_read): Likewise.
43193 (grub_keyboard_controller_init): Likewise.
43194
43195 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
43196 (grub_console_init): On coreboot/LinuxBIOS, call
43197 grub_keyboard_controller_init().
43198
5f5a7c15 431992008-01-19 Robert Millan <rmh@aybabtu.com>
43200
43201 PowerPC changes provided by Pavel Roskin.
43202
43203 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
43204 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
43205 don't rely on cmain() doing it.
43206 * kern/i386/ieee1275/startup.S (_start): Store %eax in
43207 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
43208
1210e168 432092008-01-16 Robert Millan <rmh@aybabtu.com>
43210
43211 * include/grub/i386/linuxbios/memory.h
43212 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
43213 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
43214 receive `table_header' as argument. Instead, probe for it in the
43215 known memory ranges where it can be present.
43216 (grub_available_iterate): Do not pass a fixed `table_header' address
43217 to grub_linuxbios_table_iterate().
43218
3d04eab8 432192008-01-15 Robert Millan <rmh@aybabtu.com>
43220
43221 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
43222 * conf/i386-ieee1275.rmk: New file.
43223 * include/grub/i386/ieee1275/console.h: Likewise.
43224 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
43225 * include/grub/i386/ieee1275/kernel.h: Likewise.
43226 * include/grub/i386/ieee1275/time.h: Likewise.
43227 * kern/i386/ieee1275/init.c: Likewise.
43228 * kern/i386/ieee1275/startup.S: Likewise.
43229
d1bc1b73 432302008-01-15 Robert Millan <rmh@aybabtu.com>
43231
43232 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
43233 when pointers are 32-bit (but still do set it to one when they are
43234 64-bit).
43235
66a65807 432362008-01-15 Robert Millan <rmh@aybabtu.com>
43237
43238 * include/grub/ieee1275/ieee1275.h
43239 (grub_ieee1275_get_integer_property): New function prototype.
43240
43241 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
43242 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 43243 grub_ieee1275_get_property() to handle endianness.
66a65807 43244
43245 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
43246 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 43247 where appropriate.
66a65807 43248 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
43249 (grub_map): Likewise.
43250 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
43251
a83ccafd 432522008-01-15 Bean <bean123ch@gmail.com>
43253
43254 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
43255 (grub_script_execute_cmdline): Reset grub_errno.
43256
43257 * normal/main.c (read_config_file): Reset grub_errno.
43258
43259 * normal/parse.y (script_init): New.
43260 (script): Move function and menuentry here.
43261 (delimiter): New.
43262 (command): Add delimiter at the end of command.
43263 (commands): Adjust to match the new command.
43264 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 43265 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 43266 (if): Use the new commands.
43267
43268 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
43269
df6ecfc6 432702008-01-15 Robert Millan <rmh@aybabtu.com>
43271
43272 * normal/menu.c (run_menu): Move timeout message from here ...
43273 (print_timeout): ... to here.
43274 (run_menu): Use print_timeout() once during initial draw to print
43275 the whole message, and again in every clock tick to update only
43276 the number of seconds.
43277
87ae25eb 432782008-01-15 Robert Millan <rmh@aybabtu.com>
43279
43280 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
43281 actual size of `available' from grub_ieee1275_get_property(), and
43282 restrict parsing to that bound.
43283
47bf09a4 432842008-01-15 Christian Franke <franke@computer.org>
43285
43286 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
43287 (argp_program_version): Remove variable.
43288 (argp_program_bug_address): Likewise.
43289 (options): Convert from struct argp_option to struct option.
43290 (struct arguments): Remove.
43291 (parse_opt): Remove.
43292 (usage): New function.
43293 (main): Replace struct args members by simple variables.
43294 Replace argp_parse() by getopt_long().
43295 Add switch to evaluate options.
43296 Add missing "(...)" around root_dev in prefix string.
43297
c86f1469 432982008-01-14 Robert Millan <rmh@aybabtu.com>
43299
43300 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
43301 for grub_ieee1275_exit(), in order to improve portability.
43302
e622c559 433032008-01-14 Robert Millan <rmh@aybabtu.com>
43304
43305 * util/grub.d/10_linux.in (prefix): Define.
43306 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
43307
44cb1ec8 433082008-01-13 Pavel Roskin <proski@gnu.org>
43309
43310 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
43311 grub_errno if no errors have been detected.
43312
1eb8c802 433132008-01-12 Robert Millan <rmh@aybabtu.com>
43314
43315 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
43316 (grub_util_get_dev_abstraction): New function prototype.
43317
43318 * util/getroot.c: Include `<grub/util/getroot.h>'
43319 (grub_util_get_grub_dev): Move detection of abstraction type to ...
43320 (grub_util_get_dev_abstraction): ... here (new function).
43321
43322 * util/grub-probe.c: Convert PRINT_* to an enum. Add
43323 `PRINT_ABSTRACTION'.
43324 (probe): Probe for abstraction type when requested.
43325 (main): Understand `--target=abstraction'.
43326
43327 * util/i386/efi/grub-install.in: Add abstraction module to core
43328 image when it is found to be necessary.
43329 * util/i386/pc/grub-install.in: Likewise.
43330 * util/powerpc/ieee1275/grub-install.in: Likewise.
43331
43332 * util/update-grub_lib.in (font_path): Return system path without
43333 converting to GRUB path.
43334 * util/update-grub.in: Convert system path returned by font_path()
43335 to a GRUB path. Use `grub-probe -t abstraction' to determine what
43336 abstraction module is needed for loading fonts (if any). Export
43337 that as `GRUB_PRELOAD_MODULES'.
43338 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
43339 insmod commands).
43340
52bd3de9 433412008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
43342
43343 Remove some unused code from reiserfs.
f19dbdb7 43344
52bd3de9 43345 * fs/reiserfs.c (struct grub_reiserfs_key)
43346 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
43347 (struct grub_reiserfs_node_body): Removed.
43348 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
43349 Likewise.
43350 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
43351 Likewise.
43352 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
43353 Likewise.
43354 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
43355 Likewise.
43356 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
43357 Likewise.
43358 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
43359 Likewise.
43360 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
43361 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
43362 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
43363
2f80039d 433642008-01-10 Robert Millan <rmh@aybabtu.com>
43365
43366 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
43367 Determines if a file is garbage left by packaging systems, etc.
43368 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
43369 for processing /etc/grub.d scripts.
43370 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
43371 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
43372 as a condition for processing Linux images.
43373
87888032 433742008-01-10 Pavel Roskin <proski@gnu.org>
43375
43376 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
43377 to compile reiserfs.c on PowerPC.
43378
7e54fced 433792008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 43380
43381 * kern/device.c (grub_device_iterate): Do not abort device iteration
43382 when one of the devices cannot be opened.
43383 * kern/disk.c (grub_disk_open): Do not account previous failures of
43384 unrelated functions when grub_errno is checked for.
43385
5aa541e6 433862008-01-08 Robert Millan <rmh@aybabtu.com>
43387
43388 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
43389 `! grub_linux_is_bzimage', change order of address comparison to make
43390 it more intuitive, and improve "too big zImage" error message.
43391
7076340d 433922008-01-08 Robert Millan <rmh@aybabtu.com>
43393
43394 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
43395 `$(update-grub_DATA)'.
43396 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
43397 targets.
43398
9ca70333 433992008-01-07 Robert Millan <rmh@aybabtu.com>
43400
43401 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
43402 which instruction is modified by grub-setup during installation
43403 (since it wasn't obvious by only looking at this file).
43404
38ccf575 434052008-01-07 Robert Millan <rmh@aybabtu.com>
43406
43407 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
43408 listing actual TODO items.
43409
f5db4291 434102008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
43411
868967cf 43412 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
43413 correctly.
43414 (grub_reiserfs_get_key_offset): Likewise.
43415 (grub_reiserfs_set_key_offset): Likewise.
43416 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 43417 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 43418
43419 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
43420 better to remove the bitfield version completely.
f19dbdb7 43421
868967cf 434222008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 43423
f5db4291 43424 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
43425 allocated from the heap, due to the fshelp implementation.
43426 (grub_reiserfs_dir): Free NODE, due to the same reason.
43427
492e6d9d 434282008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
43429
43430 Mostly from Vincent Pelletier:
f19dbdb7 43431
492e6d9d 43432 * fs/reiserfs.c: New file.
f19dbdb7 43433
492e6d9d 43434 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
43435 (reiserfs_mod_SOURCES): New variable.
43436 (reiserfs_mod_CFLAGS): Likewise.
43437 (reiserfs_mod_LDFLAGS): Likewise.
43438
43439 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
43440 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
43441 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
43442 normal/color.c.
43443
9ce3e7c1 434442008-01-06 Robert Millan <rmh@aybabtu.com>
43445
43446 * normal/color.c: Remove `<grub/env.h>'.
43447
f3b58148 434482008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
43449
43450 * include/grub/normal.h: Include <grub/env.h>.
43451
7ac3bcfa 434522008-01-05 Robert Millan <rmh@aybabtu.com>
43453
43454 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
43455 usage example with `(hd0,1)'.
fb358190 43456 Reported by Samuel Thibault.
7ac3bcfa 43457
c8ee99d7 434582008-01-05 Robert Millan <rmh@aybabtu.com>
43459
43460 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
43461 (grub_linux_boot_zimage): Rename to ...
43462 (grub_linux_boot): ... this.
43463 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
43464 (grub_linux_boot_zimage): Conditionalize zImage copy.
43465
43466 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
43467 (grub_linux_boot_bzimage): Remove prototype.
43468 (grub_linux_boot_zimage): Rename to ...
43469 (grub_linux_boot): ... this.
43470
43471 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
43472 (grub_linux_boot): Remove function.
43473
0ece25b1 434742008-01-05 Robert Millan <rmh@aybabtu.com>
43475
43476 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
43477 (grub_env_write_color_highlight): Likewise.
43478 (grub_wait_after_message): Likewise.
43479
43480 * normal/color.c: New file.
43481
43482 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
43483 (normal_mod_DEPENDENCIES): Likewise.
43484
43485 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
43486 (normal_mod_DEPENDENCIES): Likewise.
43487
43488 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
43489 (normal_mod_DEPENDENCIES): Likewise.
43490
43491 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
43492 (normal_mod_DEPENDENCIES): Likewise.
43493
43494 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
43495 for waiting after a message is printed.
43496 * normal/main.c (read_config_file): Likewise.
43497 (grub_normal_init): Register grub_env_write_color_normal() and
43498 grub_env_write_color_highlight() hooks. Mark `color_normal' and
43499 `color_highlight' variables as global.
43500
43501 * normal/menu.c (grub_wait_after_message): New function.
43502 (grub_color_menu_normal): New variable. Replaces ...
43503 (GRUB_COLOR_MENU_NORMAL): ... this macro.
43504 (grub_color_menu_highlight): New variable. Replaces ...
43505 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
43506 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
43507 `GRUB_TERM_COLOR_STANDARD'.
43508 (print_message): Use `grub_setcolorstate' to reload colors. Rename
43509 `normal_code' and `highlight_code' to `old_color_normal' and
43510 `old_color_highlight', respectively.
43511 (grub_menu_init_page): Update colors when drawing the menu, based on
43512 `menu_color_normal' and `menu_color_highlight' variables.
43513 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
43514 a message is printed.
43515
182dd4e5 435162008-01-05 Robert Millan <rmh@aybabtu.com>
43517
43518 * kern/env.c (grub_env_context_open): Propagate hooks for global
43519 variables to new context.
43520
43521 * kern/main.c (grub_set_root_dev): Export `root' variable.
43522
ddf8f6ad 435232008-01-05 Robert Millan <rmh@aybabtu.com>
43524
43525 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 43526 discs unconditionally, since udev and others have options to provide
ddf8f6ad 43527 them.
43528
d8b43d9b 435292008-01-05 Robert Millan <rmh@aybabtu.com>
43530
43531 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
43532
2bff2de3 435332008-01-04 Christian Franke <franke@computer.org>
43534
43535 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
43536 of eisa_mmap.
43537
97eab917 435382008-01-03 Pavel Roskin <proski@gnu.org>
43539
43540 * kern/i386/linuxbios/init.c: Put "void" to all function
43541 declarations with no arguments.
43542 * kern/powerpc/ieee1275/init.c: Likewise.
43543 * term/i386/pc/at_keyboard.c: Likewise.
43544 * term/i386/pc/vga_text.c: Likewise.
43545 * util/grub-mkdevicemap.c: Likewise.
43546
b9416d00 435472008-01-02 Robert Millan <rmh@aybabtu.com>
43548
43549 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
43550 message when loaded image is out of bounds.
43551 (grub_multiboot_load_elf64): Likewise.
43552
92695df9 435532008-01-02 Pavel Roskin <proski@gnu.org>
43554
43555 * util/grub.d/10_linux.in: Try version without ".old" when
43556 looking for initrd. It's better to use initrd from the newer
43557 kernel of the same version than no initrd at all.
43558
d98d9cad 435592008-01-01 Robert Millan <rmh@aybabtu.com>
43560
43561 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
43562
dbfdce36 435632008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
43564
f19dbdb7 43565 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 43566 grub_video_get_active_render_target.
43567 (grub_video_adapter): Added unmap_color and get_active_render_target.
43568
f19dbdb7 43569 * video/video.c: Added grub_video_unmap_color and
dbfdce36 43570 grub_video_get_active_render_target.
43571 (grub_video_get_info): Changed method to accept NULL pointer as an
43572 argument to allow detection of active video adapter.
43573
43574 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
43575 grub_video_vbe_unmap_color_int.
43576 Added grub_video_vbe_unmap_color and
43577 grub_video_vbe_get_active_render_target.
43578 (grub_video_vbe_adapter): Added unmap_color and
43579 get_active_render_target.
43580
f19dbdb7 43581 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 43582 with grub_video_vbe_unmap_color_int.
43583
43584 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
43585 (DEFAULT_NORMAL_COLOR): Likewise.
43586 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
43587 (DEFAULT_FG_COLOR): Removed.
43588 (DEFAULT_BG_COLOR): Likewise.
43589 (DEFAULT_CURSOR_COLOR): Changed value.
43590 (grub_virtual_screen): Added standard_color_setting,
43591 normal_color_setting, highlight_color_setting and term_color.
43592 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
43593 (bitmap_width): Added.
43594 (bitmap_height): Likewise.
43595 (bitmap): Likewise.
43596 (set_term_color): Likewise.
43597 (grub_virtual_screen_setup): Changed to use new terminal coloring
43598 settings.
43599 (grub_gfxterm_init): Added init for bitmap.
43600 (grub_gfxterm_fini): Added destroy for bitmap.
43601 (redraw_screen_rect): Updated to use background bitmap and new
43602 terminal coloring.
43603 (scroll_up): Added optimization for case when there is no bitmap.
43604 (grub_gfxterm_cls): Fixed to use correct background color.
43605 (grub_virtual_screen_setcolorstate): Changed to use new terminal
43606 coloring.
43607 (grub_virtual_screen_setcolor): Likewise.
43608 (grub_virtual_screen_getcolor): Added.
43609 (grub_gfxterm_background_image_cmd): Likewise.
43610 (grub_video_term): Added setcolor and getcolor.
43611 (MOD_INIT): Added registration of background_image command.
43612 (MOD_TERM): Added unregistration for background_image command.
43613
c3c20931 436142007-12-30 Pavel Roskin <proski@gnu.org>
43615
43616 * loader/multiboot_loader.c: Fix multiboot command
43617 unregistration. Fix all typos in the word "multiboot".
43618
df266716 436192007-12-29 Pavel Roskin <proski@gnu.org>
94239199 43620
43621 * util/grub.d/10_linux.in: Refactor search for initrd. Add
43622 support for initrd names used in Fedora.
43623
fc6e896c 436242007-12-26 Bean <bean123ch@gmail.com>
43625
43626 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
43627 (cpio_mod_SOURCES): New variable.
43628 (cpio_mod_CFLAGS): Likewise.
43629 (cpio_mod_LDFLAGS): Likewise.
43630
43631 * fs/cpio.c: New file.
43632
43633 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
43634
43635 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
43636
43637 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
43638
43639 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43640
533110ad 436412007-12-25 Robert Millan <rmh@aybabtu.com>
43642
43643 * include/grub/term.h (struct grub_term): Add `getcolor' function.
43644 (grub_getcolor): New function.
43645
43646 * kern/term.c (grub_getcolor): New function.
43647 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
43648 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
43649 (print_entry): Set normal and highlight colors to
43650 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
43651 respectively, before printing and restore them to old
43652 values afterwards.
43653 (grub_menu_init_page): Likewise. Fill an additional colored space
43654 that would otherwise be left blank.
43655
43656 * term/efi/console.c (grub_console_getcolor): New function.
43657 (struct grub_console_term.getcolor): New variable.
43658 * term/i386/pc/console.c (grub_console_getcolor): New function.
43659 (struct grub_console_term.getcolor): New variable.
43660 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
43661 (struct grub_console_term.getcolor): New variable.
43662
43663 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
43664 (struct grub_console_term.setcolor): Remove variable.
43665 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
43666 (struct grub_console_term.setcolor): Remove variable.
43667 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
43668 (struct grub_console_term.setcolor): Remove variable.
43669 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
43670 (struct grub_console_term.setcolor): Remove variable.
43671
4931827f 436722007-12-25 Robert Millan <rmh@aybabtu.com>
43673
43674 * configure.ac: Search for possible unifont.hex locations, and
43675 define UNIFONT_HEX if found.
43676
43677 * Makefile.in (UNIFONT_HEX): Define variable.
43678 (DATA): Rename to ...
43679 (PKGLIB): ... this. Update all users.
43680 (PKGDATA): New variable.
43681 (pkgdata_IMAGES): Rename to ...
43682 (pkglib_IMAGES): ... this. Update all users.
43683 (pkgdata_MODULES): Rename to ...
43684 (pkglib_MODULES): ... this. Update all users.
43685 (pkgdata_PROGRAMS): Rename to ...
43686 (pkglib_PROGRAMS): ... this. Update all users.
43687 (pkgdata_DATA): Rename to ...
43688 (pkglib_DATA): ... this. Update all users.
43689 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
43690 (unicode.pff, ascii.pff): New rules.
43691 (all-local): Add `$(PKGDATA)' dependency.
43692 (install-local): Process `$(PKGDATA)'.
43693
43694 * util/update-grub_lib.in (font_path): Search for *.pff files in
43695 a few more locations, including `${pkgdata}'.
43696
57e57e31 436972007-12-23 Robert Millan <rmh@aybabtu.com>
43698
43699 Patch from Bean <bean123ch@gmail.com>:
43700 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
43701 `size'.
43702
4bc72aa9 437032007-12-21 Bean <bean123ch@gmail.com>
43704
43705 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
43706 (ntfscomp_mod_SOURCES): New variable.
43707 (ntfscomp_mod_CFLAGS): Likewise.
43708 (ntfscomp_mod_LDFLAGS): Likewise.
43709
43710 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
43711 (grub_probe_SOURCES): Likewise.
43712 (grub_emu_SOURCES): Likewise.
43713
43714 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
43715 (grub_emu_SOURCES): Likewise.
43716
43717 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
43718 (grub_emu_SOURCES): Likewise.
43719
43720 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
43721 (grub_emu_SOURCES): Likewise.
43722
43723 * fs/ntfs.c (grub_ntfscomp_func): New variable.
43724 (read_run_list): Renamed to grub_ntfs_read_run_list.
43725 (decomp_nextvcn): Moved to ntfscomp.c.
43726 (decomp_getch): Likewise.
43727 (decomp_get16): Likewise.
43728 (decomp_block): Likewise.
43729 (read_block): Likewise.
43730 (read_data): Partially moved to ntfscomp.c.
43731 (fixup): Change unsigned to grub_uint16_t.
43732 (read_mft): Change unsigned long to grub_uint32_t.
43733 (read_attr): Likewise.
43734 (read_data): Likewise.
43735 (read_run_data): Likewise.
43736 (read_run_list): Likewise.
43737 (read_mft): Likewise.
43738
43739 * fs/ntfscomp.c: New file.
43740
43741 * include/grub/ntfs.h: New file.
43742
af680a87 437432007-12-16 Robert Millan <rmh@aybabtu.com>
43744
43745 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
43746 IDE disk check, since Linux is known to support 20 IDE disks.
43747 Reported by Colin Watson.
43748
84be7599 437492007-12-15 Bean <bean123ch@gmail.com>
43750
43751 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
43752 (lnxboot_img_SOURCES): New variable.
43753 (lnxboot_img_ASFLAGS): Likewise.
43754 (lnxboot_img_LDFLAGS): Likewise.
43755
43756 * boot/i386/pc/lnxboot.S: New file.
43757
6af9db01 437582007-11-24 Pavel Roskin <proski@gnu.org>
43759
43760 * configure.ac: Test if '--build-id=none' is supported by the
43761 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
43762 objcopy to generate incorrect binary files (binutils
43763 2.17.50.0.18-1 as shipped by Fedora 8).
43764 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
43765 linking, so that build ID doesn't break the test.
43766
7361cfe6 437672007-11-24 Pavel Roskin <proski@gnu.org>
43768
43769 * include/grub/i386/time.h: use "void" in the argument list
43770 of grub_cpu_idle().
43771 * include/grub/powerpc/time.h: Likewise.
43772 * include/grub/sparc64/time.h: Likewise.
43773
1593e10c 437742007-11-18 Christian Franke <franke@computer.org>
43775
43776 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
43777 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
43778 This fixes the problem that function keys did not work in grub-emu.
43779
3b8db1a8 437802007-11-18 Christian Franke <franke@computer.org>
43781
43782 * disk/host.c (grub_host_open): Remove attribute unused from
43783 name parameter. Add check for "host". This fixes the problem
43784 that grub-emu does not find partitions.
43785
2e29408d 437862007-11-18 Christian Franke <franke@computer.org>
43787
43788 * util/hostfs.c (is_dir): New function.
43789 (grub_hostfs_dir): Handle missing dirent.d_type case.
43790 (grub_hostfs_read): Add missing fseek().
43791 (grub_hostfs_label): Clear label pointer. This fixes a crash
43792 of grub-emu on "ls (host)".
43793
398cd047 437942007-11-18 Christian Franke <franke@computer.org>
43795
43796 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
43797 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
43798 to 64 bit boundary by default.
43799
c405c391 438002007-11-18 Bean <bean123ch@gmail.com>
43801
43802 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
43803 (hexdump_mod_SOURCES): New variable.
43804 (hexdump_mod_CFLAGS): Likewise.
43805 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 43806
c405c391 43807 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
43808
43809 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
43810
43811 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
43812
43813 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
43814
43815 * include/grub/hexdump.h: New file.
43816
43817 * commands/hexdump.c: New file.
43818
5cced7fd 438192007-11-10 Robert Millan <rmh@aybabtu.com>
43820
43821 * commands/i386/pc/play.c (beep_off): Switch order of arguments
43822 in grub_outb() calls.
43823 (beep_on): Likewise.
43824
8b714eb0 438252007-11-10 Christian Franke <franke@computer.org>
43826
43827 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
43828 (grub_menu_run): Likewise.
43829
ce0f1839 438302007-11-10 Robert Millan <rmh@aybabtu.com>
43831
43832 * include/grub/i386/efi/machine.h: New file.
43833 * include/grub/i386/linuxbios/machine.h: Likewise.
43834 * include/grub/i386/pc/machine.h: Likewise.
43835 * include/grub/powerpc/ieee1275/machine.h: Likewise.
43836 * include/grub/sparc64/ieee1275/machine.h: Likewise.
43837
43838 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
43839 (serial_hw_io_addr): New variable.
43840 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
43841 instead of `(unsigned short *) 0x400'.
43842
270c237d 438432007-11-10 Bean <bean123ch@gmail.com>
43844
43845 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
43846
a87783bf 438472007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
43848
43849 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
43850 (vga_mod_SOURCES): Added.
43851 (vga_mod_CFLAGS): Likewise.
43852 (vga_mod_LDFLAGS): Likewise.
43853
43854 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
43855 grub_outb() calls.
43856 (set_map_mask): Likewise.
43857 (set_read_map): Likewise.
43858 (set_read_address): Likewise.
43859 (vga_font): Removed variable.
43860 (get_vga_glyph): Removed function.
43861 (invalidate_char): Likewise.
43862 (write_char): Changed to use grub_font_get_glyph() for font
43863 information.
43864 (grub_vga_putchar): Likewise.
43865 (grub_vga_getcharwidth): Likewise.
43866
6433b448 438672007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
43868
43869 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
43870 flags.
43871 (pxeboot_img_LDFLAGS): Likewise.
43872 (diskboot_img_LDFLAGS): Likewise.
43873 (kernel_img_LDFLAGS): Likewise.
43874
49178511 438752007-11-06 Robert Millan <rmh@aybabtu.com>
43876
43877 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
43878 in grub_outb() calls.
43879 (serial_hw_init): Likewise.
43880
53b052de 438812007-11-05 Robert Millan <rmh@aybabtu.com>
43882
43883 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
43884 spaces. Skip non-regular files.
43885
5ab33bba 438862007-11-05 Robert Millan <rmh@aybabtu.com>
43887
43888 * kern/disk.c (grub_disk_firmware_fini)
43889 (grub_disk_firmware_is_tainted): New variables.
43890
43891 * include/grub/disk.h (grub_disk_firmware_fini)
43892 (grub_disk_firmware_is_tainted): Likewise.
43893
43894 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
43895 (grub_disk_biosdisk_fini): ... to here.
43896 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
43897 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
43898 is set. Register grub_disk_biosdisk_fini() in
43899 `grub_disk_firmware_fini'.
43900
43901 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
43902 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
43903 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
43904 to finish existing firmware disk interface.
43905
43906 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
43907 (ata_mod_SOURCES): New variable.
43908 (ata_mod_CFLAGS): Likewise.
43909 (ata_mod_LDFLAGS): Likewise.
43910
0149ab7c 439112007-11-05 Robert Millan <rmh@aybabtu.com>
43912
43913 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
43914 (grub_ata_wait): Reimplement using grub_millisleep().
43915
43916 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
43917 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
43918
be7ac41e 439192007-11-03 Marco Gerards <marco@gnu.org>
43920
43921 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
43922 (CRTC_ADDR_PORT): New macro.
43923 (CRTC_DATA_PORT): Likewise.
43924 (CRTC_CURSOR): Likewise.
43925 (CRTC_CURSOR_ADDR_HIGH): Likewise.
43926 (CRTC_CURSOR_ADDR_LOW): Likewise.
43927 (update_cursor): New function.
43928 (grub_console_real_putchar): Call `update_cursor'.
43929 (grub_console_gotoxy): Likewise.
43930 (grub_console_cls): Set the default color when clearing the
43931 screen.
43932 (grub_console_setcursor): Implemented.
43933
bb06ab2e 439342007-11-03 Marco Gerards <marco@gnu.org>
43935
43936 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
43937 become activate.
43938 (grub_ata_pio_write): Likewise.
43939
43940 (grub_atapi_identify): Wait after issuing an ATA command.
43941 (grub_atapi_packet): Likewise.
43942 (grub_ata_identify): Likewise.
43943 (grub_ata_readwrite): Likewise.
43944
cf8f780b 439452007-11-03 Marco Gerards <marco@gnu.org>
43946
43947 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
43948 (grub_ata_pio_write): Likewise.
43949 (grub_ata_readwrite): Use `grub_error', instead of
43950 returning `grub_errno'.
43951
ed649e54 439522007-11-03 Marco Gerards <marco@gnu.org>
43953
43954 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
43955 grub_ata_pio_write once for every single sector, instead of for
43956 multiple sectors.
43957
ca25d8f0 439582007-10-31 Robert Millan <rmh@aybabtu.com>
43959
43960 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
43961
43962 * conf/i386-linuxbios.rmk: New file.
43963
43964 * kern/i386/pc/hardware.c: Likewise.
43965 * term/i386/pc/at_keyboard.c: Likewise.
43966 * term/i386/pc/vga_text.c: Likewise.
43967
43968 * include/grub/i386/linuxbios/boot.h: Likewise.
43969 * include/grub/i386/linuxbios/console.h: Likewise.
43970 * include/grub/i386/linuxbios/init.h: Likewise.
43971 * include/grub/i386/linuxbios/kernel.h: Likewise.
43972 * include/grub/i386/linuxbios/loader.h: Likewise.
43973 * include/grub/i386/linuxbios/memory.h: Likewise.
43974 * include/grub/i386/linuxbios/serial.h: Likewise.
43975 * include/grub/i386/linuxbios/time.h: Likewise.
43976
43977 * kern/i386/linuxbios/init.c: Likewise.
43978 * kern/i386/linuxbios/startup.S: Likewise.
43979 * kern/i386/linuxbios/table.c: Likewise.
43980
e911ecc1 439812007-10-31 Marco Gerards <marco@gnu.org>
43982
43983 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
43984 (ata_mod_SOURCES): New variable.
43985 (ata_mod_CFLAGS): Likewise.
43986 (ata_mod_LDFLAGS): Likewise.
43987
43988 * disk/ata.c: New file.
43989
43990 * include/grub/disk.h (grub_disk_dev_id): Add
43991 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 43992
7f66d0e0 439932007-10-31 Robert Millan <rmh@aybabtu.com>
43994
43995 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
43996 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
43997
43998 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
43999 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
44000
44001 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
44002 `<grub/types.h>'.
44003
44004 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
44005
5cd7dd46 440062007-10-27 Robert Millan <rmh@aybabtu.com>
44007
3236ca65 44008 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 44009
2ebfc90f 440102007-10-22 Robert Millan <rmh@aybabtu.com>
44011
44012 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
44013 `"../realmode.S"'.
44014 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
44015
73fcb0f3 440162007-10-22 Robert Millan <rmh@aybabtu.com>
44017
44018 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
44019 (pkgdata_MODULES): Add `biosdisk.mod'.
44020 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
44021 variables.
44022
44023 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
44024 (grub_biosdisk_init): Replace with ...
44025 (GRUB_MOD_INIT(biosdisk)): ... this.
44026 (grub_biosdisk_fini): Replace with ...
44027 (GRUB_MOD_FINI(biosdisk)): ... this.
44028
44029 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
44030 (grub_machine_init): Remove call to grub_biosdisk_init().
44031 (grub_machine_fini): Remove call to grub_machine_fini().
44032
44033 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
44034
3381d274 440352007-10-22 Robert Millan <rmh@aybabtu.com>
44036
44037 * include/grub/time.h: New file.
44038 * include/grub/i386/time.h: Likewise.
44039 * include/grub/powerpc/time.h: Likewise.
44040 * include/grub/sparc64/time.h: Likewise.
44041
44042 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
44043 instances to ...
44044 (KERNEL_MACHINE_TIME_HEADER): ... this.
44045 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
44046 instances to ...
44047 (KERNEL_MACHINE_TIME_HEADER): ... this.
44048 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
44049 instances to ...
44050 (KERNEL_MACHINE_TIME_HEADER): ... this.
44051
44052 * kern/i386/efi/init.c: Include `<grub/time.h>'.
44053 (grub_millisleep): New function.
44054 * kern/i386/pc/init.c: Include `<grub/time.h>'.
44055 (grub_millisleep): New function.
44056 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
44057 Remove `grub/machine/time.h' include.
44058 (grub_millisleep): New function.
44059 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
44060 Remove `grub/machine/time.h' include.
44061 (grub_millisleep): New function.
44062
44063 * include/grub/misc.h (grub_div_roundup): New function.
44064
44065 * kern/misc.c: Include `<grub/time.h>'.
44066 (grub_millisleep_generic): New function.
44067
44068 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
44069 Add `time.h'.
44070 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
44071 Add `time.h'.
44072 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
44073 `machine/time.h'. Add `time.h'.
44074 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
44075
a39a0312 440762007-10-21 Robert Millan <rmh@aybabtu.com>
44077
44078 * include/grub/misc.h (grub_max): New function.
44079
2aad70e2 440802007-10-21 Robert Millan <rmh@aybabtu.com>
44081
44082 * util/misc.c (grub_util_info): Call fflush() before returning.
44083
54b71c4b 440842007-10-20 Robert Millan <rmh@aybabtu.com>
44085
44086 * genmk.rb (Image): Copy `extra_flags' from here ...
44087 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
44088
44089 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
44090 to `argc' and `args' arguments.
44091
a979f513 440922007-10-17 Robert Millan <rmh@aybabtu.com>
44093
44094 * kern/i386/loader.S: New file.
44095
44096 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
44097 * kern/i386/loader.S (grub_linux_prot_size)... to here.
44098 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
44099 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
44100 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
44101 * kern/i386/loader.S (grub_linux_real_addr)... to here.
44102 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
44103 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
44104 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
44105 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
44106 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
44107 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
44108 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
44109 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
44110
44111 * kern/i386/realmode.S: New file.
44112
44113 * kern/i386/pc/startup.S (protstack): Moved from here ...
44114 * kern/i386/realmode.S (protstack)... to here.
44115 * kern/i386/pc/startup.S (gdt): Moved from here ...
44116 * kern/i386/realmode.S (gdt)... to here.
44117 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
44118 * kern/i386/realmode.S (prot_to_real)... to here.
44119
44120 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
44121 `kern/i386/realmode.S'.
44122
825fc8fd 441232007-10-17 Robert Millan <rmh@aybabtu.com>
44124
44125 * include/grub/i386/loader.h: New file.
44126
44127 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
44128 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
44129 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
44130 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
44131 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
44132 * include/grub/i386/loader.h (grub_linux_prot_size)
44133 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
44134 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
44135 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
44136 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
44137
44138 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
44139
e179b2f4 441402007-10-15 Robert Millan <rmh@aybabtu.com>
44141
44142 * normal/misc.c (grub_normal_print_device_info): Do not probe for
44143 filesystem when dev->disk is unset.
44144 Do probe for filesystem even when dev->disk->has_partitions is set.
44145 In case a filesystem is found, always report it.
44146 In case it isn't, if dev->disk->has_partitions is set, report that
44147 a partition table was found instead of reporting that no filesystem
44148 could be identified.
44149
5db82af6 441502007-10-12 Robert Millan <rmh@aybabtu.com>
44151
44152 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
44153 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
44154
68f6ac74 44155 * include/grub/types.h (grub_host_to_target16): New macro.
44156 (grub_host_to_target32): Likewise.
44157 (grub_host_to_target64): Likewise.
44158 (grub_target_to_host16): Likewise.
44159 (grub_target_to_host32): Likewise.
44160 (grub_target_to_host64): Likewise.
5db82af6 44161
44162 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
44163 Renamed from to ...
44164 (GRUB_MOD_ALIGN): ...this. Update all users.
44165
68f6ac74 44166 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
44167 grub_host_to_target32.
44168 Replace grub_be_to_cpu32 with grub_target_to_host32.
44169 (load_modules): Likewise.
44170 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
44171 Replace grub_be_to_cpu32 with grub_target_to_host32.
44172 Replace grub_cpu_to_be16 with grub_host_to_target16.
44173 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 44174
3cf497cc 441752007-10-12 Robert Millan <rmh@aybabtu.com>
44176
44177 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
44178 * util/elf/grub-mkimage.c: ... here.
44179
44180 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
44181 `util/powerpc/ieee1275/grub-mkimage.c'.
44182
c8cc3692 441832007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 44184
c8cc3692 44185 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
44186 and make it easier to figure out.
44187 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
44188 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
44189 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
44190 leave us with less than HEAP_MIN_SIZE total heap.
44191 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 44192
5c58b791 441932007-10-03 Robert Millan <rmh@aybabtu.com>
44194
44195 * include/grub/i386/io.h: New file.
44196 * commands/i386/pc/play.c (inb): Removed.
44197 (outb): Removed.
44198 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
44199 with grub_outb().
afcd2ef8 44200 * term/i386/pc/serial.c (inb): Removed.
44201 (outb): Removed.
44202 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
44203 with grub_outb().
44204 * term/i386/pc/vga.c (inb): Removed.
44205 (outb): Removed.
44206 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
44207 with grub_outb().
5c58b791 44208
1a477ed6 442092007-10-02 Robert Millan <rmh@aybabtu.com>
44210
44211 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
44212 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44213 Reported by Marcin Kurek.
44214
6b5d80fa 442152007-09-07 Robert Millan <rmh@aybabtu.com>
44216
44217 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
44218 SmartFirmware version updates (as released by Sven Luther), and avoid
44219 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
44220 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
44221 known broken.
44222
5618afbf 442232007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
44224
44225 From Hitoshi Ozeki:
44226 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
44227 when merging two regions.
44228
6139dcd9 442292007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
44230
508e39ee 44231 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
44232 * normal/completion.c (grub_normal_do_completion): Likewise.
44233 Reported by Hitoshi Ozeki.
44234
442352007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 44236
6139dcd9 44237 Do not use devices at boot in chainloading.
f19dbdb7 44238
6139dcd9 44239 * loader/i386/pc/chainloader.c (boot_drive): New variable.
44240 (boot_part_addr): Likewise.
44241 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
44242 with BOOT_DRIVE and BOOT_PART_ADDR.
44243 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
44244 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
44245
38da6516 442462007-08-29 Robert Millan <rmh@aybabtu.com>
44247
44248 Patch from Simon Peter <dn.tlp@gmx.net>:
44249 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
44250 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
44251 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
44252 util/i386/pc/grub-setup.c_DEPENDENCIES.
44253 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
44254 util/grub-probe.c_DEPENDENCIES.
44255 * conf/powerpc-ieee1275.rmk: Likewise.
44256
29d0928c 442572007-08-28 Robert Millan <rmh@aybabtu.com>
44258
44259 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
44260 to tell grub-mkdevicemap how to name devices.
44261 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
44262 feature).
44263
44264 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
44265 util/i386/get_disk_name.c.
44266 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
44267 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
44268 util/ieee1275/get_disk_name.c.
44269
44270 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
44271
44272 * DISTLIST: Add util/i386/get_disk_name.c and
44273 util/ieee1275/get_disk_name.c.
44274
44275 * util/grub-mkdevicemap.c: Replace device naming logic with
44276 grub_util_get_disk_name() calls.
44277
5a0d3cca 442782007-08-20 Robert Millan <rmh@aybabtu.com>
44279
44280 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
44281 (so that it works for both plural and singular quantities).
44282
8b72db2f 442832007-08-05 Robert Millan <rmh@aybabtu.com>
44284
44285 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
44286 so that [xz] isn't taken into account when determining order.
44287
352466bf 442882007-08-02 Marco Gerards <marco@gnu.org>
44289
44290 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
44291 `include/multiboot2.h', `include/grub/elfload.h',
44292 `include/multiboot.h', `include/grub/multiboot.h',
44293 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
44294 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
44295 `kern/elf.c', `loader/multiboot_loader.c',
44296 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
44297 `loader/i386/pc/multiboot2.c',
44298 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
44299 `util/i386/pc/grub-mkrescue.in'. Remove
44300 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
44301 `include/grub/i386/pc/util/biosdisk.h' and
44302 `include/grub/powerpc/ieee1275/multiboot.h'.
44303
8f096014 443042007-08-02 Bean <bean123ch@gmail.com>
44305
44306 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
44307 (ntfs_mod_SOURCES): New variable.
44308 (ntfs_mod_CFLAGS): Likewise.
44309 (ntfs_mod_LDFLAGS): Likewise.
44310
44311 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
44312 (grub_probe_SOURCES): Likewise.
44313 (grub_emu_SOURCES): Likewise.
44314
44315 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
44316 (grub_emu_SOURCES): Likewise.
44317
44318 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
44319 (grub_emu_SOURCES): Likewise.
f19dbdb7 44320
8f096014 44321 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
44322
44323 * fs/ntfs.c: New file.
44324
9959f7db 443252007-08-02 Bean <bean123ch@gmail.com>
44326
44327 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
44328
44329 * file.h (grub_file): Likewise.
44330
44331 * fshelp.h (grub_fshelp_read_file): Likewise.
44332
44333 * util/i386/pc/grub-setup.c (setup): Likewise.
44334 (save_first_sector): Likewise.
44335 (save_blocklists): Likewise.
f19dbdb7 44336
9959f7db 44337 * fs/affs.c (grub_affs_read_file): Likewise.
44338
44339 * fs/ext2.c (grub_ext2_read_file): Likewise.
44340
44341 * fs/fat.c (grub_fat_read_data): Likewise.
44342
44343 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
44344
44345 * fs/hfs.c (grub_hfs_read_file): Likewise.
44346
44347 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
44348
44349 * fs/jfs.c (grub_jfs_read_file): Likewise.
44350
44351 * fs/minix.c (grub_minix_read_file): Likewise.
44352
44353 * fs/sfs.c (grub_sfs_read_file): Likewise.
44354
44355 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 44356
9959f7db 44357 * fs/xfs.c (grub_xfs_read_file): Likewise.
44358
44359 * command/blocklist.c (read_blocklist): Likewise.
44360 (print_blocklist): Likewise.
44361
0a203f83 443622007-08-02 Marco Gerards <marco@gnu.org>
44363
44364 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
44365 `util/hostfs.c'.
44366
44367 * disk/host.c: New file.
44368
44369 * util/hostfs.c: Likewise.
44370
44371 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
44372 return `GRUB_ERR_BAD_FS'.
44373 * fs/sfs.c (grub_sfs_mount): Likewise.
44374 * fs/xfs.c (grub_xfs_mount): Likewise.
44375
44376 * include/grub/disk.h (enum grub_disk_dev_id): Add
44377 `GRUB_DISK_DEVICE_HOST_ID'.
44378
44379 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
44380
e5dfe777 443812007-07-24 Jerone Young <jerone@gmail.com>
44382
f19dbdb7 44383 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 44384 modules for compilation.
44385 * conf/powerpc-ieee1275.rmk: Likewise.
44386
44387 * include/multiboot.h: Move multiboot definitions to one file. Rename
44388 many definitions to not get grub specific.
44389 * include/multiboot2.h: Create header with multiboot 2 definitions.
44390 * include/grub/multiboot.h: Header for grub specific function
44391 prototypes and definitions.
44392 * include/grub/multiboot2.h: Likewise.
44393 * include/grub/multiboot_loader.h: Likewise.
44394 * include/grub/i386/pc/multiboot.h: Removed.
44395 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
44396
44397 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
44398 and 2 to allow for one multiboot and module commands.
44399 * loader/multiboot2.c: Add multiboot2 functionality.
44400 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
44401 and definition names.
44402 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
44403 2 functions.
44404 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
44405 ieee1275 specific multiboot2 code.
44406
44407 * kern/i386/pc/startup.S: Change headers and definition names for
44408 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
44409
daf0f0ba 444102007-07-22 Robert Millan <rmh@aybabtu.com>
44411
44412 * geninitheader.sh: Process file specified in first parameter rather
44413 than hardcoding grub_modules_init.lst.
fe6b695a 44414 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 44415 than hardcoding grub_modules_init.h.
44416
44417 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
44418 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
44419 grub_probe_init.[ch] and grub_setup_init.[ch].
44420
44421 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
44422 grub_modules_init.h with grub_emu_init.h.
44423 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
44424 grub_probe_init.[ch] files.
44425 * conf/i386-efi.rmk: Likewise.
44426 * conf/i386-pc.rmk: Likewise.
44427 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
44428 grub_setup_init.[ch] files.
44429
44430 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
44431 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
44432 to initialize modules rather than a list of hardcoded functions.
44433 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
44434 grub_init_all() to initialize modules rather than a list of hardcoded
44435 functions.
44436
54cdc1cc 444372007-07-22 Robert Millan <rmh@aybabtu.com>
44438
44439 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
44440 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
44441
ad0686cc 444422007-07-22 Robert Millan <rmh@aybabtu.com>
44443
44444 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
44445 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
44446 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
44447 flag when running on SmartFirmware.
44448 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
44449 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
44450 was set.
44451
44452 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
44453 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
44454 rather than decreasing it.
44455
44456 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
44457 there's not enough space to do it, fail in the same way as when it
44458 can't be done because there are no partitions.
44459
44460 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
44461 when nvsetenv failed.
44462
969c02ec 444632007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
44464
44465 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
44466 because this rule is automatically generated.
44467 (grub-mkrescue): Removed for the same reason as above.
44468
5a79f472 444692007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
44470
44471 Migrate to GNU General Public License Version 3.
f19dbdb7 44472
5a79f472 44473 * COPYING: Replaced with the plain text version of GPLv3.
44474
44475 * config.guess: Updated from gnulib.
44476 * config.sub: Likewise.
44477
44478 * geninit.sh: Output a GPLv3 copyright notice.
44479 * geninitheader.sh: Likewise.
44480 * genmodsrc.sh: Likewise.
44481 * gensymlist.sh.in: Likewise.
44482
44483 * boot/i386/pc/boot.S: Upgraded to GPLv3.
44484 * boot/i386/pc/diskboot.S: Likewise.
44485 * boot/i386/pc/pxeboot.S: Likewise.
44486 * commands/blocklist.c: Likewise.
44487 * commands/boot.c: Likewise.
44488 * commands/cat.c: Likewise.
44489 * commands/cmp.c: Likewise.
44490 * commands/configfile.c: Likewise.
44491 * commands/echo.c: Likewise.
44492 * commands/help.c: Likewise.
44493 * commands/ls.c: Likewise.
44494 * commands/search.c: Likewise.
44495 * commands/terminal.c: Likewise.
44496 * commands/test.c: Likewise.
44497 * commands/videotest.c: Likewise.
44498 * commands/i386/cpuid.c: Likewise.
44499 * commands/i386/pc/halt.c: Likewise.
44500 * commands/i386/pc/play.c: Likewise.
44501 * commands/i386/pc/reboot.c: Likewise.
44502 * commands/i386/pc/vbeinfo.c: Likewise.
44503 * commands/i386/pc/vbetest.c: Likewise.
44504 * commands/ieee1275/halt.c: Likewise.
44505 * commands/ieee1275/reboot.c: Likewise.
44506 * commands/ieee1275/suspend.c: Likewise.
44507 * disk/loopback.c: Likewise.
44508 * disk/lvm.c: Likewise.
44509 * disk/raid.c: Likewise.
44510 * disk/efi/efidisk.c: Likewise.
44511 * disk/i386/pc/biosdisk.c: Likewise.
44512 * disk/ieee1275/ofdisk.c: Likewise.
44513 * font/manager.c: Likewise.
44514 * fs/affs.c: Likewise.
44515 * fs/ext2.c: Likewise.
44516 * fs/fat.c: Likewise.
44517 * fs/fshelp.c: Likewise.
44518 * fs/hfs.c: Likewise.
44519 * fs/hfsplus.c: Likewise.
44520 * fs/iso9660.c: Likewise.
44521 * fs/jfs.c: Likewise.
44522 * fs/minix.c: Likewise.
44523 * fs/sfs.c: Likewise.
44524 * fs/ufs.c: Likewise.
44525 * fs/xfs.c: Likewise.
44526 * hello/hello.c: Likewise.
44527 * include/grub/acorn_filecore.h: Likewise.
44528 * include/grub/arg.h: Likewise.
44529 * include/grub/bitmap.h: Likewise.
44530 * include/grub/boot.h: Likewise.
44531 * include/grub/cache.h: Likewise.
44532 * include/grub/device.h: Likewise.
44533 * include/grub/disk.h: Likewise.
44534 * include/grub/dl.h: Likewise.
44535 * include/grub/elfload.h: Likewise.
44536 * include/grub/env.h: Likewise.
44537 * include/grub/err.h: Likewise.
44538 * include/grub/file.h: Likewise.
44539 * include/grub/font.h: Likewise.
44540 * include/grub/fs.h: Likewise.
44541 * include/grub/fshelp.h: Likewise.
44542 * include/grub/gzio.h: Likewise.
44543 * include/grub/hfs.h: Likewise.
44544 * include/grub/kernel.h: Likewise.
44545 * include/grub/loader.h: Likewise.
44546 * include/grub/lvm.h: Likewise.
44547 * include/grub/misc.h: Likewise.
44548 * include/grub/mm.h: Likewise.
44549 * include/grub/net.h: Likewise.
44550 * include/grub/normal.h: Likewise.
44551 * include/grub/parser.h: Likewise.
44552 * include/grub/partition.h: Likewise.
44553 * include/grub/pc_partition.h: Likewise.
44554 * include/grub/raid.h: Likewise.
44555 * include/grub/rescue.h: Likewise.
44556 * include/grub/script.h: Likewise.
44557 * include/grub/setjmp.h: Likewise.
44558 * include/grub/symbol.h: Likewise.
44559 * include/grub/term.h: Likewise.
44560 * include/grub/terminfo.h: Likewise.
44561 * include/grub/tparm.h: Likewise.
44562 * include/grub/types.h: Likewise.
44563 * include/grub/video.h: Likewise.
44564 * include/grub/efi/api.h: Likewise.
44565 * include/grub/efi/chainloader.h: Likewise.
44566 * include/grub/efi/console.h: Likewise.
44567 * include/grub/efi/console_control.h: Likewise.
44568 * include/grub/efi/disk.h: Likewise.
44569 * include/grub/efi/efi.h: Likewise.
44570 * include/grub/efi/pe32.h: Likewise.
44571 * include/grub/efi/time.h: Likewise.
44572 * include/grub/i386/linux.h: Likewise.
44573 * include/grub/i386/setjmp.h: Likewise.
44574 * include/grub/i386/types.h: Likewise.
44575 * include/grub/i386/efi/kernel.h: Likewise.
44576 * include/grub/i386/efi/loader.h: Likewise.
44577 * include/grub/i386/efi/time.h: Likewise.
44578 * include/grub/i386/pc/biosdisk.h: Likewise.
44579 * include/grub/i386/pc/boot.h: Likewise.
44580 * include/grub/i386/pc/chainloader.h: Likewise.
44581 * include/grub/i386/pc/console.h: Likewise.
44582 * include/grub/i386/pc/init.h: Likewise.
44583 * include/grub/i386/pc/kernel.h: Likewise.
44584 * include/grub/i386/pc/loader.h: Likewise.
44585 * include/grub/i386/pc/memory.h: Likewise.
44586 * include/grub/i386/pc/multiboot.h: Likewise.
44587 * include/grub/i386/pc/serial.h: Likewise.
44588 * include/grub/i386/pc/time.h: Likewise.
44589 * include/grub/i386/pc/vbe.h: Likewise.
44590 * include/grub/i386/pc/vbeblit.h: Likewise.
44591 * include/grub/i386/pc/vbefill.h: Likewise.
44592 * include/grub/i386/pc/vbeutil.h: Likewise.
44593 * include/grub/i386/pc/vga.h: Likewise.
44594 * include/grub/ieee1275/ieee1275.h: Likewise.
44595 * include/grub/ieee1275/ofdisk.h: Likewise.
44596 * include/grub/powerpc/libgcc.h: Likewise.
44597 * include/grub/powerpc/setjmp.h: Likewise.
44598 * include/grub/powerpc/types.h: Likewise.
44599 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
44600 * include/grub/powerpc/ieee1275/console.h: Likewise.
44601 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
44602 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
44603 * include/grub/powerpc/ieee1275/loader.h: Likewise.
44604 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
44605 * include/grub/powerpc/ieee1275/time.h: Likewise.
44606 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
44607 * include/grub/sparc64/libgcc.h: Likewise.
44608 * include/grub/sparc64/setjmp.h: Likewise.
44609 * include/grub/sparc64/types.h: Likewise.
44610 * include/grub/sparc64/ieee1275/console.h: Likewise.
44611 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
44612 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
44613 * include/grub/sparc64/ieee1275/time.h: Likewise.
44614 * include/grub/util/biosdisk.h: Likewise.
44615 * include/grub/util/getroot.h: Likewise.
44616 * include/grub/util/lvm.h: Likewise.
44617 * include/grub/util/misc.h: Likewise.
44618 * include/grub/util/raid.h: Likewise.
44619 * include/grub/util/resolve.h: Likewise.
44620 * io/gzio.c: Likewise.
44621 * kern/device.c: Likewise.
44622 * kern/disk.c: Likewise.
44623 * kern/dl.c: Likewise.
44624 * kern/elf.c: Likewise.
44625 * kern/env.c: Likewise.
44626 * kern/err.c: Likewise.
44627 * kern/file.c: Likewise.
44628 * kern/fs.c: Likewise.
44629 * kern/loader.c: Likewise.
44630 * kern/main.c: Likewise.
44631 * kern/misc.c: Likewise.
44632 * kern/mm.c: Likewise.
44633 * kern/parser.c: Likewise.
44634 * kern/partition.c: Likewise.
44635 * kern/rescue.c: Likewise.
44636 * kern/term.c: Likewise.
44637 * kern/efi/efi.c: Likewise.
44638 * kern/efi/init.c: Likewise.
44639 * kern/efi/mm.c: Likewise.
44640 * kern/i386/dl.c: Likewise.
44641 * kern/i386/efi/init.c: Likewise.
44642 * kern/i386/efi/startup.S: Likewise.
44643 * kern/i386/pc/init.c: Likewise.
44644 * kern/i386/pc/lzo1x.S: Likewise.
44645 * kern/i386/pc/startup.S: Likewise.
44646 * kern/ieee1275/ieee1275.c: Likewise.
44647 * kern/powerpc/cache.S: Likewise.
44648 * kern/powerpc/dl.c: Likewise.
44649 * kern/powerpc/ieee1275/cmain.c: Likewise.
44650 * kern/powerpc/ieee1275/crt0.S: Likewise.
44651 * kern/powerpc/ieee1275/init.c: Likewise.
44652 * kern/powerpc/ieee1275/openfw.c: Likewise.
44653 * kern/sparc64/cache.S: Likewise.
44654 * kern/sparc64/dl.c: Likewise.
44655 * kern/sparc64/ieee1275/init.c: Likewise.
44656 * kern/sparc64/ieee1275/openfw.c: Likewise.
44657 * loader/efi/chainloader.c: Likewise.
44658 * loader/efi/chainloader_normal.c: Likewise.
44659 * loader/i386/efi/linux.c: Likewise.
44660 * loader/i386/efi/linux_normal.c: Likewise.
44661 * loader/i386/pc/chainloader.c: Likewise.
44662 * loader/i386/pc/chainloader_normal.c: Likewise.
44663 * loader/i386/pc/linux.c: Likewise.
44664 * loader/i386/pc/linux_normal.c: Likewise.
44665 * loader/i386/pc/multiboot.c: Likewise.
44666 * loader/i386/pc/multiboot_normal.c: Likewise.
44667 * loader/powerpc/ieee1275/linux.c: Likewise.
44668 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
44669 * normal/arg.c: Likewise.
44670 * normal/cmdline.c: Likewise.
44671 * normal/command.c: Likewise.
44672 * normal/completion.c: Likewise.
44673 * normal/execute.c: Likewise.
44674 * normal/function.c: Likewise.
44675 * normal/lexer.c: Likewise.
44676 * normal/main.c: Likewise.
44677 * normal/menu.c: Likewise.
44678 * normal/menu_entry.c: Likewise.
44679 * normal/misc.c: Likewise.
44680 * normal/parser.y: Likewise.
44681 * normal/script.c: Likewise.
44682 * normal/i386/setjmp.S: Likewise.
44683 * normal/powerpc/setjmp.S: Likewise.
44684 * normal/sparc64/setjmp.S: Likewise.
44685 * partmap/acorn.c: Likewise.
44686 * partmap/amiga.c: Likewise.
44687 * partmap/apple.c: Likewise.
44688 * partmap/gpt.c: Likewise.
44689 * partmap/pc.c: Likewise.
44690 * partmap/sun.c: Likewise.
44691 * term/gfxterm.c: Likewise.
44692 * term/terminfo.c: Likewise.
44693 * term/efi/console.c: Likewise.
44694 * term/i386/pc/console.c: Likewise.
44695 * term/i386/pc/serial.c: Likewise.
44696 * term/i386/pc/vesafb.c: Likewise.
44697 * term/i386/pc/vga.c: Likewise.
44698 * term/ieee1275/ofconsole.c: Likewise.
44699 * util/biosdisk.c: Likewise.
44700 * util/console.c: Likewise.
44701 * util/genmoddep.c: Likewise.
44702 * util/getroot.c: Likewise.
44703 * util/grub-emu.c: Likewise.
44704 * util/grub-mkdevicemap.c: Likewise.
44705 * util/grub-probe.c: Likewise.
44706 * util/lvm.c: Likewise.
44707 * util/misc.c: Likewise.
44708 * util/raid.c: Likewise.
44709 * util/resolve.c: Likewise.
44710 * util/update-grub.in: Likewise.
44711 * util/update-grub_lib.in: Likewise.
44712 * util/grub.d/00_header.in: Likewise.
44713 * util/grub.d/10_hurd.in: Likewise.
44714 * util/grub.d/10_linux.in: Likewise.
44715 * util/i386/efi/grub-install.in: Likewise.
44716 * util/i386/efi/grub-mkimage.c: Likewise.
44717 * util/i386/pc/grub-install.in: Likewise.
44718 * util/i386/pc/grub-mkimage.c: Likewise.
44719 * util/i386/pc/grub-mkrescue.in: Likewise.
44720 * util/i386/pc/grub-setup.c: Likewise.
44721 * util/i386/pc/misc.c: Likewise.
44722 * util/powerpc/ieee1275/grub-install.in: Likewise.
44723 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
44724 * util/powerpc/ieee1275/misc.c: Likewise.
44725 * video/bitmap.c: Likewise.
44726 * video/video.c: Likewise.
44727 * video/i386/pc/vbe.c: Likewise.
44728 * video/i386/pc/vbeblit.c: Likewise.
44729 * video/i386/pc/vbefill.c: Likewise.
44730 * video/i386/pc/vbeutil.c: Likewise.
44731 * video/readers/tga.c: Likewise.
44732
3572d015 447332007-07-02 Robert Millan <rmh@aybabtu.com>
44734
44735 * conf/i386-efi.rmk: Replace obsolete reference to
44736 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
44737 with util/getroot.c.
44738 * conf/powerpc-ieee1275.rmk: Likewise.
44739 * conf/sparc64-ieee1275.rmk: Likewise.
44740
44741 * util/grub-emu.c (main): Fix unchecked pointer handling.
44742
2c2a681b 447432007-07-02 Robert Millan <rmh@aybabtu.com>
44744
44745 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
44746 invocation to fail, in order to support partition-less media.
44747
44748 * util/i386/pc/grub-install.in: Likewise.
44749
44750 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
44751 which fs or partmap modules are needed (akin to its sister scripts).
44752
44753 Also use grub-probe to get rid of unportable /proc/mounts check.
44754
44755 Print the same informational message that the other scripts do, before
fe6b695a 44756 exiting.
2c2a681b 44757
6193defe 447582007-06-23 Robert Millan <rmh@aybabtu.com>
44759
fe6b695a 44760 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 44761 a font file can be found and, if so, echo the GRUB path to it.
44762
44763 * util/update-grub.in: Handle multiple terminals depending on user
44764 input, platform availability and font file presence. Propagate
44765 variables of our findings to /etc/grub.d/ children.
44766
44767 * util/grub.d/00_header.in: Handle multiple terminals, based on
44768 environment setup by update-grub.
44769
eface1dc 447702007-06-23 Robert Millan <rmh@aybabtu.com>
44771
ba50d28f 44772 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 44773
bf697e28 447742007-06-21 Robert Millan <rmh@aybabtu.com>
44775
44776 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
44777 indicate end of data section in kernel image.
44778 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
44779 GRUB_KERNEL_MACHINE_DATA_END.
44780
44781 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
44782 space for it.
44783 * kern/i386/efi/startup.S: Likewise.
44784
44785 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
44786 during image generation. Implement --prefix option to override this
44787 patch.
44788 * util/i386/efi/grub-mkimage.c: Likewise.
44789
44790 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
44791 code to make path relative to its root into a separate function.
44792
44793 * util/i386/pc/grub-install.in: Use newly provided
44794 make_system_path_relative_to_its_root() to convert ${grubdir}, then
44795 pass the result to grub-install --prefix.
44796
baa574b4 447972007-06-13 Robert Millan <rmh@aybabtu.com>
44798
44799 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
44800 DEFAULT_DEVICE_MAP.
44801 * util/grub-emu.c: Use above definitions from misc.h instead of
44802 defining them.
44803 * util/grub-mkdevicemap.c: Likewise.
44804 * util/i386/pc/grub-setup.c: Likewise.
44805 * util/grub-probe.c: Likewise.
44806 (probe): Abort with grub_util_error() when either
44807 grub_guess_root_device or grub_util_get_grub_dev fails.
44808
0215dcbf 448092007-06-12 Robert Millan <rmh@aybabtu.com>
44810
44811 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
44812 "pager" assignment.
44813 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
44814 "pcdata".
44815 * util/grub-probe.c (probe): Likewise for "drive_name".
44816
8af2ab7b 448172007-06-11 Robert Millan <rmh@aybabtu.com>
44818
44819 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
44820 not just the cdrom one.
44821
59d31694 448222007-06-11 Robert Millan <rmh@aybabtu.com>
44823
44824 * util/i386/pc/grub-mkrescue.in: Add "set -e".
44825 Add --pkglibdir=DIR option to override pkglibdir.
44826 Mention --image-type=TYPE in help output.
44827 Fix --grub-mkimage (it was a no-op).
fe6b695a 44828 Abort gracefully when no parameter is given.
59d31694 44829
7ee367e4 448302007-06-11 Robert Millan <rmh@aybabtu.com>
44831
44832 * util/i386/pc/grub-mkrescue.in: New file.
44833 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
44834 * Makefile.in: Handle bin_SCRIPTS.
44835
29b0ed46 448362007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
44837
44838 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
44839 list of video modes.
44840
c0f90770 448412007-06-06 Robert Millan <rmh@aybabtu.com>
44842
44843 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
44844 file doesn't exist, or if it is in a filesystem grub can't read.
44845
44846 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
44847 not abort if GRUB_DRIVE could not be defined. Rearrange generated
44848 header comment to fit in 80 columns when the variables are resolved.
44849
44850 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
44851 could be identified by update-grub. Remove redundant check for
fe6b695a 44852 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 44853 handles that).
44854
fb36dc26 448552007-06-04 Robert Millan <rmh@aybabtu.com>
44856
44857 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
44858
44859 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
44860
44861 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
44862
0c68c93e 448632007-06-04 Robert Millan <rmh@aybabtu.com>
44864
44865 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
44866
44867 * include/grub/partition.h: Declare grub_apple_partition_map_init and
44868 grub_apple_partition_map_fini.
44869
44870 * util/biosdisk.c
44871 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
44872 to access >2 TiB disks).
44873
44874 Print disk->total_sectors with %llu instead of %lu, since this
44875 variable is always 64-bit (prevents wrong disk size from being displayed
44876 on either >2 TiB disk or big-endian CPU).
44877
44878 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
44879 into a generic case that supports all (sane) partition maps.
44880
44881 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
44882 breaks big-endian.
44883
44884 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
44885 and grub_apple_partition_map_fini() after that.
44886
0f23eb74 448872007-06-01 Robert Millan <rmh@aybabtu.com>
44888
44889 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
44890
44891 * util/grub.d/00_header.in: Only enable gfxterm when
44892 convert_system_path_to_grub_path() succeeds.
44893
42c71976 448942007-05-20 Robert Millan <rmh@aybabtu.com>
44895
44896 * util/update-grub_lib.in: New file.
44897 * DISTLIST: Add update-grub_lib.in.
44898 * conf/common.rmk: Generate update-grub_lib and install it in
44899 $(lib_DATA).
44900 * Makefile.in: Add install routine for $(lib_DATA).
44901
44902 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
44903 function provided by update-grub_lib to support arbitrary paths of
44904 unifont.pff.
44905 * util/update-grub.in: Use convert_system_path_to_grub_path() to
44906 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
44907
5beb2291 449082007-05-19 Robert Millan <rmh@aybabtu.com>
44909
44910 * commands/i386/cpuid.c: New module.
44911 * DISTLIST: Add it.
44912 * conf/i386-efi.rmk: Enable cpuid.mod.
44913 * conf/i386-pc.rmk: Likewise.
44914
7262eca1 449152007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
44916
44917 * kern/disk.c (grub_disk_read): Check return value of
44918 grub_realloc().
44919
260ba823 449202007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
44921
44922 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
44923 arrays.
44924 * disk/raid.c (grub_raid_open): Likewise.
44925
1ecb6cf2 449262007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
44927
44928 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
44929 stack instead of on the heap.
44930
44931 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
44932 before doing a read on it.
44933
44934 * configure.ac: Only use -fno-stack-protector for the target
44935 environment.
f19dbdb7 44936
21c8cbb1 449372007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
44938
44939 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
44940 __attribute_ ((unused)) to mode_type argument.
44941
44942 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 44943
21c8cbb1 44944 * kern/misc.c (memcmp): Fix prototype.
44945
44946 * include/grub/partition.h [GRUB_UTIL]
44947 (grub_gpt_partition_map_init): Add prototype.
44948 (grub_gpt_partition_map_fini): Likewise.
44949
44950 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
44951 at the right place.
44952
44953 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
44954 (grub_fat_read_data): Likewise.
44955 (grub_fat_find_dir): Likewise.
44956
44957 * font/manager.c (find_glyph): Make table a const.
44958 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 44959
849d55d3 449602007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
44961
44962 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
44963 code, first search for device in /dev/mapper, then in /dev.
44964 (grub_util_get_grub_dev): New function.
44965 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
44966 prototype.
44967 * util/grub-probe.c (probe): Remove check for RAID, call
44968 grub_util_get_grub_dev() instead of
44969 grub_util_biosdisk_get_grub_dev().
44970 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
44971 grub_util_biosdisk_get_grub_dev().
44972 * util/i386/pc/grub-setup.c (main): Likewise.
44973
8fff7c2f 449742007-05-16 Robert Millan <rmh@aybabtu.com>
44975
44976 * DISTLIST: Update for the latest changes.
44977 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
44978 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
44979 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
44980 grub/util/biosdisk.h.
44981 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
44982 grub/util/biosdisk.h.
44983
48e12b52 449842007-05-16 Robert Millan <rmh@aybabtu.com>
44985
44986 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
44987
46b9d128 449882007-05-16 Robert Millan <rmh@aybabtu.com>
44989
44990 * util/i386/efi/grub-install.in: New.
44991 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
44992 newly added grub-install.
44993 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
44994 include.
44995 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
44996 grub/util/biosdisk.h.
44997 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
44998 grub/util/biosdisk.h.
44999
2d1a40a9 450002007-05-16 Robert Millan <rmh@aybabtu.com>
45001
45002 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
45003 * include/grub/util/biosdisk.h: ... here.
45004 * util/i386/pc/biosdisk.c: Moved to ...
45005 * util/biosdisk.c: ... here.
45006 * util/i386/pc/getroot.c: Moved to ...
45007 * util/getroot.c: ... here.
45008 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
45009 * util/grub-mkdevicemap.c: ... here.
45010 * util/i386/pc/grub-probe.c: Moved to ...
45011 * util/grub-probe.c: ... here.
45012
9e26e3bc 450132007-05-15 Robert Millan <rmh@aybabtu.com>
45014
45015 * util/update-grub.in: Remove duplicated line in grub.cfg header
45016 message.
45017
57f96397 450182007-05-13 Robert Millan <rmh@aybabtu.com>
45019
45020 * util/update-grub.in: Fix a few assumptions about the devices holding
45021 /, /boot and /boot/grub being the same.
45022 * util/grub.d/00_header.in: Likewise.
45023 * util/grub.d/10_hurd.in: Likewise.
45024 * util/grub.d/10_linux.in: Likewise.
45025
45026 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
45027 patterns. Use that to define the `.old' suffix as older than `'.
45028
45029 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
45030
45031 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
45032 the grub.cfg header message.
45033
2e610d62 450342007-05-11 Robert Millan <rmh@aybabtu.com>
45035
45036 * util/update-grub.in: Create device.map if it doesn't already exist,
45037 before attempting to run grub-probe.
45038 Check for grub-probe and grub-mkdevicemap with the same code
45039 grub-install is using.
45040 Remove test mode.
45041
3f6a10ef 450422007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
45043
45044 * Makefile.in: Add the datarootdir autoconf variable.
45045
02e7b75e 450462007-05-09 Robert Millan <rmh@aybabtu.com>
45047
45048 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 45049 fail gracefully if dev->disk->partition == NULL.
02e7b75e 45050
75f396cc 450512007-05-07 Robert Millan <rmh@aybabtu.com>
45052
45053 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
45054 determine partition map module.
45055 * util/i386/pc/grub-install.in: Use this feature to decide which
45056 partition module to load, instead of hardcoding pc and gpt.
45057
da65cb36 450582007-05-07 Robert Millan <rmh@aybabtu.com>
45059
45060 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
45061 source directory differs from build directory.
45062
b57d6a91 450632007-05-05 Robert Millan <rmh@aybabtu.com>
45064
45065 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
45066 initialisation.
45067
509d00f1 450682007-05-05 Robert Millan <rmh@aybabtu.com>
45069
45070 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
45071
c48f23ef 450722007-05-05 Robert Millan <rmh@aybabtu.com>
45073
45074 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
45075 command-line arguments via ${GRUB_CMDLINE_LINUX}.
45076
20b97658 450772007-05-05 Robert Millan <rmh@aybabtu.com>
45078
45079 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
45080 (grub_probe_SOURCES): Likewise.
45081 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
45082 GPT and initialize dos_part and bsd_part accordingly.
45083 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
45084 install_bsd_part.
45085 (main): Activate gpt module for use during partition identification,
45086 and deactivate it afterwards.
45087 * util/i386/pc/grub-install.in: Add gpt module to core.img.
45088 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
45089 partition identification, and deactivate it afterwards.
45090
99123174 450912007-05-05 Robert Millan <rmh@aybabtu.com>
45092
45093 * term/i386/pc/console.c (grub_console_fini): Call
45094 grub_term_set_current() before grub_term_unregister().
45095
ebd97f6e 450962007-05-04 Robert Millan <rmh@aybabtu.com>
45097
45098 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
45099 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
45100 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
45101 and update-grub_DATA.
45102 * conf/common.rmk: Build and install update-grub components.
45103 * conf/common.mk: Regenerate.
45104 * util/update-grub.in: New. Core of update-grub.
45105 * util/grub.d/00_header.in: New. Generates grub.cfg header.
45106 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
45107 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
45108 * util/grub.d/README: New. Document grub.d directory layout.
45109
b06a264d 451102007-05-01 Robert Millan <rmh@aybabtu.com>
45111
45112 * util/grub-emu.c: Move initialization functions
45113 grub_util_biosdisk_init() and grub_init_all() before
45114 grub_util_biosdisk_get_grub_dev(), which relies on them.
45115
41f0050e 451162007-04-19 Robert Millan <rmh@aybabtu.com>
45117
45118 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
45119 it is used later.
45120
04582bb3 451212007-04-18 Jerone Young <jerone@gmail.com>
45122
f19dbdb7 45123 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 45124 stanza.
45125
08db4632 451262007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 45127
08db4632 45128 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
45129 continue on and look for device node with real device name.
45130
801b76be 451312007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 45132
fe6b695a 45133 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 45134 ability.
45135 * Makefile.in: Add autoconf package transformation code.
45136 * util/i386/pc/grub-install.in: Likewise.
45137 * util/powerpc/ieee1275/grub-install.in: Likewise.
45138
6795c4e1 451392007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
45140
45141 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
45142 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
45143 (EXT2_REVISION): Likewise.
45144 (EXT2_INODE_SIZE): Likewise.
45145 (struct grub_ext2_block_group): Added a missing member
45146 "used_dirs".
45147 (grub_ext2_read_inode): Divide by the inode size in a superblock
45148 instead of 128 to obtain INODES_PER_BLOCK.
45149 Use the macro EXT2_INODE_SIZE instead of directly using
45150 SBLOCK->INODE_SIZE.
45151
d70af616 451522007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
45153
45154 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
45155 superblock instead of the structure size to compute an
45156 offset. This fixes the problem that GRUB could not read a
45157 filesystem when inode size is different from 128-byte.
45158
3b801603 451592007-03-05 Marco Gerards <marco@gnu.org>
45160
45161 * normal/main.c (read_config_file): When "menu" is not set, create
45162 an initial context.
45163
4785bfe4 451642007-02-21 Hollis Blanchard <hollis@penguinppc.org>
45165
45166 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
45167 (HEAP_LIMIT): New macro.
45168 (grub_claim_heap): Claim memory up to `heaplimit'.
45169
a0cbb023 451702007-02-21 Hollis Blanchard <hollis@penguinppc.org>
45171
45172 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
45173 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
45174 (_start): Likewise.
45175 (grub_arch_modules_addr): Return address after `_end'.
45176 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
45177 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
45178 (add_segments): Calculate `_end' from phdr size and location.
45179 (ALIGN_UP): Moved to ...
45180 * include/grub/misc.h: here.
45181 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
45182 New macro.
45183 (GRUB_IEEE1275_MODULE_BASE): Removed.
45184
fd7d8eba 451852007-02-20 Hollis Blanchard <hollis@penguinppc.org>
45186
45187 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
45188 loop boundary.
45189
9b09e6fc 451902007-02-20 Hollis Blanchard <hollis@penguinppc.org>
45191
45192 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
45193 All users updated.
45194 (grub_elf64_load_hook_t): Likewise.
45195 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
45196 debug output.
45197
3ce27299 451982007-02-20 Hollis Blanchard <hollis@penguinppc.org>
45199
45200 * kern/mm.c: Update copyright.
45201 (grub_mm_debug): Correct syntax error.
45202 (grub_mm_dump_free): New function.
45203 (grub_debug_free): Call `grub_free'.
45204 * include/grub/mm.h: Update copyright.
45205 (grub_mm_dump_free): Add declaration.
45206
077d5fee 452072007-02-12 Hollis Blanchard <hollis@penguinppc.org>
45208
45209 * include/grub/ieee1275/ieee1275.h: Update copyright.
45210 * kern/powerpc/ieee1275/init.c: Likewise.
45211 * kern/powerpc/ieee1275/openfw.c: Likewise.
45212
45213 * loader/powerpc/ieee1275/linux.c: Likewise.
45214 * include/grub/elfload.h: Likewise.
45215 * kern/elf.c: Likewise.
45216 (grub_elf32_load): Pass `base' and `size' parameters. Update all
45217 callers.
45218 (grub_elf64_load): Likewise.
45219 (grub_elf32_load_segment): Move to a nested function.
45220 (grub_elf64_load_segment): Likewise.
45221
dc946850 452222007-02-12 Hollis Blanchard <hollis@penguinppc.org>
45223
45224 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
45225 prototype.
45226 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
45227 (grub_heap_len): Likewise.
45228 (HEAP_SIZE): New macro.
45229 (grub_claim_heap): New function.
45230 (grub_machine_init): Don't claim heap directly. Call
45231 `grub_claim_heap'.
45232 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
45233 (grub_available_iterate): New function.
45234
baa2a121 452352007-02-03 Thomas Schwinge <tschwinge@gnu.org>
45236
45237 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
45238 * configure.ac: Use it for testing the HOST and TARGET compilers.
45239
4fe9862e 452402006-12-13 Thomas Schwinge <tschwinge@gnu.org>
45241
45242 * Makefile.in (enable_grub_emu): New variable.
45243 * configure.ac (--enable-grub-emu): New option.
45244 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
45245 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
45246 * conf/i386-pc.rmk: Likewise.
45247 * conf/powerpc-ieee1275.rmk: Likewise.
45248 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
45249
a8aa5762 452502006-12-12 Marco Gerards <marco@gnu.org>
45251
45252 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
45253
45254 * kern/env.c (grub_env_unset): Don't free the member `value' when
45255 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
45256 pointer.
45257
45258 * normal/main.c (current_menu): Removed.
45259 (free_menu): Unset the `menu' environment variable.
45260 (grub_normal_menu_addentry): Make use of the environment variable
45261 `menu', instead of using the global `current_menu'. Allocate
45262 memory for the sourcecode of this entry.
45263 (read_config_file): New argument `nested', changed all callers.
45264 Only in the case of a new context, initialize a new menu. Set the
45265 `menu' environment variable.
45266 (grub_normal_execute): Don't set and unset the environment
45267 variable `menu' here anymore. Only free the menu when leaving the
45268 context.
45269
45270 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
45271 leak.
45272
957b3a3e 452732006-12-11 Marco Gerards <marco@gnu.org>
45274
45275 * normal/menu_entry.c (run): Fix off by one bug so the last line
45276 is executed. Move the loader check to outside the loop.
45277
ef875714 452782006-12-08 Hollis Blanchard <hollis@penguinppc.org>
45279
45280 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
45281
4e739985 452822006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
45283
45284 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
45285 the number of sectors. Reported by Andrey Shuvikov
45286 <mr_hyro@yahoo.com>.
f19dbdb7 45287
790707f2 452882006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
45289
45290 * kern/disk.c (grub_disk_read): When there is a read error, always
45291 try to read only the necessary data.
f19dbdb7 45292
790707f2 45293 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
45294 disk/raid.c.
45295 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
45296 prototype.
45297 [GRUB_UTIL] (grub_raid_fini): Likewise.
45298 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 45299 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 45300 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
45301 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
45302 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
45303 and grub_raid_fini().
f19dbdb7 45304
03e58196 453052006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
45306
45307 * include/grub/types.h (__unused): Rename to UNUSED.
45308 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
45309 (grub_elf64_size): Likewise.
f19dbdb7 45310
ae4f23bf 453112006-11-03 Hollis Blanchard <hollis@penguinppc.org>
45312
45313 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
45314 grub_error_push and grub_error_pop in the error-handling path.
45315 (grub_elf32_load_segment): Only call grub_file_read with non-zero
45316 length.
45317
2166cc83 453182006-11-03 Hollis Blanchard <hollis@penguinppc.org>
45319
45320 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
45321 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
45322 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45323 (kernel_elf_SOURCES): Likewise.
45324 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
45325 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
45326 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
45327 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
45328 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
45329 (elf_mod_SOURCES): New variable.
45330 (elf_mod_CFLAGS): Likewise.
45331 (elf_mod_LDFLAGS): Likewise.
45332 * include/grub/types.h (__unused): New macro.
45333 * include/grub/elfload.h: New file.
45334 * kern/elf.c: Likewise.
45335 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
45336 (ELF32_LOADMASK): New macro.
45337 (ELF64_LOADMASK): Likewise.
45338 (vmlinux): Removed.
45339 (grub_linux_load32): New function.
45340 (grub_linux_load64): Likewise.
45341 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
45342 Use grub_elf_t instead of grub_file_t.
45343
a09d5aa5 453442006-11-02 Hollis Blanchard <hollis@penguinppc.org>
45345
45346 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
45347 `catch_result' to struct set_color_args.
45348
d976fc51 453492006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
45350
45351 * normal/menu.c: Include grub/script.h.
45352 * normal/menu_entry.c: Likewise.
45353 * include/grub/normal.h: Do not include grub/script.h.
45354
67507549 453552006-10-27 Hollis Blanchard <hollis@penguinppc.org>
45356
45357 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
45358
69203a99 453592006-10-27 Hollis Blanchard <hollis@penguinppc.org>
45360
45361 * kern/disk.c (grub_disk_open): Print debug messages when opening a
45362 disk.
45363 (grub_disk_close): Print debug messages when closing a disk.
45364 (grub_disk_read): Print debug messages when disk read fails.
45365 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
45366 filesystem type.
45367 * kern/partition.c: Include misc.h.
45368 (grub_partition_iterate): Print debug messages when detecting
45369 partition type.
45370
e2b8278c 453712006-10-27 Hollis Blanchard <hollis@penguinppc.org>
45372
45373 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
45374 is negative.
45375 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
45376
97b2f2ff 453772006-10-26 Hollis Blanchard <hollis@penguinppc.org>
45378
45379 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
45380 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
45381
6555d655 453822006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
45383
45384 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
45385 instead of sizeof(lv). Patch by Michael Guntsche.
45386
4d42b77f 453872006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
45388
45389 * disk/lvm.c: Rename VGS to VG_LIST.
45390 (grub_lvm_iterate): Change VGS->LV to VG-LV.
45391 (grub_lvm_open): Likewise.
45392 Thanks to Michael Guntsche for finding this bug.
45393
5d74d927 453942006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
45395
45396 * configure.ac (AC_INIT): Bumped to 1.95.
45397
a1bb27e4 453982006-10-14 Robert Millan <rmh@aybabtu.com>
45399
45400 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
45401 with "/dev/.static/dev/md".
45402
e0994b8b 454032006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
45404
45405 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
45406 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
45407 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
45408 DRIVE_NAME are always freed.
45409
45410 * util/i386/pc/biosdisk.c (make_device_name): Add one into
45411 DOS_PART, as a DOS partition is counted from one instead of zero
45412 now. Reported by Robert Millan.
45413
ddd5cee9 454142006-10-14 Robert Millan <rmh@aybabtu.com>
45415
45416 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
45417 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
45418 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
45419 string returned by grub_guess_root_device.
45420 * util/i386/pc/grub-setup.c: Likewise.
45421 * util/i386/pc/grub-probefs.c: Likewise.
45422
45423 * util/i386/pc/grub-probefs.c: Rename to ...
45424 * util/i386/pc/grub-probe.c: ... this.
45425 * DISTLIST: Remove grub-probefs, add grub-probe.
45426 * conf/i386-efi.rmk: Likewise.
45427 * conf/i386-pc.rmk: Likewise.
45428 * util/i386/pc/grub-install.in: Likewise.
45429
45430 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
45431 choose which information we want to print.
45432
2b002173 454332006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
45434
45435 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
45436 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
45437 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
45438 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
45439 video/readers/tga.c and video/i386/pc/vbeutil.c.
45440
454412006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
45442
45443 Added support for RAID and LVM.
f19dbdb7 45444
2b002173 45445 * disk/lvm.c: New file.
45446 * disk/raid.c: Likewise.
45447 * include/grub/lvm.h: Likewise.
f19dbdb7 45448 * include/grub/raid.h: Likewise.
2b002173 45449 * include/grub/util/lvm.h: Likewise.
45450 * include/grub/util/raid.h: Likewise.
45451 * util/lvm.c: Likewise.
45452 * util/raid.c: Likewise.
45453
45454 * include/grub/disk.h (grub_disk_dev_id): Add
45455 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
45456 (grub_disk_get_size): New prototype.
45457 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
45458 returns a partition.
45459 (grub_disk_get_size): New function.
f19dbdb7 45460
2b002173 45461 * kern/i386/pc/init.c (make_install_device): Copy the prefix
45462 verbatim if grub_install_dos_part is -2.
45463
45464 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
45465 and LVM devices.
45466
45467 * util/i386/pc/grub-setup.c (setup): New argument
45468 MUST_EMBED. Force embedding of GRUB when the argument is
45469 true. Close FILE before returning.
45470 (main): Add support for RAID and LVM.
f19dbdb7 45471
2b002173 45472 * conf/common.rmk: Add RAID and LVM modules.
45473 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
45474 util/lvm.c.
45475 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
45476
45477 * kern/misc.c (grub_strstr): New function.
45478 * include/grub/misc.h (grub_strstr): New prototype.
45479
050548d0 454802006-10-10 Tristan Gingold <tristan.gingold@bull.net>
45481
45482 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
45483
da849d2d 454842006-10-05 Tristan Gingold <tristan.gingold@bull.net>
45485
45486 * kern/misc.c (grub_strtoull): Guess the base only if not
45487 specified.
45488
97b2f2ff 454892006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 45490
45491 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
45492 PowerMac support.
45493
97b2f2ff 454942006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 45495
45496 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
45497
45498 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
45499 Remove `flags' argument. All callers changed.
45500 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
45501 (IEEE1275_IHANDLE_INVALID): New variable.
45502 (IEEE1275_CELL_INVALID): New variable.
45503 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
45504 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
45505 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
45506 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
45507 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
45508 codes from Open Firmware. All callers updated.
45509 (grub_ieee1275_next_property): Directly return Open Firmware return
45510 code.
45511 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
45512 Standardize error checking from `grub_ieee1275_get_property'.
45513 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
45514 `devalias' to `aliases'. Correct comments. Consolidate error paths.
45515
97b2f2ff 455162006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 45517
45518 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
45519 `instance_to_package_args' to `instance_to_path_args'.
45520
45521 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
45522 `grub_ieee1275_chosen'.
45523
45524 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
45525 `grub_ieee1275_interpret'.
45526
97b2f2ff 455272006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 45528
45529 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
45530
97b2f2ff 455312006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 45532
45533 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
45534 (__cmpdi): Likewise.
45535
45536 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
45537 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
45538 `grub_ssize_t'.
45539
02bb8acc 45540 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 45541
45542 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
45543 to type `grub_ssize_t'.
45544 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
45545
7f9a8531 455462006-09-22 Marco Gerards <marco@gnu.org>
45547
45548 * normal/script.c (grub_script_create_cmdmenu): Skip leading
45549 newlines.
45550
b5ef1102 455512006-09-22 Marco Gerards <marco@gnu.org>
45552
45553 * commands/echo.c: New file.
45554
45555 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
45556
45557 * conf/common.rmk (echo_mod_SOURCES): New variable.
45558 (echo_mod_CFLAGS): Likewise.
45559 (echo_mod_LDFLAGS): Likewise.
45560
2cff3677 455612006-09-22 Marco Gerards <marco@gnu.org>
45562
45563 * normal/main.c (get_line): Malloc memory instead of using
45564 preallocated memory. Removed the arguments `cmdline' and
45565 `max_len'. Updated all callers.
45566
6ba4688b 455672006-09-22 Marco Gerards <marco@gnu.org>
45568
45569 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
45570 (normal_mod_DEPENDENCIES): Likewise.
45571
45572 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
45573 (normal_mod_DEPENDENCIES): Likewise.
45574
45575 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
45576
e02ac02c 455772006-09-22 Johan Rydberg <jrydberg@gnu.org>
45578
45579 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
45580 programs.
45581 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
45582 (normal_mod_DEPENDENCIES): Likewise.
45583 * conf/i386-pc.mk: Regenerate.
45584 * conf/i386-efi.mk: Likewise
45585 * conf/common.mk: Likewise.
45586 * conf/powerpc-ieee1275.mk: Likewise.
45587 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 45588
8d252e44 455892006-09-22 Robert Millan <rmh@aybabtu.com>
45590
45591 Sync with i386 version.
45592 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
45593 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
45594
209bf7ac 455952006-09-21 Robert Millan <rmh@aybabtu.com>
45596
45597 Import from GRUB Legacy (lib/device.c):
45598 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
45599 (init_device_map) [__linux__]: Add support for I2O devices.
45600
6b146090 456012006-09-14 Marco Gerards <marco@gnu.org>
45602
45603 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
45604 `-melf_i386'.
45605
e38600a8 456062006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 45607
45608 * util/i386/pc/grub-install.in: Skip menu.lst when removing
45609 /boot/grub/*.lst.
78fa1790 45610
2952da5d 45611 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 45612
2952da5d 45613 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
45614 before adding it to device.map.
45615
01b82a64 456162006-08-15 Johan Rydberg <jrydberg@gnu.org>
45617
fe6b695a 45618 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 45619 compiles a file; using the -MD option.
45620 * conf/common.mk: Regenerate.
45621 * conf/i386-pc.mk: Likewise.
45622 * conf/i386-efi.mk: Likewise.
45623 * conf/powerpc-ieee1275.mk: Likewise.
45624 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 45625
1064790d 456262006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
45627
45628 Move the prototypes of grub_setjmp and grub_longjmp to
45629 cpu/setjmp.h, so that each architecture may specify different
45630 attributes.
f19dbdb7 45631
1064790d 45632 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
45633 (grub_longjmp): Likewise.
45634 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
45635 (grub_longjmp): Likewise.
45636 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
45637 (grub_longjmp): Likewise.
45638
45639 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
45640 [!GRUB_UTIL] (grub_longjmp): Removed.
45641
29dda3ed 456422006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
45643
45644 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
45645 "color!" method does not return any value.
45646
ad2a06ed 456472006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
45648
45649 * include/grub/bitmap.h: New file.
45650
45651 * include/grub/i386/pc/vbeutil.h: Likewise.
45652
45653 * video/bitmap.c: Likewise.
45654
45655 * video/readers/tga.c: Likewise.
45656
45657 * video/i386/pc/vbeutil.c: Likewise.
45658
45659 * commands/videotest.c: Code cleanup and updated to reflect to new
45660 video API.
45661
45662 * term/gfxterm.c: Likewise.
45663
45664 * video/video.c: Likewise.
45665
45666 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
45667 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
45668 (bitmap_mod_SOURCES): New entry.
45669 (bitmap_mod_CFLAGS): Likewise.
45670 (bitmap_mod_LDFLAGS): Likewise.
45671 (tga_mod_SOURCES): Likewise.
45672 (tga_mod_CFLAGS): Likewise.
45673 (tga_mod_LDFLAGS): Likewise.
45674
45675 * include/grub/video.h (grub_video_blit_operators): New enum type.
45676 (grub_video_render_target): Changed as forward declaration and moved
45677 actual definition to be video driver specific.
45678 (grub_video_adapter.blit_bitmap): Added blitting operator.
45679 (grub_video_adapter.blit_render_target): Likewise.
45680 (grub_video_blit_bitmap): Likewise.
45681 (grub_video_blit_render_target): Likewise.
45682
45683 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
45684 driver specific render target definition.
45685 (grub_video_vbe_map_rgba): Added driver internal helper.
45686 (grub_video_vbe_unmap_color): Updated to use
45687 grub_video_i386_vbeblit_info.
45688 (grub_video_vbe_get_video_ptr): Likewise.
45689
45690 * include/grub/i386/pc/vbeblit.h
45691 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
45692 grub_video_i386_vbeblit_info.
45693 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
45694 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
45695 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
45696 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
45697 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
45698 (grub_video_i386_vbeblit_index_index): Likewise.
45699 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
45700 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
45701 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
45702 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
45703 operator.
45704 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
45705 operator.
45706
45707 * video/i386/pc/vbeblit.c: Updated to reflect changes on
45708 include/grub/i386/pc/vbeblit.h.
45709
45710 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
45711 Updated to use grub_video_i386_vbeblit_info.
45712 (grub_video_i386_vbefill_R8G8B8): Likewise.
45713 (grub_video_i386_vbefill_index): Likewise.
45714 (grub_video_i386_vbefill): Added generic filler.
45715
45716 * video/i386/pc/vbefill.c: Updated to reflect changes on
45717 include/grub/i386/pc/vbefill.h.
45718
45719 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
45720 grub_video_i386_vbeblit_info.
45721 (grub_video_vbe_unmap_color): Likewise.
45722 (grub_video_vbe_blit_glyph): Likewise.
45723 (grub_video_vbe_scroll): Likewise.
45724 (grub_video_vbe_draw_pixel): Removed function.
45725 (grub_video_vbe_get_pixel): Likewise.
45726 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
45727 updated code to use it.
45728 (common_blitter): Added common blitter for render target and bitmap.
45729 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
45730 (grub_video_vbe_blit_render_target): Likewise.
45731
bc8c036d 457322006-07-30 Johan Rydberg <jrydberg@gnu.org>
45733
45734 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
45735 is in text mode if there is no console control protocol instance
45736 available.
45737
684a8eff 457382006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
45739
45740 * include/grub/video.h: Code cleanup.
45741
45742 * include/grub/i386/pc/vbe.h: Likewise.
45743
45744 * video/i386/pc/vbe.c: Likewise.
45745
45746 * video/i386/pc/vbeblit.c: Likewise.
45747
45748 * video/i386/pc/vbefill.c: Likewise.
45749
45750 * video/video.c: Likewise. Also added more comments.
45751
5915059b 457522006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
45753
45754 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
45755 (struct grub_biosdisk_dap): Likewise.
45756
45757 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
45758 linkage settings for all functions.
45759
90ce5d56 457602006-07-12 Marco Gerards <marco@gnu.org>
45761
45762 * configure.ac (--enable-mm-debug): Fix typo.
45763
45764 * genkernsyms.sh.in: Use proper quoting for `CC'.
45765
43e7f879 457662006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
45767
45768 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
45769 (normal_mod_ASFLAGS): Remove "-m32".
45770
4889bdec 457712006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
45772
45773 * util/misc.c: Include config.h.
45774 [!HAVE_MEMALIGN]: Do not include malloc.h.
45775 (grub_memalign): Use posix_memalign, if present. Then, use
45776 memalign, if present. Otherwise, emit an error.
45777
45778 * util/grub-emu.c: Do not include malloc.h.
45779
45780 * include/grub/util/misc.h: Include unistd.h. This is required for
45781 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
45782 D. Eades III <hde@foobar-qux.org>.
45783
45784 * configure.ac (AC_GNU_SOURCE): Added.
45785 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
45786 type.
45787
fd39d4da 457882006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
45789
45790 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
45791 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
45792
b786f3b5 457932006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
45794
45795 * include/grub/types.h (grub_host_addr_t): Rename to
45796 grub_target_addr_t.
45797 (grub_host_off_t): Rename to grub_target_off_t.
45798 (grub_host_size_t): Rename to grub_target_size_t.
45799 (grub_host_ssize_t): Rename to grub_target_ssize_t.
45800 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
45801
45802 * include/grub/kernel.h (struct grub_module_header): Change type
45803 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
45804 (grub_module_info): Likewise.
f19dbdb7 45805
051988bb 458062006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
45807
45808 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
45809 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
45810 Velazquez <jesus.velazquez@gmail.com>.
45811
deae281b 458122006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
45813
45814 Count partitions from 1 instead of 0 in the string representation
45815 of partitions. Still use 0-based internally.
f19dbdb7 45816
deae281b 45817 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
45818 (sun_partition_map_iterate): Use grub_partition_t instead of
45819 struct grub_partition *. Cast DESC->START_CYLINDER to
45820 grub_uint64_t after converting the endian.
45821 (sun_partition_map_probe): Subtract 1 for PARTNUM.
45822 (sun_partition_map_get_name): Add 1 to P->INDEX.
45823
45824 * partmap/pc.c (grub_partition_parse): Subtract 1 for
45825 PCDATA->DOS_PART.
45826 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
45827
45828 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
45829 zero instead of one.
45830 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
45831 (gpt_partition_map_get_name): Add 1 into P->INDEX.
45832
45833 * partmap/apple.c (apple_partition_map_iterate): Change the type
45834 of POS to unsigned.
45835 (apple_partition_map_probe): Subtract 1 for PARTNUM.
45836 (apple_partition_map_get_name): Add 1 into P->INDEX.
45837
45838 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
45839 of POS to unsigned.
45840 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
45841 calculate the offset of a partition.
45842 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
45843 (amiga_partition_map_get_name): Add 1 into P->INDEX.
45844
45845 * partmap/acorn.c (acorn_partition_map_find): Change the type of
45846 SECTOR to grub_disk_addr_t.
45847 (acorn_partition_map_iterate): Likewise.
45848 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
45849 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
45850 top.
45851 (acorn_partition_map_get_name): Add 1 into P->INDEX.
45852
45853 * kern/i386/pc/init.c (make_install_device): Add 1 into
45854 GRUB_INSTALL_DOS_PART.
45855
45856 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
45857 conditional.
45858
524a1e6a 458592006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
45860
45861 Clean up the code to support 64-bit addressing in disks and
45862 files. This change is not enough for filesystems yet.
f19dbdb7 45863
524a1e6a 45864 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
45865 type of "start" to grub_uint64_t.
45866 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
45867 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
45868 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
45869 convert addresses.
45870
45871 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
45872 to grub_disk_addr_t.
45873
45874 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
45875 string.
45876
45877 * partmap/pc.c (pc_partition_map_iterate): Likewise.
45878
45879 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
45880 to char *.
45881
45882 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
45883
45884 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
45885
45886 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
45887
45888 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
45889 to grub_off_t, to detect an error from grub_file_seek.
45890 (grub_multiboot_load_elf32): Likewise.
45891
45892 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
45893 maximum unsigned long value when an overflow is detected.
45894 (grub_strtoull): New function.
45895 (grub_divmod64): Likewise.
45896 (grub_lltoa): use grub_divmod64.
45897
45898 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
45899 grub_disk_addr_t.
45900 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
45901 the pointer to next character. Use grub_strtoull instead of
45902 grub_strtoul.
45903 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
45904 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
45905 respectively.
45906
fe6b695a 45907 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 45908 return value is signed.
45909 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
45910 test if OFFSET is less than zero, as OFFSET is unsigned now.
45911
45912 * kern/disk.c (struct grub_disk_cache): Change the type of
45913 "sector" to grub_disk_addr_t.
45914 (grub_disk_cache_get_index): Change the type of SECTOR to
45915 grub_disk_addr_t. Calculate the hash with SECTOR casted to
45916 unsigned after shifting.
45917 (grub_disk_cache_invalidate): Change the type of SECTOR to
45918 grub_disk_addr_t.
45919 (grub_disk_cache_unlock): Likewise.
45920 (grub_disk_cache_store): Likewise.
45921 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
45922 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
45923 grub_disk_addr_t and grub_uint64_t, respectively.
45924 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
45925 body, as the value of OFFSET is tweaked by
45926 grub_disk_check_range. Change the types of START_SECTOR, LEN and
45927 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
45928 respectively.
45929 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
45930 body, as the value of OFFSET is tweaked by
45931 grub_disk_check_range. Change the types of LEN and N to
45932 grub_size_t.
45933
45934 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
45935 and "saved_offset" to grub_off_t.
45936 (test_header): Cast BUF to char *.
45937 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
45938 to char *.
45939 (grub_gzio_read): Change the types of OFFSET and SIZE to
45940 grub_off_t and grub_size_t, respectively.
45941
45942 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
45943 Removed.
45944 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
45945 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
45946 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
45947 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
45948 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
45949
45950 * include/grub/types.h (grub_off_t): Unconditionally set to
45951 grub_uint64_t.
45952 (grub_disk_addr_t): Changed to grub_uint64_t.
45953
45954 * include/grub/partition.h (struct grub_partition): Change the
45955 types of "start", "len" and "offset" to grub_disk_addr_t,
45956 grub_uint64_t and grub_disk_addr_t, respectively.
45957 (grub_partition_get_start): Return grub_disk_addr_t.
45958 (grub_partition_get_len): Return grub_uint64_t.
45959
45960 * include/grub/misc.h (grub_strtoull): New prototype.
45961 (grub_divmod64): Likewise.
45962
45963 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
45964 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
45965 grub_off_t, respectively.
45966 All callers and references changed.
45967
45968 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
45969 grub_size_t in "read".
45970 All callers and references changed.
45971
45972 * include/grub/file.h (struct grub_file): Change the types of
45973 "offset" and "size" to grub_off_t and grub_off_t,
45974 respectively. Change the type of SECTOR to grub_disk_addr_t in
45975 "read_hook".
45976 (grub_file_read): Change the type of LEN to grub_size_t.
45977 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
45978 grub_off_t.
45979 (grub_file_size): Return grub_off_t.
45980 (grub_file_tell): Likewise.
45981 All callers and references changed.
45982
45983 * include/grub/disk.h (struct grub_disk_dev): Change the types of
45984 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
45985 "write".
45986 (struct grub_disk): Change the type of "total_sectors" to
45987 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 45988 "read_hook".
524a1e6a 45989 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
45990 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
45991 (grub_disk_write): Likewise.
45992 All callers and references changed.
45993
45994 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
45995 char * for grub_strncmp to silence gcc.
45996 (grub_iso9660_mount): Likewise.
45997 (grub_iso9660_mount): Likewise.
45998 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
45999 return statement.
46000 (grub_iso9660_iterate_dir): Likewise.
46001 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
46002
46003 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
46004 LEN to grub_disk_addr_t and grub_size_t, respectively.
46005
46006 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
46007
46008 * fs/jfs.c (grub_jfs_read_file): Likewise.
46009
46010 * fs/minix.c (grub_jfs_read_file): Likewise.
46011
46012 * fs/sfs.c (grub_jfs_read_file): Likewise.
46013
46014 * fs/ufs.c (grub_jfs_read_file): Likewise.
46015
46016 * fs/xfs.c (grub_jfs_read_file): Likewise.
46017
46018 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
46019 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
46020 respectively.
46021
46022 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
46023 BLKNR to -1 instead of returning GRUB_ERRNO.
46024 (grub_ext2_read_file): Change the types of SECTOR and
46025 LEN to grub_disk_addr_t and grub_size_t, respectively.
46026
46027 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
46028 LEN to grub_disk_addr_t and grub_size_t, respectively.
46029
46030 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
46031 grub_file_read.
46032
46033 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
46034 string. Do not cast SECTOR explicitly.
46035
46036 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
46037 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
46038 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
46039 grub_disk_addr_t and grub_size_t, respectively. If the sector is
46040 over 2TB and LBA mode is not supported, raise an error.
46041 (get_safe_sectors): New function.
46042 (grub_biosdisk_read): Use get_safe_sectors.
46043 (grub_biosdisk_write): Likewise.
46044
46045 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
46046 (grub_efidisk_write): Likewise.
46047
46048 * disk/loopback.c (delete_loopback): Cosmetic changes.
46049 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
46050 correctly.
46051 (grub_loopback_open): Likewise.
46052 (grub_loopback_read): Likewise. Also, change the type of POS to
46053 grub_off_t, and fix the usage of grub_memset.
46054
46055 * commands/i386/pc/play.c: Include grub/machine/time.h.
46056
46057 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
46058 print FILE->SIZE.
46059
46060 * commands/configfile.c: Include grub/env.h.
46061
46062 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
46063 GRUB_ERRNO directly instead. Change the type of POS to
46064 grub_off_t. Follow the coding standard.
46065
46066 * commands/blocklist.c: Include grub/partition.h.
46067 (grub_cmd_blocklist): Return an error if the underlying device is
46068 not a disk. Take the starting sector of a partition into account,
46069 if a partition is used.
46070
46071 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
46072 a length field.
46073 (lba_mode): Support 64-bit addresses.
46074 (chs_mode): Likewise.
46075 (copy_buffer): Adapted to the new offsets of a length field and a
46076 segment field.
46077 (blocklist_default_start): Allocate 64-bit space.
46078
46079 * boot/i386/pc/boot.S (force_lba): Removed.
46080 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 46081 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 46082 space.
46083 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
46084 is useless.
46085 (lba_mode): Refactored to support a 64-bit address. More size
46086 optimization.
46087 (setup_sectors): Likewise.
46088
53af98ad 460892006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
46090
46091 * DISTLIST: Added include/grub/i386/linux.h. Removed
46092 include/grub/i386/pc/linux.h
46093
46094 * configure.ac (AC_INIT): Bumped to 1.94.
46095
46096 * config.guess: Updated from gnulib.
46097 * config.sub: Likewise.
46098 * install-sh: Likewise.
46099 * mkinstalldirs: Likewise.
46100
b4c1940a 461012006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
46102
46103 * conf/common.rmk (grub_modules_init.lst): Depended on
46104 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
46105 MODSRCFILES.
46106
46107 * genmk.rb (PModule::rule): Reverted the previous change.
46108
cfca1cfd 461092006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
46110
46111 * conf/common.rmk (grub_modules_init.lst): Depends on
46112 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
46113 that the target does not exist before producing.
46114 (grub_modules_init.h): Remove the target before generating.
46115 (grub_emu_init.c): Likewise.
46116
46117 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
46118
aa6d7826 461192006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
46120
46121 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
46122 for the target-specific tests. Make sure that we also have the
46123 up-to-date target variables for those tests.
46124
26c607b9 461252006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
46126
46127 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
46128 (PModule::rule): Likewise.
46129
0162321a 461302006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
46131
46132 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
46133 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
46134 target-specific flags should be prefixed.
46135 (PModule::rule): Likewise.
46136
6c826348 461372006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
46138
46139 * configure.ac (CMP): Check if cmp is available explicitly.
46140
b977bf01 461412006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
46142
46143 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
46144 (target_cpu): New variable.
46145 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 46146
b977bf01 46147 * util/i386/pc/grub-install.in (host_cpu): Removed.
46148 (target_cpu): New variable.
46149 (pkglibdir): Use target_cpu instead of host_cpu.
46150
46151 * util/genmoddep.c: Removed.
f19dbdb7 46152
b977bf01 46153 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
46154 instead of GRUB_HOST_SIZEOF_VOID_P.
46155 * kern/dl.c: Likewise.
46156
46157 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
46158 ...
46159 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
46160 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
46161 (GRUB_TARGET_SIZEOF_LONG): ... this.
46162 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
46163 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
46164 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
46165 to ...
46166 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
46167 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
46168 (GRUB_TARGET_SIZEOF_LONG): ... this.
46169 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
46170 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
46171 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
46172 to ...
46173 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
46174 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
46175 (GRUB_TARGET_SIZEOF_LONG): ... this.
46176 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
46177 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
46178
46179 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
46180 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
46181 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
46182 instead of GRUB_HOST_SIZEOF_LONG.
46183 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
46184 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
46185 GRUB_CPU_WORDS_BIGENDIAN.
46186 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
46187 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
46188 grub_host_ssize_t.
46189
46190 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
46191 (genmoddep_SOURCES): Likewise.
46192 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
46193 (genmoddep_SOURCES): Likewise.
46194 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
46195 (genmoddep_SOURCES): Likewise.
46196 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
46197 Likewise.
46198 (genmoddep_SOURCES): Likewise.
46199
46200 * genmoddep.awk: New file.
46201
46202 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
46203 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
46204 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
46205 (PModule::rule): Likewise.
46206 (Program::rule): Likewise.
46207 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
46208 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
46209 respectively.
46210
46211 * configure.ac: Rewritten intensively to use host and target
46212 instead of build and host, respectively.
46213
46214 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
46215 (host_cpu): Removed.
46216 (target_cpu): New variable.
46217 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
46218 (BUILD_CC): Removed.
46219 (BUILD_CFLAGS): Likewise.
46220 (BUILD_CPPFLAGS): Likewise.
46221 (TARGET_CC): New variable.
46222 (TARGET_CFLAGS): Likewise.
46223 (TARGET_CPPFLAGS): Likewise.
46224 (TARGET_LDFLAGS): Likewise.
46225 (AWK): Likewise.
46226 (include): Use target_cpu instead of host_cpu.
46227 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 46228
b977bf01 46229 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
46230
f09771a1 462312006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
46232
46233 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
46234 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
46235 field 'false' to 'exec_on_false'.
46236 (grub_script_create_cmdif): Renamed argument names to reflect above
46237 changes.
46238
46239 * normal/execute.c (grub_script_execute_cmdif): Likewise.
46240
46241 * normal/script.c (grub_script_create_cmdif): Likewise.
46242
118f4fb3 462432006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
46244
46245 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
46246 top.
46247 (grub_hfsplus_btree_recptr): Likewise.
46248 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
46249 FILEBLOCK both to pass a block number and store next block
46250 number.
46251 (grub_hfsplus_read_block): Rewritten heavily to support an extent
46252 overflow file correctly. Specify errors appropriately, because
46253 fshelp expects that GRUB_ERRNO is set when fails. Reuse
46254 grub_hfsplus_btree_recptr to get the pointer to a found key.
46255 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
46256 is found.
46257
46258 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
46259 linux.mod.
46260 (_linux_mod_SOURCES): New variable.
46261 (_linux_mod_CFLAGS): Likewise.
46262 (_linux_mod_LDFLAGS): Likewise.
46263 (linux_mod_SOURCES): Likewise.
46264 (linux_mod_CFLAGS): Likewise.
46265 (linux_mod_LDFLAGS): Likewise.
46266
46267 * DISTLIST: Added loader/i386/efi/linux.c,
46268 loader/i386/efi/linux_normal.c and
46269 include/grub/i386/efi/loader.h.
46270
46271 * loader/i386/efi/linux.c: New file.
46272 * loader/i386/efi/linux_normal.c: Likewise.
46273 * include/grub/i386/efi/loader.h: Likewise.
46274
89a7d726 462752006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
46276
46277 * commands/blocklist.c: New file.
46278
46279 * DISTLIST: Added commands/blocklist.c.
46280
46281 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 46282 color for the background, and a darker color for the foreground.
89a7d726 46283 (grub_console_checkkey): Return READ_KEY.
46284 (grub_console_cls): Set the background to
46285 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
46286
46287 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
46288
46289 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
46290 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
46291
46292 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
46293 prototype.
46294
46295 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
46296 BG. The spec is wrong again.
46297
46298 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
46299 prototype.
46300 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
46301
46302 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
46303 commands/blocklist.c.
46304 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 46305
89a7d726 46306 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
46307 (blocklist_mod_SOURCES): New variable.
46308 (blocklist_mod_CFLAGS): Likewise.
46309 (blocklist_mod_LDFLAGS): Likewise.
46310
75c8f258 463112006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
46312
46313 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
46314 duplication.
46315 (lba_mode): Use %eax more intensively to reduce the code size.
46316
da2eb181 463172006-05-20 Marco Gerards <marco@gnu.org>
46318
46319 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
46320
46321 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
46322 for `menuentry'.
46323 (script): Accept leading newlines.
46324 (newlines): New rule to describe 0 or more newlines.
46325 (commands): Accept `command' with trailing newline. Fixed the
46326 order in which arguments were passed to `grub_script_add_cmd'.
46327 Accept commands separated by newlines.
46328 (function): Changed to accept newlines.
46329 (menuentry) Rewritten.
46330
46331 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
46332 front of the list, instead of to the end.
46333
577b4050 463342006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
46335
46336 * util/i386/pc/grub-install.in (bindir): New variable.
46337 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
46338 Shaver <lbgwjl@gmail.com>.
46339
0d6e1189 463402006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
46341
46342 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
46343 grub/machine/linux.h
46344 * loader/i386/pc/linux.c: Likewise.
46345
46346 * include/grub/i386/pc/linux.h: Moved to ...
46347 * include/grub/i386/linux.h: ... here.
46348
46349 * include/grub/i386/linux.h (struct linux_kernel_params): New
46350 struct.
f19dbdb7 46351
31b86e9f 463522006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
46353
46354 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
46355 checking.
46356 (grub_video_vbe_blit_glyph): Likewise.
46357 (grub_video_vbe_blit_bitmap): Likewise.
46358 (grub_video_vbe_blit_render_target): Likewise.
46359
83b984de 463602006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
46361
46362 * configure.ac (--with-platform): Properly quote the square
46363 brackets.
46364
5f0413bd 463652006-05-08 Marco Gerards <marco@gnu.org>
46366
46367 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
46368 this...
46369 (kernel_elf_HEADERS): ...to this. Updated all users.
46370 (grubof_symlist.c): Renamed from this...
46371 (kernel_elf_symlist.c): ...to this. Updated all users.
46372 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
46373 (grubof_SOURCES): Renamed from this...
46374 (kernel_elf_SOURCES): ...to this.
46375 (grubof_HEADERS): Renamed from this...
46376 (kernel_elf_HEADERS): ...to this.
46377 (grubof_CFLAGS): Renamed from this...
46378 (kernel_elf_CFLAGS): ...to this.
46379 (grubof_ASFLAGS): Renamed from this...
46380 (kernel_elf_ASFLAGS): ...to this.
46381 (grubof_LDFLAGS): Renamed from this...
46382 (kernel_elf_LDFLAGS): ...to this.
46383
46384 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
46385 this...
46386 (kernel_elf_HEADERS): ...to this. Updated all users.
46387 (grubof_symlist.c): Renamed from this...
46388 (kernel_elf_symlist.c): ...to this. Updated all users.
46389 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
46390 (grubof_SOURCES): Renamed from this...
46391 (kernel_elf_SOURCES): ...to this.
46392 (grubof_HEADERS): Renamed from this...
46393 (kernel_elf_HEADERS): ...to this.
46394 (grubof_CFLAGS): Renamed from this...
46395 (kernel_elf_CFLAGS): ...to this.
46396 (grubof_ASFLAGS): Renamed from this...
46397 (kernel_elf_ASFLAGS): ...to this.
46398 (grubof_LDFLAGS): Renamed from this...
46399 (kernel_elf_LDFLAGS): ...to this.
46400
46401 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
46402 `kernel.elf' instead of `grubof'.
46403
05568c2e 464042006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
46405
46406 Add --with-platform to configure. Use pkglibdir instead of
46407 pkgdatadir. This is reported by Roger Leigh.
46408
46409 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
46410 (host_vendor): Likewise.
46411 (host_os): Likewise.
46412 (pkgdatadir): Likewise.
46413 (platform): New variable.
46414 (pkglibdir): Likewise.
46415 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 46416
05568c2e 46417 * util/i386/pc/grub-install.in (datadir): Removed.
46418 (host_vendor): Likewise.
46419 (host_os): Likewise.
46420 (pkgdatadir): Likewise.
46421 (platform): New variable.
46422 (pkglibdir): Likewise.
46423 Use PKGLIBDIR instead of PKGDATADIR.
46424
46425 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
46426 instead of GRUB_DATADIR.
46427 (main): Likewise.
46428 * util/i386/pc/grub-mkimage.c (usage): Likewise.
46429 (main): Likewise.
46430 * util/i386/efi/grub-mkimage.c (usage): Likewise.
46431 (main): Likewise.
46432
46433 * configure.ac (--with-platform): New option.
46434 Use PLATFORM instead of HOST_VENDOR to specify a platform.
46435
46436 * Makefile.in: Include a makefile based on PLATFORM instead of
46437 HOST_VENDOR.
46438 (pkgdatadir): Not appended by the machine type.
46439 (pkglibdir): Appended by the machine type.
46440 (host_vendor): Removed.
46441 (platform): New variable.
46442 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
46443 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
46444 (uninstall): Likewise.
46445
4e93851c 464462006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
46447
46448 Use the environment context in the menu. Remove the commands
46449 "default" and "timeout", and use variables instead.
f19dbdb7 46450
4e93851c 46451 * normal/menu.c: Include grub/env.h.
46452 (print_entry): Cast TITLE to silence gcc.
46453 (get_timeout): New function.
46454 (set_timeout): Likewise.
46455 (get_entry_number): Likewise.
46456 (run_menu): Use a default entry, a fallback entry and a timeout
46457 in the environment variables "default", "fallback" and
46458 "timeout". Also, tweak the default entry if it is not within the
46459 current menu entries.
46460 (grub_menu_run): Use a fallback entry in the environment variable
46461 "fallback".
46462
46463 * normal/main.c (read_config_file): Do not initialize
46464 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
46465 NEWMENU->TIMEOUT.
46466 (grub_normal_execute): Use a data slot to store the menu.
46467
46468 * include/grub/normal.h (struct grub_menu): Removed default_entry,
46469 fallback_entry and timeout.
46470 (struct grub_menu_list): Removed.
46471 (grub_menu_list_t): Likewise.
46472 (struct grub_context): Likewise.
46473 (grub_context_t): Likewise.
46474 (grub_context_get): Likewise.
46475 (grub_context_get_current_menu): Likewise.
46476 (grub_context_push_menu): Likewise.
46477 (grub_context_pop_menu): Likewise.
46478 (grub_default_init): Likewise.
46479 (grub_default_fini): Likewise.
46480 (grub_timeout_init): Likewise.
46481 (grub_timeout_fini): Likewise.
46482
46483 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
46484 and timeout.mod.
46485 (normal_mod_SOURCES): Removed normal/context.c.
46486
46487 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
46488 commands/default.c, commands/timeout.c and normal/context.c.
46489 (normal_mod_SOURCES): Removed normal/context.c.
46490
46491 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
46492 commands/timeout.c and normal/context.c.
46493 (normal_mod_SOURCES): Removed normal/context.c.
46494
46495 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
46496 commands/default.c, commands/timeout.c and normal/context.c.
46497 (normal_mod_SOURCES): Removed normal/context.c.
46498
46499 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
46500 timeout.mod.
46501 (default_mod_SOURCES): Removed.
46502 (default_mod_CFLAGS): Likewise.
46503 (default_mod_LDFLAGS): Likewise.
46504 (timeout_mod_SOURCES): Removed.
46505 (timeout_mod_CFLAGS): Likewise.
46506 (timeout_mod_LDFLAGS): Likewise.
46507
46508 * DISTLIST: Removed commands/default.c, commands/timeout.c and
46509 normal/context.c.
46510
46511 * commands/default.c: Removed.
46512 * commands/timeout.c: Likewise.
46513 * normal/context.c: Likewise.
46514
1eb9cc1d 465152006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
46516
46517 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
46518
385bd9c1 465192006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
46520
46521 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
46522 "next" to "prev" for readability.
46523 (struct grub_env_sorted_var): New struct.
46524 (grub_env_context): Renamed to ...
46525 (initial_context): ... this.
46526 (grub_env_var_context): Renamed to ...
46527 (current_context): ... this.
46528 (grub_env_find): Look only at CURRENT_CONTEXT.
46529 (grub_env_context_open): Rewritten to copy exported variables from
46530 previous context.
46531 (grub_env_context_close): Rewritten according to the new
46532 scheme. Also, add an assertion to prevent the initial context from
46533 removed.
46534 (grub_env_insert): Removed the code for the sorted list.
46535 (grub_env_remove): Likewise.
46536 (grub_env_export): Simply mark the variable with
46537 GRUB_ENV_VAR_GLOBAL.
46538 (grub_env_set): A cosmetic change for naming consistency.
46539 (grub_env_get): Likewise.
46540 (grub_env_unset): Likewise.
46541 (grub_env_iterate): Rewritten to sort variables within this
46542 function.
46543 (grub_register_variable_hook): Fixed for naming consistency. Call
46544 grub_env_find again, only if NAME is not found at the first time.
46545 (mangle_data_slot_name): New function.
46546 (grub_env_set_data_slot): Likewise.
46547 (grub_env_get_data_slot): Likewise.
46548 (grub_env_unset_data_slot): Likewise.
46549
46550 * include/grub/env.h (grub_env_var_type): New enum.
46551 (GRUB_ENV_VAR_LOCAL): New constant.
46552 (GRUB_ENV_VAR_GLOBAL): Likewise.
46553 (GRUB_ENV_VAR_DATA): Likewise.
46554 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
46555 "type".
46556 (grub_env_set): Replace VAR with NAME for consistency.
46557 (grub_register_variable_hook): Likewise.
46558 (grub_env_export): Specify the name of the argument.
46559 (grub_env_set_data_slot): New prototype.
46560 (grub_env_get_data_slot): Likewise.
46561 (grub_env_unset_data_slot): Likewise.
46562
7f362539 465632006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
46564
46565 Extend the loader so that GRUB can accept a loader which comes
46566 back to GRUB when a loaded image exits. Also, this change adds
46567 support for a chainloader on EFI.
f19dbdb7 46568
7f362539 46569 * term/efi/console.c: Include grub/misc.h.
46570 (grub_console_checkkey): Display a scan code on the top for
46571 debugging. This will be removed once the EFI port gets stable.
46572 Correct the scan code mapping.
46573
46574 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
46575 allocate memory from larger regions, in order to reduce the number
46576 of allocated regions. Otherwise, the MacOSX loader panics.
46577 (filter_memory_map): Avoid less than 1MB for compatibility with
46578 other loaders.
46579 (add_memory_regions): Allocate from the tail of a region, if
46580 possible, to avoid allocating a region near to 1MB, for the MacOSX
46581 loader.
46582
46583 * kern/efi/init.c (grub_efi_set_prefix): Specify
46584 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
46585
46586 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
46587 argument IMAGE_HANDLE and specify it to get a loaded image.
46588 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
46589 grub_efi_get_loaded_image.
fe6b695a 46590 (grub_efi_get_filename): Divide the length by the size of
7f362539 46591 grub_efi_char16_t.
46592 (grub_efi_get_device_path): New function.
46593 (grub_efi_print_device_path): Print End Device Path nodes. Divide
46594 the length by the size of grub_efi_char16_t for a file path device
46595 path node.
46596
46597 * kern/loader.c (grub_loader_noreturn): New variable.
46598 (grub_loader_set): Accept a new argument NORETURN. Set
46599 GRUB_LOADER_NORETURN to NORETURN.
46600 All callers changed.
46601 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
46602 grub_machine_fini.
46603
46604 * include/grub/efi/efi.h (grub_efi_get_device_path): New
46605 prototype.
46606 (grub_efi_get_loaded_image): Take an argument to specify an image
46607 handle.
46608
46609 * include/grub/loader.h (grub_loader_set): Added one more argument
46610 NORETURN.
46611
46612 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
46613 instead of grub_efi_open_protocol.
46614 (grub_efidisk_get_device_name): Likewise.
46615 (grub_efidisk_close): Print a newline.
46616 (grub_efidisk_get_device_handle): Fixed to use
46617 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
46618 GRUB_EFI_DEVICE_PATH_TYPE.
46619
46620 * disk/efi/efidisk.c (device_path_guid): Moved to ...
46621 * kern/efi/efi.c (device_path_guid): ... here.
46622
46623 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
46624 chain.mod.
46625 (kernel_mod_HEADERS): Added efi/disk.h.
46626 (_chain_mod_SOURCES): New variable.
46627 (_chain_mod_CFLAGS): Likewise.
46628 (_chain_mod_LDFLAGS): Likewise.
46629 (chain_mod_SOURCES): Likewise.
46630 (chain_mod_CFLAGS): Likewise.
46631 (chain_mod_LDFLAGS): Likewise.
46632
46633 * DISTLIST: Added include/grub/efi/chainloader.h,
46634 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
46635
46636 * include/grub/efi/chainloader.h: New file.
46637 * loader/efi/chainloader.c: Likewise.
46638 * loader/efi/chainloader_normal.c: Likewise.
46639
c0111d6e 466402006-04-30 Marco Gerards <marco@gnu.org>
46641
46642 * commands/configfile.c (grub_cmd_source): New function.
46643 (GRUB_MOD_INIT): Register the commands `source' and `.'.
46644 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
46645
df5341da 466462006-04-30 Marco Gerards <marco@gnu.org>
46647
46648 * normal/execute.c (grub_script_execute_cmd): Change the return
46649 type to `grub_err_t'. Correctly return the error.
46650 (grub_script_execute_cmdline): In case a command line is not a
46651 command or a function, try to interpret it as an assignment.
46652
f85934bd 466532006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
46654
46655 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
46656 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
46657 skip a node whose name is obviously invalid as UTF-16,
46658 i.e. contains a NUL character. Stop the iteration when the last
46659 directory entry is found. Instead of using the return value of
46660 grub_hfsplus_btree_iterate_node, store the value in RET and use
46661 it, because the iterator can be stopped by the last directory
46662 entry.
46663
8f8a2cf8 466642006-04-30 Marco Gerards <marco@gnu.org>
46665
46666 * include/grub/env.h (grub_env_export): New prototype. Reported
46667 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
46668
a27e84ce 466692006-04-30 Marco Gerards <marco@gnu.org>
46670
46671 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
46672 size of the extents in a catalog file record.
46673
eaef0553 466742006-04-29 Marco Gerards <marco@gnu.org>
46675
46676 * commands/configfile.c (grub_cmd_configfile): Execute the
46677 configfile within its own context.
46678
46679 * include/grub/env.h (grub_env_context_open): New prototype.
46680 (grub_env_context_close): Likewise.
46681
46682 * kern/env.c (grub_env): Removed.
46683 (grub_env_sorted): Likewise.
46684 (grub_env_context): New variable.
46685 (grub_env_var_context): Likewise.
46686 (grub_env_find): Search both the active context and the global
46687 context.
46688 (grub_env_context_open): New function.
46689 (grub_env_context_close): Likewise.
46690 (grub_env_insert): Likewise.
46691 (grub_env_remove): Likewise.
46692 (grub_env_export): Likewise.
46693 (grub_env_set): Changed to use helper functions to avoid code
46694 duplication.
46695 (grub_env_iterate): Rewritten so both the current context and the
46696 global context are being used.
46697
46698 * normal/command.c (export_command): New function.
46699 (grub_command_init): Register the `export' function.
46700
7b455f4d 467012006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
46702
46703 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
46704 explicitly to suppress gcc's warnings.
46705 * fs/fat.c (grub_fat_find_dir): Likewise.
46706 (grub_fat_label): Likewise.
46707 * fs/xfs.c (grub_xfs_read_inode): Likewise.
46708 (grub_xfs_mount): Likewise.
46709 (grub_xfs_label): Likewise.
46710 * fs/affs.c (grub_affs_mount): Likewise.
46711 (grub_affs_label): Likewise.
46712 (grub_affs_iterate_dir): Likewise.
46713 * fs/sfs.c (grub_sfs_mount): Likewise.
46714 (grub_sfs_iterate_dir): Likewise.
46715 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
46716 * fs/hfs.c (grub_hfs_mount): Likewise.
46717 (grub_hfs_cmp_catkeys): Likewise.
46718 (grub_hfs_find_dir): Likewise.
46719 (grub_hfs_dir): Likewise.
46720 (grub_hfs_label): Likewise.
46721 * fs/jfs.c (grub_jfs_mount): Likewise.
46722 (grub_jfs_opendir): Likewise.
46723 (grub_jfs_getent): Likewise.
46724 (grub_jfs_lookup_symlink): Likewise.
46725 (grub_jfs_label): Likewise.
46726 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
46727 (grub_hfsplus_iterate_dir): Likewise.
46728 (grub_hfsplus_btree_iterate_node): Made static.
46729
46730 * util/grub-emu.c (prefix): New variable.
46731 (grub_machine_set_prefix): New function.
46732 (main): Do not set the environment variable "prefix" here. Only
46733 set PREFIX, which is used later by grub_machine_set_prefix.
46734
46735 * include/grub/video.h: Do not include grub/symbol.h.
46736 (grub_video_register): Not exported. This symbol is not defined in
46737 the kernel.
46738 (grub_video_unregister): Likewise.
46739 (grub_video_iterate): Likewise.
46740 (grub_video_setup): Likewise.
46741 (grub_video_restore): Likewise.
46742 (grub_video_get_info): Likewise.
46743 (grub_video_get_blit_format): Likewise.
46744 (grub_video_set_palette): Likewise.
46745 (grub_video_get_palette): Likewise.
46746 (grub_video_set_viewport): Likewise.
46747 (grub_video_get_viewport): Likewise.
46748 (grub_video_map_color): Likewise.
46749 (grub_video_map_rgb): Likewise.
46750 (grub_video_map_rgba): Likewise.
46751 (grub_video_fill_rect): Likewise.
46752 (grub_video_blit_glyph): Likewise.
46753 (grub_video_blit_bitmap): Likewise.
46754 (grub_video_blit_render_target): Likewise.
46755 (grub_video_scroll): Likewise.
46756 (grub_video_swap_buffers): Likewise.
46757 (grub_video_create_render_target): Likewise.
46758 (grub_video_delete_render_target): Likewise.
46759 (grub_video_set_active_render_target): Likewise.
46760
46761 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
46762 Undefined.
46763 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
46764
46765 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
46766 config.h. Use 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/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
46771 config.h. Use 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 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
46776 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
46777 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
46778 instead of $(srcdir)/genkernsyms.sh.
46779
46780 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
46781 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
46782 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
46783 instead of $(srcdir)/genkernsyms.sh.
46784
46785 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
46786 genkernsyms.sh.
46787
46788 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
46789 genkernsyms.sh.
46790 (gensymlist.sh): New target.
46791 (genkernsyms.sh): Likewise.
46792
46793 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
46794 genkernsyms.sh.in and gensymlist.sh.in.
46795
46796 * genkernsyms.sh: Removed.
46797 * gensymlist.sh: Likewise.
f19dbdb7 46798
7b455f4d 46799 * genkernsyms.sh.in: New file.
46800 * gensymlist.sh.in: Likewise.
46801
1885bb27 468022006-04-25 Hollis Blanchard <hollis@penguinppc.org>
46803
46804 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
46805 clobber "prefix", since we may have already set it manually.
46806
71538dff 468072006-04-25 Hollis Blanchard <hollis@penguinppc.org>
46808
46809 * kern/misc.c (abort): New alias for grub_abort.
46810
2965c7cc 468112006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
46812
46813 A new machine-specific function "grub_machine_set_prefix" is
46814 defined. This is called after loading modules, so that a prefix
46815 initialization can use modules. Also, this change adds an
46816 intensive debugging feature for the memory manager via the
46817 configure option "--enable-mm-debug".
f19dbdb7 46818
2965c7cc 46819 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
46820 PART.LEN.
46821
46822 * kern/sparc64/ieee1275/init.c (abort): Removed.
46823 (grub_stop): Likewise.
46824 (grub_exit): New function.
46825 (grub_set_prefix): Renamed to ...
46826 (grub_machine_set_prefix): ... this.
46827 (grub_machine_init): Do not call grub_set_prefix.
46828
46829 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
46830 (grub_machine_set_prefix): ... this.
46831 (grub_machine_init): Do not call grub_set_prefix.
46832
46833 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
46834 (grub_machine_init): Do not set the prefix here.
46835
46836 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
46837
46838 * kern/efi/init.c: Include grub/mm.h.
46839 (grub_efi_set_prefix): New function.
46840
46841 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
46842 (grub_efi_get_filename): New function.
46843 (grub_print_device_path): Renamed to ...
46844 (grub_efi_print_device_path): ... this.
46845
46846 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
46847 [MM_DEBUG] (grub_realloc): Likewise.
46848 [MM_DEBUG] (grub_free): Likewise.
46849 [MM_DEBUG] (grub_memalign): Likewise.
46850 [MM_DEBUG] (grub_mm_debug): New variable.
46851 [MM_DEBUG] (grub_debug_malloc): New function.
46852 [MM_DEBUG] (grub_debug_free): New function.
46853 [MM_DEBUG] (grub_debug_realloc): New function.
46854 [MM_DEBUG] (grub_debug_memalign): New function.
46855
46856 * kern/misc.c (grub_abort): Print a newline to distinguish
46857 the message.
46858
46859 * kern/main.c (grub_main): Call grub_machine_set_prefix and
46860 grub_set_root_dev after loading modules. This is necessary when
46861 setting a prefix depends on modules.
46862
46863 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
46864 (grub_efi_print_device_path): ... this.
46865 (grub_efi_get_filename): New prototype.
46866 (grub_efi_set_prefix): Likewise.
46867
46868 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
46869 and grub/disk.h.
46870 (grub_efidisk_get_device_handle): New prototype.
46871 (grub_efidisk_get_device_name): Likewise.
46872
46873 * include/grub/mm.h: Include config.h.
46874 (MM_DEBUG): Removed.
46875 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
46876 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
46877 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
46878 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
46879 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
46880 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
46881 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
46882 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
46883 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
46884
46885 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
46886
46887 * disk/efi/efidisk.c: Include grub/partition.h.
46888 (iterate_child_devices): New function.
46889 (add_device): First, compare only last device path nodes, so that
46890 devices are sorted by the types.
46891 (grub_efidisk_get_device_handle): New function.
46892 (grub_efidisk_get_device_name): Likewise.
46893
46894 * configure.ac (--enable-mm-debug): New option to enable the
46895 memory manager debugging feature. This makes the binary much
46896 bigger, so is disabled by default.
46897
9cacaa17 468982006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
46899
46900 Use grub_abort instead of grub_stop, and grub_exit must be
46901 define in each architecture now. Also, this change adds support
46902 for EFI disks.
f19dbdb7 46903
9cacaa17 46904 * util/i386/pc/grub-probefs.c: Include grub/term.h.
46905 (grub_getkey): New function.
46906 (grub_term_get_current): Likewise.
46907
46908 * util/i386/pc/grub-setup.c: Include grub/term.h.
46909 (grub_getkey): New function.
46910 (grub_term_get_current): Likewise.
46911
46912 * util/misc.c (grub_stop): Renamed to ...
46913 (grub_exit): ... this.
46914
46915 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
46916 (grub_exit): ... this.
46917 (grub_machine_init): Use grub_abort instead of abort.
46918 (grub_stop): Removed.
46919
46920 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
46921 abort.
46922
46923 * kern/i386/pc/startup.S (grub_exit): New function.
46924 (cold_reboot): New label.
46925
46926 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
46927 (grub_efi_init): Call grub_efidisk_init.
46928 (grub_efi_fini): Call grub_efidisk_fini.
46929
46930 * kern/efi/efi.c: Include grub/mm.h.
46931 (grub_efi_console_control_guid): Renamed to ...
46932 (console_control_guid): ... this.
46933 (grub_efi_loaded_image_guid): Renamed to ...
46934 (loaded_image_guid): ... this.
46935 (grub_efi_locate_handle): New function.
46936 (grub_efi_open_protocol): Likewise.
46937 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
46938 GRUB_EFI_CONSOLE_CONTROL_GUID.
46939 (grub_efi_exit): Removed.
46940 (grub_stop): Likewise.
46941 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
46942 (grub_exit): New function.
46943 (grub_print_device_path): Likewise.
46944
46945 * kern/rescue.c (grub_rescue_cmd_exit): New function.
46946 (grub_enter_rescue_mode): Register "exit".
46947
46948 * kern/misc.c (grub_real_dprintf): A cosmetic change.
46949 (grub_abort): New function.
46950
46951 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
46952
46953 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
46954
46955 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
46956
46957 * include/grub/efi/efi.h (grub_efi_exit): Removed.
46958 (grub_print_device_path): New prototype.
46959 (grub_efi_locate_handle): Likewise.
46960 (grub_efi_open_protocol): Likewise.
46961
46962 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
46963 * disk/efi/efidisk.c: Likewise.
46964
46965 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
46966
46967 * include/grub/efi/console_control.h
46968 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
46969
46970 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
46971 last 8 bytes as an array.
46972 (GRUB_EFI_DISK_IO_GUID): New macro.
46973 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
46974 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
46975 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
46976 grub_uint8_t.
46977 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
46978 (struct grub_efi_device_path): Rename the member "sub_type" to
46979 "subtype".
46980 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
46981 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
46982 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
46983 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
46984 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
46985 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
46986 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
46987 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
46988 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
46989 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
46990 (struct grub_efi_pci_device_path): New structure.
46991 (grub_efi_pci_device_path_t): New type.
46992 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
46993 (struct grub_efi_pccard_device_path): New structure.
46994 (grub_efi_pccard_device_path_t): New type.
46995 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
46996 (struct grub_efi_memory_mapped_device_path): New structure.
46997 (grub_efi_memory_mapped_device_path_t): New type.
46998 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
46999 (struct grub_efi_vendor_device_path): New structure.
47000 (grub_efi_vendor_device_path_t): New type.
47001 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
47002 (struct grub_efi_controller_device_path): New structure.
47003 (grub_efi_controller_device_path_t): New type.
47004 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
47005 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
47006 (struct grub_efi_acpi_device_path): New structure.
47007 (grub_efi_acpi_device_path_t): New type.
47008 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
47009 (struct grub_efi_expanded_acpi_device_path): New structure.
47010 (grub_efi_expanded_acpi_device_path_t): New type.
47011 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
47012 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
47013 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
47014 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
47015 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
47016 (struct grub_efi_atapi_device_path): New structure.
47017 (grub_efi_atapi_device_path_t): New type.
47018 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
47019 (struct grub_efi_fibre_channel_device_path): New structure.
47020 (grub_efi_fibre_channel_device_path_t): New type.
47021 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
47022 (struct grub_efi_1394_device_path): New structure.
47023 (grub_efi_1394_device_path_t): New type.
47024 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
47025 (struct grub_efi_usb_device_path): New structure.
47026 (grub_efi_usb_device_path_t): New type.
47027 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
47028 (struct grub_efi_usb_class_device_path): New structure.
47029 (grub_efi_usb_class_device_path_t): New type.
47030 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
47031 (struct grub_efi_i2o_device_path): New structure.
47032 (grub_efi_i2o_device_path_t): New type.
47033 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
47034 (struct grub_efi_mac_address_device_path): New structure.
47035 (grub_efi_mac_address_device_path_t): New type.
47036 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
47037 (struct grub_efi_ipv4_device_path): New structure.
47038 (grub_efi_ipv4_device_path_t): New type.
47039 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
47040 (struct grub_efi_ipv6_device_path): New structure.
47041 (grub_efi_ipv6_device_path_t): New type.
47042 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
47043 (struct grub_efi_infiniband_device_path): New structure.
47044 (grub_efi_infiniband_device_path_t): New type.
47045 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
47046 (struct grub_efi_uart_device_path): New structure.
47047 (grub_efi_uart_device_path_t): New type.
47048 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
47049 (struct grub_efi_vendor_messaging_device_path): New structure.
47050 (grub_efi_vendor_messaging_device_path_t): New type.
47051 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
47052 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
47053 (struct grub_efi_hard_drive_device_path): New structure.
47054 (grub_efi_hard_drive_device_path_t): New type.
47055 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
47056 (struct grub_efi_cdrom_device_path): New structure.
47057 (grub_efi_cdrom_device_path_t): New type.
47058 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
47059 (struct grub_efi_vendor_media_device_path): New structure.
47060 (grub_efi_vendor_media_device_path_t): New type.
47061 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
47062 (struct grub_efi_file_path_device_path): New structure.
47063 (grub_efi_file_path_device_path_t): New type.
47064 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
47065 (struct grub_efi_protocol_device_path): New structure.
47066 (grub_efi_protocol_device_path_t): New type.
47067 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
47068 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
47069 (struct grub_efi_bios_device_path): New structure.
47070 (grub_efi_bios_device_path_t): New type.
47071 (struct grub_efi_disk_io): New structure.
47072 (grub_efi_disk_io_t): New type.
47073 (struct grub_efi_block_io_media): New structure.
47074 (grub_efi_block_io_media_t): New type.
47075 (struct grub_efi_block_io): New structure.
47076 (grub_efi_block_io_t): New type.
47077
47078 * include/grub/misc.h (grub_stop): Removed.
47079 (grub_exit): New prototype.
47080 (grub_abort): Likewise.
47081
47082 * include/grub/disk.h (enum grub_disk_dev_id): Added
47083 GRUB_DISK_DEVICE_EFIDISK_ID.
47084
47085 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
47086 disk/efi/efidisk.c.
47087 (kernel_syms.lst): Remove the target if an error occurs.
47088
49986a9f 470892006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
47090
47091 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
47092 as it was simply too buggy.
47093
970d3b8a 470942006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
47095
47096 * kern/misc.c (grub_lltoa): New function.
47097 (grub_vsprintf): Added support for the long long suffix,
47098 i.e. "ll".
47099
ff04ec24 471002006-04-20 Hollis Blanchard <hollis@penguinppc.org>
47101
47102 * Makefile.in (LDFLAGS): Add variable.
47103 (LD): Remove variable.
47104 * configure.ac: Add -m32 to LDFLAGS.
47105 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
47106 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
47107 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
47108 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
47109 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
47110 variables.
47111 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
47112 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
47113 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
47114
37e5e1a4 471152006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
47116
47117 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
47118 length for unknown glyph.
47119
c352d8dd 471202006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
47121
2eab1c0d 47122 Add support for pre-loaded modules into the EFI port.
f19dbdb7 47123
2eab1c0d 47124 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
47125 completely. Accept one more argument DIR. The caller has changed.
47126
47127 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
47128
47129 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
47130 (grub_efi_loaded_image_guid): New variable.
47131 (grub_efi_get_loaded_image): New function.
47132 (grub_arch_modules_addr): Likewise.
47133
47134 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
47135 prototype.
47136
47137 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
47138 (struct grub_efi_loaded_image): New structure.
47139 (grub_efi_loaded_image_t): New type.
47140
471412006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 47142
c352d8dd 47143 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
47144 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
47145 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
47146
6d01d6b4 471472006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
47148
47149 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
47150
976a4ea0 471512006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
47152
47153 * DISTLIST: Added include/grub/efi/console.h,
47154 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
47155 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
47156
47157 * include/grub/efi/console.h: New file.
47158 * include/grub/efi/time.h: Likewise.
47159 * include/grub/i386/efi/kernel.h: Likewise.
47160 * kern/efi/init.c: Likewise.
47161 * kern/efi/mm.c: Likewise.
47162 * term/efi/console.c: Likewise.
f19dbdb7 47163
976a4ea0 47164 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
47165 (grub_stop): Removed.
47166 (grub_get_rtc): Likewise.
47167 (grub_machine_init): Simply call grub_efi_init.
47168 (grub_machine_fini): Call grub_efi_fini.
47169
47170 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
47171 (grub_efi_output_string): Removed.
47172 (grub_efi_stall): New function.
47173 (grub_stop): Likewise.
47174 (grub_get_rtc): Likewise.
47175
47176 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
47177 (grub_efi_stall): New prototype.
47178 (grub_efi_allocate_pages): Likewise.
47179 (grub_efi_free_pages): Likewise.
47180 (grub_efi_get_memory_map): Likewise.
47181 (grub_efi_mm_init): Likewise.
47182 (grub_efi_mm_fini): Likewise.
47183 (grub_efi_init): Likewise.
47184 (grub_efi_fini): Likewise.
47185
47186 * include/grub/i386/efi/time.h: Do not include
47187 grub/symbol.h. Include grub/efi/time.h.
47188 (GRUB_TICKS_PER_SECOND): Removed.
47189 (grub_get_rtc): Likewise.
47190
47191 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
47192 Added padding. The EFI spec is buggy.
47193 (GRUB_EFI_BLACK): New macro.
47194 (GRUB_EFI_BLUE): Likewise.
47195 (GRUB_EFI_GREEN): Likewise.
47196 (GRUB_EFI_CYAN): Likewise.
47197 (GRUB_EFI_RED): Likewise.
47198 (GRUB_EFI_MAGENTA): Likewise.
47199 (GRUB_EFI_BROWN): Likewise.
47200 (GRUB_EFI_LIGHTGRAY): Likewise.
47201 (GRUB_EFI_BRIGHT): Likewise.
47202 (GRUB_EFI_DARKGRAY): Likewise.
47203 (GRUB_EFI_LIGHTBLUE): Likewise.
47204 (GRUB_EFI_LIGHTGREEN): Likewise.
47205 (GRUB_EFI_LIGHTCYAN): Likewise.
47206 (GRUB_EFI_LIGHTRED): Likewise.
47207 (GRUB_EFI_LIGHTMAGENTA): Likewise.
47208 (GRUB_EFI_YELLOW): Likewise.
47209 (GRUB_EFI_WHITE): Likewise.
47210 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
47211 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
47212 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
47213 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
47214 (GRUB_EFI_BACKGROUND_RED): Likewise.
47215 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
47216 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
47217 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
47218 (GRUB_EFI_TEXT_ATTR): Likewise.
47219
47220 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
47221 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
47222 (kernel_mod_HEADERS): Added efi/time.h.
47223
83709125 472242006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
47225
47226 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
47227 include/grub/efi/api.h, include/grub/efi/console_control.h,
47228 include/grub/efi/efi.h, include/grub/efi/pe32.h,
47229 include/grub/i386/efi/time.h, kern/efi/efi.c,
47230 kern/i386/efi/init.c, kern/i386/efi/startup.S,
47231 and util/i386/efi/grub-mkimage.c.
47232
47233 * Makefile.in (RMKFILES): Added i386-efi.rmk.
47234
47235 * genmk.rb (PModule#rule): Do not export symbols if
47236 #{prefix}_EXPORTS is set to "no".
47237
47238 * conf/i386-efi.mk: New file.
47239 * conf/i386-efi.rmk: Likewise.
47240 * include/grub/efi/api.h: Likewise.
47241 * include/grub/efi/console_control.h: Likewise.
47242 * include/grub/efi/efi.h: Likewise.
47243 * include/grub/efi/pe32.h: Likewise.
47244 * include/grub/i386/efi/time.h: Likewise.
47245 * kern/efi/efi.c: Likewise.
47246 * kern/i386/efi/init.c: Likewise.
47247 * kern/i386/efi/startup.S: Likewise.
47248 * util/i386/efi/grub-mkimage.c: Likewise.
47249
472502006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 47251
47252 * include/grub/script.h: Include <grub/parser.h> and
47253 "grub_script.tab.h".
47254 (struct grub_lexer_param): New struct.
47255 (struct grub_parser_param): Likewise.
47256 (grub_script_create_arglist): Pass the state in an argument.
47257 (grub_script_add_arglist): Likewise.
47258 (grub_script_create_cmdline): Likewise.
47259 (grub_script_create_cmdblock): Likewise.
47260 (grub_script_create_cmdif): Likewise.
47261 (grub_script_create_cmdmenu): Likewise.
47262 (grub_script_add_cmd): Likewise.
47263 (grub_script_arg_add): Likewise.
47264 (grub_script_lexer_ref): Likewise.
47265 (grub_script_lexer_deref): Likewise.
47266 (grub_script_lexer_record_start): Likewise.
47267 (grub_script_lexer_record_stop): Likewise.
47268 (grub_script_mem_record): Likewise.
47269 (grub_script_mem_record_stop): Likewise.
47270 (grub_script_malloc): Likewise.
47271 (grub_script_yylex): Likewise.
47272 (grub_script_yyparse): Likewise.
47273 (grub_script_yyerror): Likewise.
47274 (grub_script_yylex): Likewise.
47275 (grub_script_lexer_init): Return the state.
47276
47277 * normal/lexer.c (grub_script_lexer_state): Removed variable.
47278 (grub_script_lexer_done): Likewise.
47279 (grub_script_lexer_getline): Likewise.
47280 (grub_script_lexer_refs): Likewise.
47281 (script): Likewise.
47282 (newscript): Likewise.
47283 (record): Likewise.
47284 (recording): Likewise.
47285 (recordpos): Likewise.
47286 (recordlen): Likewise.
47287 (grub_script_lexer_init): Return the state instead of setting
47288 global variables.
47289 (grub_script_lexer_ref): Use the newly added argument for state
47290 instead of globals.
47291 (grub_script_lexer_deref): Likewise.
47292 (grub_script_lexer_record_start): Likewise.
47293 (grub_script_lexer_record_stop): Likewise.
47294 (recordchar): Likewise.
47295 (nextchar): Likewise.
47296 (grub_script_yylex2): Likewise.
47297 (grub_script_yylex): Likewise.
47298 (grub_script_yyerror): Likewise.
47299
47300 * normal/parser.y (func_mem): Removed variable.
47301 (menu_entry): Likewise.
47302 (err): Likewise.
47303 (%lex-param): New parser option.
47304 (%parse-param): Likewise.
47305 (script): Always return the AST.
47306 (argument): Pass the state around.
47307 (arguments): Likewise.
47308 (grubcmd): Likewise.
47309 (commands): Likewise.
47310 (function): Likewise.
47311 (menuentry): Likewise.
47312 (if_statement): Likewise.
47313 (if): Likewise.
47314
47315 * normal/script.c (grub_script_memused): Removed variable.
47316 (grub_script_parsed): Likewise.
47317 (grub_script_malloc): Added a state argument. Use that instead of
47318 global variables.
47319 (grub_script_mem_record): Likewise.
47320 (grub_script_mem_record_stop): Likewise.
47321 (grub_script_arg_add): Likewise.
47322 (grub_script_add_arglist): Likewise.
47323 (grub_script_create_cmdline): Likewise.
47324 (grub_script_create_cmdif): Likewise.
47325 (grub_script_create_cmdmenu): Likewise.
47326 (grub_script_add_cmd): Likewise.
47327 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 47328
e2a8c904 473292006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 47330
47331 * normal/command.c (grub_command_init): Remove the title command.
47332
47333 * normal/lexer.c (grub_script_yylex): Renamed from this...
47334 (grub_script_yylex2): ... to this.
47335 (grub_script_yylex): New function. Temporary
47336 introduced to filter some tokens.
47337 (grub_script_yyerror): Print a newline.
47338
47339 * normal/main.c (read_config_file): Output information about the
47340 lines that contain errors. Wait for a key after all lines have
47341 been processed. Don't return an empty menu.
47342
47343 * normal/parser.y (func_mem): Don't initialize.
47344 (menu_entry): Likewise.
47345 (err): New variable.
47346 (script): Don't return anything when an error was encountered.
47347 (ws, returns): Removed rules.
47348 (argument): Disabled concatenated variable support.
47349 (arguments): Remove explicit separators.
47350 (grubcmd): Likewise.
47351 (function): Likewise.
47352 (menuentry): Likewise.
47353 (if): Likewise.
47354 (commands): Likewise. Add error handling.
47355
47356 * normal/script.c (grub_script_create_cmdline): If
47357 `grub_script_parsed' is 0, assume the parser encountered an error.
47358
c9a86192 473592006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
47360
47361 * configure.ac: Add support for EFI. Fix the typo
47362 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
47363
70f3b243 473642006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
47365
47366 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
47367 foreign multibyte characters should be shown correctly.
47368
65f201ad 473692006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
47370
47371 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
47372 calculation.
47373 (read_config_file): Made it to close file before returning.
47374
b4b93674 473752006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
47376
47377 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
47378 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
47379 video/i386/pc/vbefill.c.
47380
47381 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
47382 video/i386/pc/vbefill.c.
47383
47384 * include/grub/video.h (grub_video_blit_format): New enum.
47385 (grub_video_mode_info): Added new member blit_format.
47386 (grub_video_get_blit_format): New function prototype.
47387
47388 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
47389 function prototype.
47390 (grub_video_vbe_map_rgb): Likewise.
47391 (grub_video_vbe_unmap_color): Likewise.
47392
47393 * include/grub/i386/pc/vbeblit.h: New file.
47394
47395 * include/grub/i386/pc/vbefill.h: New file.
47396
47397 * video/video.c (grub_video_get_blit_format): New function.
47398 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
47399 (grub_video_vbe_map_rgb): Likewise.
47400 (grub_video_vbe_unmap_color): Likewise.
47401
47402 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
47403 optimized fills.
47404 (grub_video_vbe_blit_render_target): Changed to use more optimized
47405 blits.
47406 (grub_video_vbe_setup): Added detection for optimized settings.
47407 (grub_video_vbe_create_render_target): Likewise.
47408
47409 * video/i386/pc/vbeblit.c: New file.
47410
47411 * video/i386/pc/vbefill.c: New file.
47412
c2379b9c 474132006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
47414
47415 * font/manager.c (grub_font_get_glyph): Removed font fixup from
47416 here...
47417
47418 * util/unifont2pff.rb: ... and moved it to here. Improved argument
47419 parsing to support both hex and dec ranges. If filename was missing
47420 show usage information.
47421
bd0d7896 474222006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
47423
47424 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
47425 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
47426
47427 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
47428 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
47429 (video_mod_SOURCES): Added.
47430 (video_mod_CFLAGS): Likewise.
47431 (video_mod_LDFLAGS): Likewise.
47432 (gfxterm_mod_SOURCES): Likewise.
47433 (gfxterm_mod_CFLAGS): Likewise.
47434 (gfxterm_mod_LDFLAGS): Likewise.
47435 (videotest_mod_SOURCES): Likewise.
47436 (videotest_mod_CFLAGS): Likewise.
47437 (videotest_mod_LDFLAGS): Likewise.
47438 (vesafb_mod_SOURCES): Removed.
47439 (vesafb_mod_CFLAGS): Likewise.
47440 (vesafb_mod_LDFLAGS): Likewise.
47441 (vga_mod_SOURCES): Likewise.
47442 (vga_mod_CFLAGS): Likewise.
47443 (vga_mod_LDFLAGS): Likewise.
47444
47445 * commands/videotest.c: New file.
47446
47447 * font/manager.c (fill_with_default_glyph): Modified to use
47448 grub_font_glyph.
47449 (grub_font_get_glyph): Likewise.
47450 (fontmanager): Renamed from this...
47451 (font_manager): ... to this.
47452
47453 * include/grub/font.h (grub_font_glyph): Added new structure.
47454 (grub_font_get_glyph): Modified to use grub_font_glyph.
47455
47456 * include/grub/misc.h (grub_abs): Added as inline function.
47457
47458 * include/grub/video.h: New file.
47459
47460 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
47461 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
47462 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
47463 (grub_vbe_get_controller_info): Renamed from this...
47464 (grub_vbe_bios_get_controller_info): ... to this.
47465 (grub_vbe_get_mode_info): Renamed from this...
47466 (grub_vbe_bios_get_mode_info): ... to this.
47467 (grub_vbe_set_mode): Renamed from this...
47468 (grub_vbe_bios_set_mode): ... to this.
47469 (grub_vbe_get_mode): Renamed from this...
47470 (grub_vbe_bios_get_mode): ... to this.
47471 (grub_vbe_set_memory_window): Renamed from this...
47472 (grub_vbe_bios_set_memory_window): ... to this.
47473 (grub_vbe_get_memory_window): Renamed from this...
47474 (grub_vbe_bios_get_memory_window): ... to this.
47475 (grub_vbe_set_scanline_length): Renamed from this...
47476 (grub_vbe_set_scanline_length): ... to this.
47477 (grub_vbe_get_scanline_length): Renamed from this...
47478 (grub_vbe_bios_get_scanline_length): ... to this.
47479 (grub_vbe_set_display_start): Renamed from this...
47480 (grub_vbe_bios_set_display_start): ... to this.
47481 (grub_vbe_get_display_start): Renamed from this...
47482 (grub_vbe_bios_get_display_start): ... to this.
47483 (grub_vbe_set_palette_data): Renamed from this...
47484 (grub_vbe_bios_set_palette_data): ... to this.
47485 (grub_vbe_set_pixel_rgb): Removed.
47486 (grub_vbe_set_pixel_index): Likewise.
47487
47488 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
47489 from this...
47490 (grub_vbe_bios_get_controller_info): ... to this.
47491 (grub_vbe_get_mode_info): Renamed from this...
47492 (grub_vbe_bios_get_mode_info): ... to this.
47493 (grub_vbe_set_mode): Renamed from this...
47494 (grub_vbe_bios_set_mode): ... to this.
47495 (grub_vbe_get_mode): Renamed from this...
47496 (grub_vbe_bios_get_mode): ... to this.
47497 (grub_vbe_set_memory_window): Renamed from this...
47498 (grub_vbe_bios_set_memory_window): ... to this.
47499 (grub_vbe_get_memory_window): Renamed from this...
47500 (grub_vbe_bios_get_memory_window): ... to this.
47501 (grub_vbe_set_scanline_length): Renamed from this...
47502 (grub_vbe_set_scanline_length): ... to this.
47503 (grub_vbe_get_scanline_length): Renamed from this...
47504 (grub_vbe_bios_get_scanline_length): ... to this.
47505 (grub_vbe_set_display_start): Renamed from this...
47506 (grub_vbe_bios_set_display_start): ... to this.
47507 (grub_vbe_get_display_start): Renamed from this...
47508 (grub_vbe_bios_get_display_start): ... to this.
47509 (grub_vbe_set_palette_data): Renamed from this...
47510 (grub_vbe_bios_set_palette_data): ... to this.
47511 (grub_vbe_bios_get_controller_info): Fixed problem with registers
47512 getting corrupted after calling it. Added more pushes and pops.
47513 (grub_vbe_bios_set_mode): Likewise.
47514 (grub_vbe_bios_get_mode): Likewise.
47515 (grub_vbe_bios_get_memory_window): Likewise.
47516 (grub_vbe_bios_set_scanline_length): Likewise.
47517 (grub_vbe_bios_get_scanline_length): Likewise.
47518 (grub_vbe_bios_get_display_start): Likewise.
47519 (grub_vbe_bios_set_palette_data): Likewise.
47520
47521 * normal/cmdline.c (cl_set_pos): Refresh the screen.
47522 (cl_insert): Likewise.
47523 (cl_delete): Likewise.
47524
47525 * term/gfxterm.c: New file.
47526
47527 * term/i386/pc/vesafb.c: Removed file.
47528
47529 * video/video.c: New file.
47530
47531 * video/i386/pc/vbe.c (real2pm): Added new function.
47532 (grub_video_vbe_draw_pixel): Likewise.
47533 (grub_video_vbe_get_video_ptr): Likewise.
47534 (grub_video_vbe_get_pixel): Likewise
47535 (grub_video_vbe_init): Likewise.
47536 (grub_video_vbe_fini): Likewise.
47537 (grub_video_vbe_setup): Likewise.
47538 (grub_video_vbe_get_info): Likewise.
47539 (grub_video_vbe_set_palette): Likewise.
47540 (grub_video_vbe_get_palette): Likewise.
47541 (grub_video_vbe_set_viewport): Likewise.
47542 (grub_video_vbe_get_viewport): Likewise.
47543 (grub_video_vbe_map_color): Likewise.
47544 (grub_video_vbe_map_rgb): Likewise.
47545 (grub_video_vbe_map_rgba): Likewise.
47546 (grub_video_vbe_unmap_color): Likewise.
47547 (grub_video_vbe_fill_rect): Likewise.
47548 (grub_video_vbe_blit_glyph): Likewise.
47549 (grub_video_vbe_blit_bitmap): Likewise.
47550 (grub_video_vbe_blit_render_target): Likewise.
47551 (grub_video_vbe_scroll): Likewise.
47552 (grub_video_vbe_swap_buffers): Likewise.
47553 (grub_video_vbe_create_render_target): Likewise.
47554 (grub_video_vbe_delete_render_target): Likewise.
47555 (grub_video_vbe_set_active_render_target): Likewise.
47556 (grub_vbe_set_pixel_rgb): Remove function.
47557 (grub_vbe_set_pixel_index): Likewise.
47558 (index_color_mode): Remove static variable.
47559 (active_mode): Likewise.
47560 (framebuffer): Likewise.
47561 (bytes_per_scan_line): Likewise.
47562 (grub_video_vbe_adapter): Added new static variable.
47563 (framebuffer): Likewise.
47564 (render_target): Likewise.
47565 (initial_mode): Likewise.
47566 (mode_in_use): Likewise.
47567 (mode_list): Likewise.
47568
5f97350b 475692006-03-10 Marco Gerards <marco@gnu.org>
47570
47571 * configure.ac (AC_INIT): Bumped to 1.93.
47572
47573 * DISTLIST: Added `include/grub/hfs.h'.
47574
a3c5c6f8 475752006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
47576
47577 * boot/i386/pc/boot.S (general_error): Before looping, try INT
47578 18H, which might help the BIOS falling back to next boot media.
47579
6de53d26 475802006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
47581
47582 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
47583 Poe Chen <poe.poechen@gmail.com>.
47584
77c4a393 475852006-01-17 Marco Gerards <marco@gnu.org>
47586
47587 * include/grub/normal.h: Include <grub/script.h>.
47588 (grub_command_list): Removed struct.
47589 (grub_command_list_t): Removed type.
47590 (grub_menu_entry): Remove members `num' and `command_list'. Add
47591 members `commands' and `sourcecode'.
47592 * include/grub/script.h: Add inclusion guards.
47593 (grub_script_cmd_menuentry): New struct.
47594 (grub_script_execute_menuentry): New prototype.
47595 (grub_script_lexer_record_start): Likewise.
47596 (grub_script_lexer_record_stop): Likewise.
47597 * normal/execute.c (grub_script_execute_menuentry): New function.
47598 * normal/lexer.c (record, recording, recordpos, recordlen): New
47599 variables.
47600 (grub_script_lexer_record_start): New function.
47601 (grub_script_lexer_record_stop): Likewise.
47602 (recordchar): Likewise.
47603 (nextchar): Likewise.
47604 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
47605 2048 as the buffer size. Add the tokens `menuentry' and `@'.
47606 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
47607 (current_menu): New variable.
47608 (free_menu): Mainly rewritten.
47609 (grub_normal_menu_addentry): New function.
47610 (read_config_file): Rewritten.
47611 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 47612 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 47613 the menu entry.
47614 (run): Mainly rewritten.
47615 * normal/parser.y (menu_entry): New variable.
47616 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
47617 (menuentry): New rule.
47618 (command): Add `menuentry'.
47619 (if_statement): Allow additional returns before `fi'.
47620 * normal/script.c (grub_script_create_cmdmenu): New function.
47621
144f1f98 476222006-01-03 Marco Gerards <marco@gnu.org>
47623
47624 * INSTALL: GNU Bison is required.
47625 * configure.ac: Rewritten the test to detect Bison.
47626 * Makefile.in (YACC): New variable. Reported by Xun Sun
47627 <xun.sun.cn@gmail.com>.
47628
af4b2d89 476292006-01-03 Marco Gerards <marco@gnu.org>
47630
47631 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
47632 the HFS+ filesystem to filesystem blocks.
47633 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
47634 GCC warning is silenced.
47635
15643b71 476362006-01-03 Marco Gerards <marco@gnu.org>
47637
47638 * partmap/apple.c (apple_partition_map_iterate): Convert the data
47639 read from disk from big endian to host byte order.
47640
00905879 476412006-01-03 Hollis Blanchard <hollis@penguinppc.org>
47642
47643 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
47644 documentation.
47645 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
47646 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
47647 embedded HFS+ filesystem.
47648 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
47649 (grub_hfs_sblock): Move from here...
47650 * include/grub/hfs.h: To here... New file.
47651 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
47652 documentation.
47653 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
47654 New macros.
47655 (grub_hfsplus_volheader): Change type of member `magic' to
47656 `grub_uint16_t'.
47657 (grub_hfsplus_data): Add new member `embedded_offset'.
47658 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
47659 returned block.
47660 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
47661 Calculate the offset.
47662
8899bc3e 476632005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
47664
47665 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
47666 Removed.
47667 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
47668
ae8c0277 476692005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
47670
47671 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
47672 ENV->NAME is NULL after allocating ENV->VALUE.
47673
07084456 476742005-12-25 Marco Gerards <marco@gnu.org>
47675
47676 * kern/env.c (grub_env_set): Rewritten the error handling code.
47677
4750f5f1 476782005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
47679
47680 * geninit.sh: Made more robust, and more portable.
47681
50214199 476822005-12-25 Marco Gerards <marco@gnu.org>
47683
47684 Add support for Apple HFS+ filesystems.
f19dbdb7 47685
50214199 47686 * fs/hfsplus.c: New file.
47687
47688 * DISTLIST: Added `fs/hfsplus.c'.
47689
47690 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
47691 (hfsplus_mod_SOURCES): New variable.
47692 (hfsplus_mod_CFLAGS): Likewise.
47693 (hfsplus_mod_LDFLAGS): Likewise.
47694 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
47695 (grub_setup_SOURCES): Likewise.
47696 (grub_mkdevicemap_SOURCES): Likewise.
47697 (grub_emu_SOURCES): Likewise.
47698 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
47699
47700 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
47701
47702 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
47703
befaed6c 477042005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
47705
47706 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
47707 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
47708 include/grub/parser.h, include/grub/script.h, kern/parser.c,
47709 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
47710 normal/lexer.c, normal/parser.y, normal/script.c, and
47711 partmap/gpt.c.
47712 Removed kern/sparc64/cache.c.
47713
47714 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
47715 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
47716 grub_emu_init.c.
47717
47718 * configure.ac (AC_INIT): Bumped to 1.92.
47719
6a124103 477202005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
47721
47722 * kern/err.c (grub_error_push): Added new function to support error
47723 stacks.
47724 (grub_error_pop): Likewise.
47725 (grub_error_stack_items): New local variable to support error stacks.
47726 (grub_error_stack_pos): Likewise.
47727 (grub_error_stack_assert): Likewise.
47728 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
47729 stack depth.
47730 (grub_print_error): Added support to print errors from error stack.
47731
47732 * include/grub/err.h (grub_error_push): Added function prototype.
47733 (grub_error_pop): Likewise.
47734
be973c1b 477352005-12-09 Hollis Blanchard <hollis@penguinppc.org>
47736
47737 * configure.ac: Accept `powerpc64' as host_cpu.
47738 (amd64): Rename to `biarch32'.
47739
47740 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
47741 non-cacheline-aligned addresses.
47742
47743 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
47744 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
47745 if `size' is non-zero.
47746
b04216ab 477472005-12-03 Marco Gerards <mgerards@xs4all.nl>
47748
47749 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
47750 and `cd' to make sure the filename is not prefixed with a
47751 directory name.
47752 (pkgdata_MODULES): Add `gpt.mod'.
47753 (gpt_mod_SOURCES): New variable.
47754 (gpt_mod_CFLAGS): Likewise.
47755 (gpt_mod_LDFLAGS): Likewise.
47756
47757 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
47758
47759 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
47760 New macro.
47761
47762 * partmap/gpt.c: New file.
47763
47764 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
47765 GPT partition map is detected.
47766
41730ed9 477672005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
47768
47769 * commands/i386/pc/play.c: New file.
47770 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
47771 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
47772 macros.
f19dbdb7 47773
95dc3643 477742005-11-27 Marco Gerards <mgerards@xs4all.nl>
47775
47776 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
47777 ((unused))' to silence gcc warning.
47778
1569ec51 477792005-11-26 Hollis Blanchard <hollis@penguinppc.org>
47780
47781 * configure.ac: Correct `AC_PROG_YACC' test.
47782
9abde152 477832005-11-22 Hollis Blanchard <hollis@penguinppc.org>
47784
47785 * util/powerpc/ieee1275/grub-install.in: Run the mount point
47786 check before installing files.
47787
44b83271 477882005-11-22 Mike Small <smallm@panix.com>
47789
47790 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
47791 number regex so multidigit numbers are recognized correctly.
47792
477932005-11-22 Mike Small <smallm@panix.com>
47794
47795 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
47796 debugging message before attempting to claim memory.
47797 (grub_rescue_cmd_initrd): Add a claim debugging message and try
47798 multiple addresses in case of failure.
47799
9c12956b 478002005-11-22 Hollis Blanchard <hollis@penguinppc.org>
47801
47802 * term/tparm.c (get_space): Remove empty `if' statement.
47803
47804 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
47805
47806 * kern/parser.c (check_varstate): Rename `state' to 's'.
47807
aeaf81d9 478082005-11-22 Hollis Blanchard <hollis@penguinppc.org>
47809
47810 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
47811 variable definitions to the beginning of each function. Sort stack
47812 variables by size.
47813 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
47814 `buf' argument to `char *'.
47815
79bbb63f 478162005-11-22 Hollis Blanchard <hollis@penguinppc.org>
47817
47818 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
47819 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 47820 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 47821 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
47822 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
47823 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
47824 configfile.mod, search.mod, gzio.mod and test.mod.
47825 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
47826 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
47827 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
47828 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
47829 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
47830 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
47831 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
47832 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
47833 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
47834 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
47835 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
47836 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
47837 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
47838 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
47839 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
47840 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
47841 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
47842 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
47843 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
47844 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
47845 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
47846 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
47847 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
47848
47849 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
47850 `grep --include'.
47851 (pkgdata_MODULES): Add test.mod.
47852
233b1628 478532005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
47854
47855 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
47856 appending to variables with "+=".
47857 (PModule): Use full pathname to generate *.lst filenames.
47858
47859 * Makefile.in: Fixed list rules moved from genmk.rb.
47860 (.DELETE_ON_ERROR): New special target.
47861 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
47862
47863 * conf/i386-pc.rmk: Include conf/common.mk.
47864 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 47865 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 47866 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
47867 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
47868 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
47869 configfile.mod, search.mod, gzio.mod and test.mod.
47870 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
47871 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
47872 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
47873 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
47874 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
47875 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
47876 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
47877 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
47878 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
47879 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
47880 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
47881 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
47882 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
47883 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
47884 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
47885 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
47886 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
47887 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
47888 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
47889 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
47890 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
47891 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
47892 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
47893 here...
47894 * conf/common.rmk: ... to here. New file.
47895
47896 * conf/common.mk: New file.
47897
16f820c8 478982005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
47899
47900 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
47901 (grub_script.tab.c): ... here.
47902
47903 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
47904 (grub_script.tab.c): ... here.
47905
47906 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
47907 (grub_script.tab.c): ... here.
47908
47909 * normal/command.c (grub_command_find): Fixed a memory leak of
47910 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
47911
63ba1554 479122005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
47913
47914 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
47915 "@" which marks the start of a comment on ARM.
47916 (VARIABLE): Likewise.
47917
7f67dc13 479182005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
47919
79bbb63f 47920 Add support for Linux/ADFS partition tables.
7f67dc13 47921
47922 * partmap/acorn.c: New file.
47923
47924 * include/grub/acorn_filecore.h: Likewise.
47925
47926 * DISTLIST: Added `partmap/acorn.c' and
47927 `include/grub/acorn_filecore.h'.
f19dbdb7 47928
7f67dc13 47929 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
47930 `partmap/acorn.c'.
47931 (pkgdata_MODULES): Add `acorn.mod'.
47932 (acorn_mod_SOURCES): New variable.
47933 (acorn_mod_CFLAGS): Likewise.
47934
47935 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
47936 `partmap/acorn.c'.
47937 (pkgdata_MODULES): Add `acorn.mod'.
47938 (acorn_mod_SOURCES): New variable.
47939 (acorn_mod_CFLAGS): Likewise.
47940
47941 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
47942 (pkgdata_MODULES): Add `acorn.mod'.
47943 (acorn_mod_SOURCES): New variable.
47944 (acorn_mod_CFLAGS): Likewise.
47945 (acorn_mod_LDFLAGS): Likewise.
47946
47947 * include/types.h (grub_disk_addr_t): New typedef.
47948
6d099807 479492005-11-13 Marco Gerards <mgerards@xs4all.nl>
47950
47951 * geninit.sh: New file.
47952
47953 * geninitheader.sh: Likewise.
47954
47955 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
47956 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
47957 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
47958 * commands/configfile.c (grub_configfile_init)
47959 (grub_configfile_fini): Likewise.
47960 * commands/default.c (grub_default_init, grub_default_fini):
47961 Likewise.
47962 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
47963 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
47964 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
47965 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
47966 Likewise.
47967 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
47968 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
47969 Likewise.
47970 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 47971 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 47972 Likewise.
47973 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
47974 Likewise.
fe6b695a 47975 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 47976 Likewise.
47977 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
47978 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
47979 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
47980 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
47981 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
47982 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
47983 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
47984 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
47985 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
47986 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
47987 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
47988 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
47989 * partmap/amiga.c (grub_amiga_partition_map_init)
47990 (grub_amiga_partition_map_fini): Likewise.
47991 * partmap/apple.c (grub_apple_partition_map_init)
47992 (grub_apple_partition_map_fini): Likewise.
47993 * partmap/pc.c (grub_pc_partition_map_init)
47994 (grub_pc_partition_map_fini): Likewise.
47995 * partmap/sun.c (grub_sun_partition_map_init,
47996 grub_sun_partition_map_fini): Likewise.
47997 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
47998 Likewise.
47999
48000 * util/grub-emu.c: Include <grub_modules_init.h>.
48001 (main): Don't initialize and de-initialize any modules directly,
48002 use `grub_init_all' and `grub_fini_all' instead.
48003
48004 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
48005 `grub_vesafb_mod_init'.
48006 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
48007 all users.
48008 * term/i386/pc/vga.c (grub_vga_init): Renamed to
48009 `grub_vga_mod_init'. Updated all users.
48010 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 48011
6d099807 48012 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
48013 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
48014 rules.
48015
48016 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
48017 Generate a function to initialize the module in utilities.
48018 Updated all callers.
48019 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
48020 initialize the module in utilities. Updated all callers.
48021
9046bcf0 480222005-11-09 Hollis Blanchard <hollis@penguinppc.org>
48023
48024 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
48025 escape sequence and a literal ^L to clear the screen.
48026
48027 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
48028 when returning from Open Firmware.
48029
d13ea639 480302005-11-09 Hollis Blanchard <hollis@penguinppc.org>
48031
48032 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
48033 (grub_ofconsole_height): Likewise.
48034 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
48035 manually insert a '\n'.
48036 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
48037 `grub_ofconsole_height'. Return early if these are already set.
48038
a8fcf206 480392005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
48040
48041 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
48042 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
48043 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
48044 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
48045 and `normal/script.c'.
48046 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
48047 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
48048 (test_mod_SOURCES): New variable.
48049 (test_mod_CFLAGS): Likewise.
48050 (test_mod_LDFLAGS): Likewise.
48051 (pkgdata_MODULES): Add `test.mod'.
48052 (grub_script.tab.c): New rule.
48053 (grub_script.tab.h): Likewise.
48054
b6b32745 480552005-11-07 Marco Gerards <mgerards@xs4all.nl>
48056
48057 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
48058 `commands/test.c', `normal/execute.c', `normal/lexer.c',
48059 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
48060 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
48061 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
48062 (test_mod_SOURCES): New variable.
48063 (test_mod_CFLAGS): Likewise.
48064 (pkgdata_MODULES): Add `test.mod'.
48065 (grub_script.tab.c): New rule.
48066 (grub_script.tab.h): Likewise.
48067
daac212a 480682005-11-06 Marco Gerards <mgerards@xs4all.nl>
48069
48070 Add initial scripting support.
48071
48072 * commands/test.c: New file.
48073 * include/grub/script.h: Likewise.
48074 * normal/execute.c: Likewise.
48075 * normal/function.c: Likewise.
48076 * normal/lexer.c: Likewise.
48077 * normal/parser.y: Likewise.
48078 * normal/script.c: Likewise.
48079
48080 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 48081
daac212a 48082 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
48083 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
48084 `normal/function.c' and `normal/script.c'.
48085 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
48086 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 48087 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
48088 variables.
daac212a 48089 (pkgdata_MODULES): Add `test.mod'.
48090 (grub_script.tab.c): New rule.
48091 (grub_script.tab.h): Likewise.
48092
48093 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
48094
48095 * include/grub/normal.h (grub_test_init): New prototype.
48096 (grub_test_fini): Likewise.
f19dbdb7 48097
daac212a 48098 * normal/command.c: Include <grub/script.h>.
48099 (grub_command_execute): Rewritten.
f19dbdb7 48100
daac212a 48101 * util/grub-emu.c (main): Call `grub_test_init' and
48102 `grub_test_fini'.
48103
77500b2b 481042005-11-03 Hollis Blanchard <hollis@penguinppc.org>
48105
48106 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
48107 to 0.
48108 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
48109 there are no pending characters.
48110
e45deb9e 481112005-11-03 Hollis Blanchard <hollis@penguinppc.org>
48112
48113 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
48114 `grub_strndup' to drop device arguments. Replace unnecessary
48115 `grub_strndup' with `grub_strdup'.
48116
4ce32619 481172005-11-03 Hollis Blanchard <hollis@penguinppc.org>
48118
48119 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
48120 `debug' environment variable has been set.
48121
481222005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 48123
4ce32619 48124 * Makefile.in (install-local): Use $(DATA).
48125 (uninstall): Likewise.
48126 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
48127 (sbin_UTILITIES): ... to here.
48128 (sbin_SCRIPTS): New variable.
48129 (grub_install_SOURCES): New variable.
48130 * util/powerpc/ieee1275/grub-install.in: New file.
48131 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
48132 variable.
48133 (add_segments): Call `grub_util_get_path'.
48134
25fe6f03 481352005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
48136
48137 From Timothy Baldwin:
48138 * commands/ls.c (grub_ls_list_files): Close FILE with
48139 grub_file_close.
48140 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
48141
04ccf3ec 481422005-10-24 Marco Gerards <mgerards@xs4all.nl>
48143
48144 * include/grub/parser.h: New file.
48145
48146 * kern/parser.c: Likewise.
48147
48148 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
48149 (grub_setup_SOURCES): Likewise.
48150 (grub_probefs_SOURCES): Likewise.
48151 (grub_emu_SOURCES): Likewise.
48152 (kernel_img_HEADERS): Add `parser.h'.
48153
48154 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
48155 (grub_emu_SOURCES): Add `kern/parser.c'.
48156 (grubof_SOURCES): Likewise.
48157
48158 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
48159 (grubof_SOURCES): Add `kern/parser.c'.
48160
48161 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
48162
48163 * kern/misc.c (grub_split_cmdline): Removed function.
48164
48165 * kern/rescue.c: Include <grub/parser.h>.
48166 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
48167 of `grub_split_cmdline'.
48168
48169 * normal/command.c: Include <grub/parser.h>.
48170 (grub_command_execute): Use `grub_parser_split_cmdline' instead
48171 of `grub_split_cmdline'.
48172
48173 * normal/completion.c: Include <grub/parser.h>.
48174 (cmdline_state): New variable.
48175 (iterate_dir): End the filename with a quote depending on the
48176 command line state.
48177 (get_state): new function.
48178 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
48179 split the arguments and determine the current argument. When the
48180 argument string is not quoted, escape all spaces.
48181
6d8f4b0e 481822005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
48183
48184 * normal/sparc64/setjmp.S: New file.
48185
15cf03ed 481862005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
48187
48188 * include/grub/sparc64/libgcc.h: New file.
48189 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
48190 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
48191 normal/sparc64/setjmp.c.
48192
03e8661a 481932005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
48194
48195 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
48196 * kern/sparc64/cache.S: New file.
48197 * kern/sparc64/cache.c: Removed.
48198 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
48199 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
48200 -mtune=ultrasparc.
48201 (COMMON_LDFLAGS): Add -melf64_sparc.
48202 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
48203 (grubof_SOURCES): Use cache.S instead of cache.c.
48204 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
48205 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
48206 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
48207 commented though.
48208 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
48209 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
48210 (linux_mod_CFLAGS): Commented out.
48211 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
48212 out because module isn't built.
48213 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
48214 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
48215 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
48216 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
48217 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
48218 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
48219 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
48220 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
48221 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
48222 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
48223 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
48224 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
48225 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
48226 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
48227
34eeec8a 482282005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
48229
48230 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
48231 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
48232 longer, because HFS should not be used on PC.
48233
708367a3 482342005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
48235
48236 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
48237 consistently within the loop.
48238
6fa1251a 482392005-10-15 Marco Gerards <mgerards@xs4all.nl>
48240
48241 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
48242 directory can not be read.
48243
4801580b 482442005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
48245
48246 * configure.ac (AC_INIT): Increase the version number to 1.91.
48247
48248 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
48249 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
48250 term/i386/pc/serial.c.
48251
219ad426 482522005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
48253
48254 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
48255 file size must be permitted.
48256
48257 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
48258 between %ah and %al.
48259
688e5699 482602005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
48261
48262 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
48263 grub_uint64_t.
48264 Call the hook with a NUL-terminated filename.
48265 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
48266 grub_cpu_to_be32.
48267
48268 * kern/term.c (cursor_state): New variable.
48269 (grub_term_set_current): Reset the cursor state on a new
48270 terminal.
48271 (grub_setcursor): Rewritten to use CURSOR_STATE.
48272 (grub_getcursor): New function.
48273
48274 * include/grub/term.h (grub_getcursor): New prototype.
48275
48276 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
48277 integers on ARM. Reported by Timothy Baldwin
48278 <T.E.Baldwin99@members.leeds.ac.uk>.
48279
bb34586c 482802005-10-11 Marco Gerards <mgerards@xs4all.nl>
48281
48282 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
48283 allocated.
48284 (grub_sfs_dir): Likewise.
48285
9a909877 482862005-10-09 Marco Gerards <mgerards@xs4all.nl>
48287
48288 Add support for the SFS filesystem.
48289
48290 * fs/sfs.c: New file.
48291
48292 * DISTLIST: Added `fs/sfs.c'.
48293
48294 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
48295 (grub_probefs_SOURCES): Likewise.
48296 (grub_emu_SOURCES): Likewise.
48297 (pkgdata_MODULES): Add `sfs.mod'.
48298 (sfs_mod_SOURCES): New variable.
48299 (sfs_mod_CFLAGS): Likewise.
48300 (sfs_mod_LDFLAGS): Likewise.
48301
48302 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
48303 (pkgdata_MODULES): Add `sfs.mod'.
48304 (sfs_mod_SOURCES): New variable.
48305 (sfs_mod_CFLAGS): Likewise.
48306
48307 * util/grub-emu.c (main): Call `grub_sfs_init' and
48308 `grub_sfs_fini'.
48309
48310 * include/grub/fs.h (grub_sfs_init): New prototype.
48311 (grub_sfs_fini): Likewise.
48312
57bdbde3 483132005-10-07 Marco Gerards <mgerards@xs4all.nl>
48314
48315 Add support for the AFFS filesystem.
48316
48317 * fs/affs.c: New file.
48318
48319 * DISTLIST: Added `fs/affs.c'.
48320
48321 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
48322 (grub_probefs_SOURCES): Likewise.
48323 (grub_emu_SOURCES): Likewise.
48324 (pkgdata_MODULES): Add `affs.mod'.
48325 (affs_mod_SOURCES): New variable.
48326 (affs_mod_CFLAGS): Likewise.
48327 (affs_mod_LDFLAGS): Likewise.
48328
48329 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
48330 (pkgdata_MODULES): Add `affs.mod'.
48331 (affs_mod_SOURCES): New variable.
48332 (affs_mod_CFLAGS): Likewise.
48333
48334 * util/grub-emu.c (main): Call `grub_affs_init' and
48335 `grub_affs_fini'.
48336
48337 * include/grub/fs.h (grub_affs_init): New prototype.
48338 (grub_affs_fini): Likewise.
48339
047b67e0 483402005-10-01 Marco Gerards <mgerards@xs4all.nl>
48341
48342 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
48343
59b8208a 483442005-10-01 Marco Gerards <mgerards@xs4all.nl>
48345
48346 * configure.ac: Accept `x86_64' as host_cpu. In that case add
48347 `-m32' to CFLAGS.
48348
48349 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
48350 linking.
f19dbdb7 48351
59b8208a 48352 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
48353 (COMMON_LDFLAGS): New variable.
48354 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
48355 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
48356 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
48357 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
48358 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
48359 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
48360 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
48361 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
48362 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
48363 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
48364 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
48365 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
48366 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
48367 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
48368 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
48369 variables.
48370 (normal_mod_ASFLAGS): Add `-m32'.
48371
48372 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
48373 (grub_host_size_t, grub_host_ssize_t): New types.
48374 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 48375 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 48376 `GRUB_HOST_SIZEOF_VOID_P'.
48377
48378 * include/grub/kernel.h (struct grub_module_header): Type of
48379 member offset changed to `grub_host_off_t'. Type of member size
48380 changed to `grub_host_size_t'.
48381 (struct grub_module_info): Type of member offset changed to
48382 `grub_host_off_t'. Type of member size changed to
48383 `grub_host_size_t'.
48384
b4093103 483852005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
48386
48387 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 48388
b4093103 48389 * kern/i386/pc/startup.S (multiboot_header): New label.
48390 (multiboot_entry): Likewise.
48391 (multiboot_trampoline): Likewise.
48392
48393 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
48394 Increased to 0x4A0.
48395
48396 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
48397 put parentheses after a question mark.
48398 [!GRUB_UTIL] (my_mod): New variable.
48399
48400 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
48401
b2499b29 484022005-09-28 Marco Gerards <mgerards@xs4all.nl>
48403
48404 Adds support for the XFS filesystem. Btrees are not supported
48405 yet.
48406
48407 * fs/xfs.c: New file.
48408
48409 * DISTLIST: Added `fs/xfs.c'.
48410
48411 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
48412 (grub_probefs_SOURCES): Likewise.
48413 (grub_emu_SOURCES): Likewise.
48414 (pkgdata_MODULES): Add `xfs.mod'.
48415 (xfs_mod_SOURCES): New variable.
48416 (xfs_mod_CFLAGS): Likewise.
48417
48418 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
48419 (pkgdata_MODULES): Add `xfs.mod'.
48420 (xfs_mod_SOURCES): New variable.
48421 (xfs_mod_CFLAGS): Likewise.
48422
48423 * util/grub-emu.c (main): Call `grub_xfs_init' and
48424 `grub_xfs_fini'.
48425
48426 * include/grub/fs.h (grub_xfs_init): New prototype.
48427 (grub_xfs_fini): Likewise.
48428
f19dbdb7 48429
83d37a62 484302005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
48431
48432 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
48433 color modes, allow greater than 16 colors to be configured as
48434 a default palette.
48435
47d2d65e 484362005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
48437
48438 * normal/completion.c (complete_arguments): Add the qualifier
48439 const into OPTIONS.
48440
48441 From Omniflux <omniflux+lists@omniflux.com>:
48442 * include/grub/terminfo.h: New file.
48443 * include/grub/tparm.h: Likewise.
48444 * include/grub/i386/pc/serial.h: Likewise.
48445 * term/terminfo.c: Likewise.
48446 * term/tparm.c: Likewise.
48447 * term/i386/pc/serial.c: Likewise.
48448 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
48449 serial.mod.
48450 (terminfo_mod_SOURCES): New variable.
48451 (terminfo_mod_CFLAGS): Likewise.
48452 (serial_mod_SOURCES): Likewise.
48453 (serial_mod_CFLAGS): Likewise.
48454
48b671ff 484552005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
48456
48457 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
48458 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
48459 and kern/powerpc/ieee1275/cmain.c, respectively.
48460
48461 * boot/powerpc/ieee1275/crt0.S: Moved to ...
48462 * kern/powerpc/ieee1275/crt0.S: ... here.
48463
48464 * boot/powerpc/ieee1275/cmain.c: Moved to ...
48465 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 48466
48b671ff 48467 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
48468 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
48469 instead of boot/powerpc/ieee1275/crt0.S and
48470 boot/powerpc/ieee1275/cmain.c, respectively.
48471
48472 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
48473 sectors. It was not used anyway.
48474
09fc77a7 484752005-08-30 Hollis Blanchard <hollis@penguinppc.org>
48476
48477 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
48478 `unused parameter' warning.
48479
003789c7 484802005-08-30 Hollis Blanchard <hollis@penguinppc.org>
48481
48482 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
48483 function.
48484 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
48485 getcharwidth.
48486
67f44c86 484872005-08-28 Marco Gerards <metgerards@student.han.nl>
48488
48489 * include/grub/normal.h (enum grub_completion_type): Added
48490 `GRUB_COMPLETION_TYPE_ARGUMENT'.
48491
48492 * normal/cmdline.c (print_completion): Handle
48493 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
48494 * normal/menu_entry.c (store_completion): Likewise.
48495
48496 * normal/completion.c (complete_arguments): New function.
48497 (grub_normal_do_completion): Call `complete_arguments' when the
48498 current words start with a dash.
48499
0b5abe02 485002005-08-27 Marco Gerards <metgerards@student.han.nl>
48501
48502 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
48503 `gzio.mod' instead of `io.mod').
48504
d9864ee1 485052005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
48506
48507 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
48508 (DISTDIRS): Added io and video.
48509 Rewrite the search routine to make an output consistently.
48510
48511 * DISTLIST: Added conf/sparc64-ieee1275.mk,
48512 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
48513 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
48514 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
48515 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
48516 util/powerpc/ieee1275/misc.c.
f19dbdb7 48517
d9864ee1 48518 * include/grub/gzio.h: New file.
48519 * io/gzio.c: Likewise.
f19dbdb7 48520
d9864ee1 48521 * kern/file.c (grub_file_close): Call grub_device_close only if
48522 FILE->DEVICE is not NULL.
48523
48524 * include/grub/mm.h [!NULL] (NULL): New macro.
48525
48526 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
48527
48528 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
48529 (pkgdata_MODULES): Added gzio.mod.
48530 (gzio_mod_SOURCES): New variable.
48531 (gzio_mod_CFLAGS): Likewise.
48532
48533 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
48534 (pkgdata_MODULES): Added gzio.mod.
48535 (gzio_mod_SOURCES): New variable.
48536 (gzio_mod_CFLAGS): Likewise.
48537
48538 * commands/cat.c: Include grub/gzio.h.
48539 (grub_cmd_cat): Use grub_gzfile_open instead of
48540 grub_file_open.
f19dbdb7 48541
d9864ee1 48542 * commands/cmp.c: Include grub/gzio.h.
48543 (grub_cmd_cmp): Use grub_gzfile_open instead of
48544 grub_file_open.
48545
48546 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
48547 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
48548 grub_file_open.
48549 (grub_rescue_cmd_module): Likewise.
48550
fa46f4b5 485512005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
48552
48553 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
48554 kern/sparc64/ieee1275/init.c because it contains _start.
48555 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
48556
e9211b5d 485572005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
48558
48559 * configure.ac: Add support for sparc64 host with ieee1275
48560 firmware.
48561 * configure: Generated from configure.ac.
48562 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
48563 instead of int.
48564 (grub_ofdisk_read): Likewise.
48565 (grub_ofdisk_open): Use %p to print pointer values, and cast the
48566 pointers as (void *) to remove a warning.
48567 (grub_ofdisk_close): Likewise.
48568 (grub_ofdisk_read): Likewise.
48569 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
48570 returns, so make it return void to remove a warning.
48571 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
48572 Corresponding prototype change.
48573 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
48574 values, and cast the pointers as (void *) to remove a warning.
48575 (grub_mm_dump): Likewise.
48576 * conf/sparc64-ieee1275.mk: New file.
48577 * conf/sparc64-ieee1275.rmk: Likewise.
48578 * include/grub/sparc64/setjmp.h: Likewise.
48579 * include/grub/sparc64/types.h: Likewise.
48580 * include/grub/sparc64/ieee1275/console.h: Likewise.
48581 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
48582 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
48583 * include/grub/sparc64/ieee1275/time.h: Likewise.
48584 * kern/sparc64/cache.c: Likewise.
48585 * kern/sparc64/dl.c: Likewise.
48586 * kern/sparc64/ieee1275/init.c: Likewise.
48587 * kern/sparc64/ieee1275/openfw.c: Likewise.
48588
385c6a92 485892005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
48590
48591 * util/console.c (grub_ncurses_putchar): If C is greater than
48592 0x7f, set C to a question mark.
48593 (grub_ncurses_getcharwidth): New function.
48594 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
48595 getcharwidth.
48596
48597 * normal/menu.c (print_entry): Made aware of Unicode. First,
48598 convert TITLE to UCS-4, and predict the cursor position by
48599 grub_getcharwidth.
48600
48601 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
48602 const to SRC.
48603 * kern/misc.c (grub_utf16_to_utf8): Likewise.
48604
16ccb8b1 486052005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
48606
48607 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
48608 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
48609 grub_strcat.
48610
48611 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
48612 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
48613 grub_strcpy and grub_strlen. Take it into account that a space
48614 character is inserted as a delimiter.
48615
6a85ce79 486162005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
48617
48618 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 48619 invalid magic in the error.
6a85ce79 48620
48621 * commands/search.c: New file.
f19dbdb7 48622
6a85ce79 48623 * util/grub-emu.c (main): Call grub_search_init and
48624 grub_search_fini.
48625
48626 * kern/rescue.c (grub_rescue_print_disks): Removed.
48627 (grub_rescue_print_devices): New function.
48628 (grub_rescue_cmd_ls): Use grub_device_iterate with
48629 grub_rescue_print_devices instead of grub_disk_dev_iterate with
48630 grub_rescue_print_disks.
48631
48632 * kern/partition.c (grub_partition_iterate): Return the result of
48633 PARTMAP->ITERATE instead of GRUB_ERRNO.
48634
48635 * kern/device.c: Include grub/partition.h.
48636 (grub_device_iterate): New function.
48637
48638 * include/grub/partition.h (grub_partition_iterate): Return int
48639 instead of grub_err_t.
48640
48641 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
48642 prototype.
48643 [GRUB_UTIL] (grub_search_fini): Likewise.
48644
48645 * include/grub/device.h (grub_device_iterate): New prototype.
48646
48647 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
48648 commands/search.c.
48649 (pkgdata_MODULES): Added search.mod.
48650 (search_mod_SOURCES): New variable.
48651 (search_mod_CFLAGS): Likewise.
48652
48653 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
48654 (pkgdata_MODULES): Added search.mod.
48655 (search_mod_SOURCES): New variable.
48656 (search_mod_CFLAGS): Likewise.
48657
48658 * commands/ls.c (grub_ls_list_disks): Renamed to ...
48659 (grub_ls_list_devices): ... this, and use grub_device_iterate.
48660 All callers changed.
48661
48662 * DISTLIST: Added commands/search.c.
48663
ef095434 486642005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
48665
48666 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
48667 conversion.
48668 (grub_getcharwidth): New function.
48669
48670 * kern/misc.c (grub_utf8_to_ucs4): New function.
48671
48672 * include/grub/term.h (struct grub_term): Added a new member
48673 "getcharwidth".
48674 (grub_getcharwidth): New prototype.
48675
48676 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
48677
48678 * term/i386/pc/console.c (map_char): New function. Segregated from
48679 grub_console_putchar.
48680 (grub_console_putchar): Use map_char.
48681 (grub_console_getcharwidth): New function.
48682 (grub_console_term): Specified grub_console_getcharwidth as
48683 getcharwidth.
48684
48685 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
48686 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
48687
48688 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
48689 GRUB_ERRNO.
48690 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
48691 on grub_strtoul completely.
48692 (write_char): Declare local variables in the beginning of the
48693 function.
48694 (grub_vesafb_getcharwidth): New function.
48695 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
48696 getcharwidth.
48697
1f0a95e4 486982005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
48699
48700 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
48701 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
48702 commands/i386/pc/vbetest.c.
48703
48704 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
48705 call grub_vbe_get_controller_info again, because the returned
48706 information is volatile.
48707 (grub_vbe_set_video_mode): Mostly rewritten.
48708 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
48709 grub_vbe_status_t correctly.
48710 (grub_vbe_get_video_mode_info): Likewise.
48711 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
48712 several if statements.
48713
48714 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
48715 * commands/i386/pc/vbeinfo.c: ... this.
48716
48717 * commands/i386/pc/vbe_test.c: Renamed to ...
48718 * commands/i386/pc/vbetest.c: ... this.
48719
48720 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
48721 ...
48722 (grub_cmd_vbeinfo): ... this. Save video modes before
48723 iterating. Skip a video mode, if it is not available, not enough
48724 information is given or it is monochrome. Show the memory
48725 model. Leave the interpretation of MODEVAR to grub_strtoul
48726 completely.
48727 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
48728 (GRUB_MOD_FINI): Likewise.
48729
48730 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
48731 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
48732 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
48733 duplicated grub_env_get. Leave the interpretation of MODEVAR to
48734 grub_strtoul completely.
48735 (real2pm): Removed.
48736 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
48737 (GRUB_MOD_FINI): Likewise.
48738
48739 * normal/misc.c: Include grub/mm.h.
48740
48741 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
48742 vbe_list_modes with vbetest.mod and vbeinfo.mod.
48743 (vbe_list_modes_mod_SOURCES): Removed.
48744 (vbe_list_modes_mod_CFLAGS): Likewise.
48745 (vbe_test_mod_SOURCES): Likewise.
48746 (vbe_test_mod_CFLAGS): Likewise.
48747 (vbeinfo_mod_SOURCES): New variable.
48748 (vbeinfo_mod_CFLAGS): Likewise.
48749 (vbetest_mod_SOURCES): Likewise.
48750 (vbetest_mod_CFLAGS): Likewise.
48751
992ffbbe 487522005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
48753
48754 * normal/misc.c: New file.
48755
48756 * DISTLIST: Added normal/misc.c.
f19dbdb7 48757
992ffbbe 48758 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
48759 DISK to HOOK. Call HOOK with DISK.
48760 * partmap/apple.c (apple_partition_map_iterate): Likewise.
48761 * partmap/pc.c (pc_partition_map_iterate): Likewise.
48762 * partmap/sun.c (sun_partition_map_iterate): Likewise.
48763
48764 * normal/menu_entry.c (struct screen): Added a new member
48765 "completion_shown".
48766 (completion_buffer): New global variable.
48767 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
48768 (store_completion): New function.
48769 (complete): Likewise.
48770 (clear_completions): Likewise.
48771 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
48772 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
48773 a tab, call complete.
48774
48775 * normal/completion.c (disk_dev): Removed.
48776 (print_simple_completion): Likewise.
48777 (print_partition_completion): Likewise.
48778 (print_func): New global variable.
48779 (add_completion): Do not take the arguments WHAT or PRINT any
48780 longer. Added a new argument TYPE. Instead of printing directly,
48781 call PRINT_FUNC if not NULL.
48782 All callers changed.
48783 (complete_device): Use a local variable DEV instead of
48784 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
48785 (grub_normal_do_completion): Take a new argument HOOK. Do not
48786 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
48787 empty string, return NULL instead.
48788 All callers changed.
48789
48790 * normal/cmdline.c (print_completion): New function.
48791
48792 * kern/partition.c (grub_partition_iterate): Add an argument DISK
48793 to HOOK.
48794 All callers changed.
48795
48796 * kern/disk.c (grub_print_partinfo): Removed.
48797
48798 * include/grub/partition.h (struct grub_partition_map): Add a new
48799 argument DISK into HOOK of ITERATE.
48800 (grub_partition_iterate): Add a new argument DISK to HOOK.
48801
48802 * include/grub/normal.h (enum grub_completion_type): New enum.
48803 (grub_completion_type_t): New type.
48804 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
48805 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
48806 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
48807 (GRUB_COMPLETION_TYPE_FILE): Likewise.
48808 (grub_normal_do_completion): Added a new argument HOOK.
48809 (grub_normal_print_device_info): New prototype.
48810
48811 * include/grub/disk.h (grub_print_partinfo): Removed.
48812
48813 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
48814 (normal_mod_SOURCES): Likewise.
48815 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
48816 (normal_mod_SOURCES): Likewise.
48817
48818 * commands/ls.c (grub_ls_list_disks): Use
48819 grub_normal_print_device_info instead of grub_print_partinfo. Free
48820 PNAME.
48821 (grub_ls_list_files): Use grub_normal_print_device_info instead of
48822 duplicating the code.
48823
0bd41162 488242005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
48825
48826 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 48827 follow GCS more precisely.
48828 * commands/i386/pc/vbe_test.c: Likewise.
48829 * include/grub/i386/pc/vbe.h: Likewise.
48830 * term/i386/pc/vesafb.c: Likewise.
48831 * video/i386/pc/vbe.c: Likewise.
0bd41162 48832
6323696a 488332005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
48834
48835 * DISTLIST: Added term/i386/pc/vesafb.c
48836 DISTLIST: Added video/i386/pc/vbe.c
48837 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
48838 DISTLIST: Added commands/i386/pc/vbe_test.c.
48839 * commands/i386/pc/vbe_list_modes.c: New file.
48840 * commands/i386/pc/vbe_test.c: Likewise.
48841 * term/i386/pc/vesafb.c: Likewise.
48842 * video/i386/pc/vbe.c: Likewise.
48843 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
48844 (grub_vbe_probe) Added prototype.
48845 (grub_vbe_set_video_mode) Likewise.
48846 (grub_vbe_get_video_mode) Likewise.
48847 (grub_vbe_get_video_mode_info) Likewise.
48848 (grub_vbe_set_pixel_rgb) Likewise.
48849 (grub_vbe_set_pixel_index) Likewise.
48850 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
48851 (pkgdata_MODULES): Added vesafb.mod.
48852 (pkgdata_MODULES): Added vbe_list_modes.mod.
48853 (pkgdata_MODULES): Added vbe_test.mod.
48854 (vbe_mod_SOURCES): Added.
48855 (vbe_mod_CFLAGS): Likewise.
48856 (vesafb_mod_SOURCES): Likewise.
48857 (vesafb_mod_CFLAGS): Likewise.
48858 (vbe_list_modes_mod_SOURCES): Likewise.
48859 (vbe_list_modes_mod_CFLAGS): Likewise.
48860 (vbe_test_mod_SOURCES): Likewise.
48861 (vbe_test_mod_CFLAGS): Likewise.
48862
0a74e62f 488632005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
48864
0a74e62f 48865 * normal/command.c (grub_command_execute): If INTERACTIVE is
48866 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
48867 CMDLINE. Disable the pager if INTERACTIVE is true.
48868 All callers are changed.
48869
48870 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
48871 before reading a config file.
48872 * normal/main.c (read_config_file): Even if a command is not
48873 found, register it if it is within an entry.
48874
48875 * util/grub-emu.c: Include sys/types.h and unistd.h.
48876 (options): Added --hold.
48877 (struct arguments): Added a new member "hold".
48878 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
48879 missing.
48880 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
48881 cleared by a debugger, if it is not zero.
48882
48883 * include/grub/normal.h (grub_command_execute): Add an argument
48884 INTERACTIVE.
48885
e51f85ae 488862005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
48887
48888 * DISTLIST: Added include/grub/i386/pc/vbe.h.
48889
e9c6f39b 488902005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
48891
48892 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
48893 program with another one, because the old one didn't detect a bug
48894 in gcc-3.4. Always use regparm 2, because the new test is still
48895 not enough for gcc-4.0. Someone must investigate a simple test
48896 case which detects a bug in gcc-4.0.
48897
8de3495c 488982005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
48899
48900 * DISTLIST: Added normal/completion.c.
48901
48902 * normal/completion.c: New file.
f19dbdb7 48903
8de3495c 48904 * term/i386/pc/console.c (grub_console_getwh): New function.
48905 (grub_console_term): Assign grub_console_getwh to getwh.
48906
48907 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
48908 function is defined in normal/completion.c as
48909 grub_normal_do_completion.
48910 (grub_cmdline_get): Use grub_normal_do_completion instead of
48911 grub_tab_complete.
48912
48913 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
48914 returns non-zero, otherwise return 0.
48915 (grub_partition_iterate): First, probe the partition map. Then,
48916 call ITERATE only for this partition map.
48917
48918 * kern/misc.c (grub_strncmp): Rewritten.
48919
48920 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
48921 returns non-zero. Otherwise return 0.
48922
48923 * include/grub/partition.h (grub_partition_map_iterate): Return
48924 int instead of void.
48925
48926 * include/grub/normal.h (grub_normal_do_completion): New prototype.
48927
48928 * include/grub/misc.h (grub_strncmp): Change the type of N to
48929 grub_size_t.
48930
48931 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
48932 of void.
48933
48934 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 48935 unsigned explicitly before comparing it with I.
8de3495c 48936
48937 * kern/main.c (grub_env_write_root): Add the attribute unused into
48938 VAR.
48939
48940 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
48941 normal/completion.c.
48942 (normal_mod_SOURCES): Likewise.
48943 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
48944 (normal_mod_SOURCES): Likewise.
48945
48946 * normal/command.c (grub_iterate_commands): If ITERATE returns
48947 non-zero, return one immediately.
48948
e85e144b 489492005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
48950
48951 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
48952 * kern/i386/pc/startup.S: Updated Global Descriptor table's
48953 descriptions.
48954 (grub_vbe_get_controller_info): New function.
48955 (grub_vbe_get_mode_info): Likewise.
48956 (grub_vbe_set_mode): Likewise.
48957 (grub_vbe_get_mode): Likewise.
48958 (grub_vbe_set_memory_window): Likewise.
48959 (grub_vbe_get_memory_window): Likewise.
48960 (grub_vbe_set_scanline_length): Likewise.
48961 (grub_vbe_get_scanline_length): Likewise.
48962 (grub_vbe_set_display_start): Likewise.
48963 (grub_vbe_get_display_start): Likewise.
48964 (grub_vbe_set_palette_data): Likewise.
48965 * include/grub/i386/pc/vbe.h: New file.
48966
c46153d2 489672005-08-08 Hollis Blanchard <hollis@penguinppc.org>
48968
48969 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
48970 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
48971 * DISTLIST: Likewise.
48972 * kern/ieee1275/of.c: Moved to ...
48973 * kern/ieee1275/ieee1275.c: ... here.
48974
0cb90c45 489752005-08-08 Hollis Blanchard <hollis@penguinppc.org>
48976
48977 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
48978 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
48979 Pass 0 as `end' parameter to grub_strtoul().
48980
a19fb360 489812005-08-08 Hollis Blanchard <hollis@penguinppc.org>
48982
48983 * include/grub/powerpc/ieee1275/console.h: Do not include
48984 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
48985 ifdef.
48986 (grub_console_cur_color): Remove i386-specific prototype.
48987 (grub_console_real_putchar): Likewise.
48988 (grub_console_checkkey): Likewise.
48989 (grub_console_getkey): Likewise.
48990 (grub_console_getxy): Likewise.
48991 (grub_console_gotoxy): Likewise.
48992 (grub_console_cls): Likewise.
48993 (grub_console_setcursor): Likewise.
48994 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
48995 Include <grub/machine/console.h>.
48996 * term/ieee1275/ofconsole.c: Likewise.
48997
4ac9bd04 489982005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
48999
49000 * Makefile.in (LIBLZO): New variable.
49001
49002 * configure.ac: Check for LZO version 2.
49003
49004 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
49005 lzo/lzo1x.h instead of lzo1x.h.
49006
49007 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
49008 of -llzo.
49009
49010 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
49011 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
49012
49013 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
49014 copying the data from PARTITION to P.
49015
f4917dfd 490162005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
49017
49018 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
49019 negative, unload the module.
49020
49021 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
49022 map is "pc_partition_map" but not "pc".
49023 (usage): Fix the description. The options are --boot-image and
49024 --core-image but not --boot-file or --core-file.
49025 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
49026 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
49027 DEFAULT_DIRECTORY.
49028
49029 * util/i386/pc/grub-install.in: Do not specify --boot-file or
49030 --core-file. Specify INSTALL_DEVICE as an argument.
49031
49032 * util/console.c: Include config.h.
49033 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
49034 [HAVE_NCURSES_H]: Include ncurses.h.
49035 [HAVE_CURSES_H]: Include curses.h.
49036 [!A_NORMAL] (A_NORMAL): Defined as zero.
49037 [!A_STANDOUT] (A_STANDOUT): Likewise.
49038
49039 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
49040 -lncurses.
49041 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
49042
49043 * configure.ac: Check for curses libraries and headers.
49044
49045 * Makefile.in (LIBCURSES): New variable.
49046
49047 * genmk.rb (Script::rule): Set the executable bits.
49048
49049 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
49050 name of the PC partition map is "pc_partition_map" but not "pc".
49051
0e143073 490522005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
49053
49054 * util/i386/pc/grub-install.in (grub_probefs): New variable.
49055 (modules): Likewise.
49056 (usage): Added descriptions for --modules and --grub-probefs.
49057 Handle --modules and --grub-probefs. Save the arguments in MODULES
49058 and GRUB_PROBEFS, respectively.
49059 Auto-detect a filesystem module against GRUBDIR. If the result is
49060 empty and modules are not specified explicitly, abort the
49061 installation. Add the result to MODULES.
49062
49063 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
49064 disk/powerpc/ieee1275/ofdisk.c,
49065 include/grub/powerpc/ieee1275/init.h and
49066 term/powerpc/ieee1275/ofconsole.c.
49067 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
49068 term/ieee1275/ofconsole.c.
49069
49070 * include/grub/powerpc/ieee1275/console.h: Resurrected.
49071
49072 * COPYING: Upgraded to the latest version. Only the address of the
49073 FSF office has changed.
f19dbdb7 49074
efd6e6d5 490752005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
49076
49077 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
49078 kern/ieee1275.c with kern/ieee1275/of.c.
49079
49080 * kern/ieee1275.c: Moved to ...
49081 * kern/ieee1275/of.c: ... here.
49082
8ceafda2 490832005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
49084
49085 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 49086 readability.
8ceafda2 49087
49088 * config.guess: Updated to the latest version from gnulib.
49089 * config.sub: Likewise.
49090 * install.sh: Likewise.
49091 * mkinstalldirs: Likewise.
49092
49093 * include/grub/console.h: Removed. This file is arch-specific. Do
49094 not put this in include/grub.
49095
49096 * include/grub/i386/pc/console.h: Resurrected.
49097
49098 * util/console.c: Include grub/machine/console.h instead of
49099 grub/console.h.
49100 * util/grub-emu.c: Likewise.
49101
267f6cd9 491022005-08-04 Marco Gerards <metgerards@student.han.nl>
49103
49104 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
49105 hardcoded value.
f19dbdb7 49106
267f6cd9 49107 From Vincent Pelletier <subdino2004@yahoo.fr>
49108 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
49109 Redefined to use grub_getwh.
49110 (grub_term): New member named getwh.
49111 (grub_getwh): New prototype.
49112 * kern/term.c (grub_getwh): New function.
49113 * term/i386/pc/console.c (grub_console_getwh): New function.
49114 (grub_console_term): New member `getwh'.
49115 * term/i386/pc/vga.c (grub_vga_getwh): New function.
49116 (grub_vga_term): New member `getwh'.
0b5abe02 49117 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 49118 grub_ssize_t.
49119 (grub_ofconsole_getw): New function.
49120 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
49121 (grub_ofconsole_term): New field named getwh and new initial
49122 value.
49123
3be7266d 491242005-08-03 Hollis Blanchard <hollis@penguinppc.org>
49125
49126 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
49127 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
49128 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
49129 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
49130 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
49131 of <grub/machine/ieee1275.h>.
49132 * commands/ieee1275/reboot.c: Likewise.
49133 * boot/powerpc/ieee1275/ieee1275.c: Move ...
49134 * kern/ieee1275.c: ... to here. All users updated. Change all
49135 parameter structs to use new type `grub_ieee1275_cell_t'.
49136 * term/powerpc/ieee1275/ofconsole.c: Move ...
49137 * term/ieee1275/ofconsole.c: ... to here. All users updated.
49138 * disk/powerpc/ieee1275/ofdisk.c: Move ...
49139 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
49140 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
49141 to return int.
49142 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
49143 Remove unused prototypes. All users updated.
49144 * include/grub/powerpc/ieee1275/console.h: Removed.
49145 * include/grub/powerpc/ieee1275/ieee1275.h: Define
49146 `grub_ieee1275_cell_t'.
49147 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
49148 Cast comparisons with -1 to the correct type.
49149 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
49150 type to match `grub_ieee1275_entry_fn'.
49151
8b5f3938 491522005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
49153
49154 * DISTLIST: Added util/i386/pc/grub-probefs.c.
49155
49156 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
49157 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
49158 partmap/sun.c.
49159 (grub_probefs_SOURCES): New variable.
49160
49161 * util/i386/pc/grub-probefs.c: New file.
49162
49163 * util/i386/pc/grub-setup.c (main): Call
49164 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
49165 grub_hfs_init and grub_jfs_init to initialize the system. Call
49166 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
49167 grub_pc_partition_map_fini to finish the system.
49168
ea409713 491692005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
49170
49171 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
49172 function.
49173 (grub_multiboot_load_elf32): Likewise.
49174 (grub_multiboot_is_elf64): Likewise.
49175 (grub_multiboot_load_elf64): Likewise.
49176 (grub_multiboot_load_elf): Likewise.
49177 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
49178 an ELF32 or ELF64 file.
49179 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
49180
49181 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
49182 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
49183 NULL before calling FS->LABEL.
49184 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
49185 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
49186 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
49187 before calling FS->LABEL.
49188
141a288b 491892005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
49190
49191 * util/i386/pc/grub-install.in (datadir): New variable.
49192 (libdir): Removed.
49193 (pkgdatadir): New variable.
49194 (pkglibdir): Removed.
49195
0d5f8a54 491962005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
49197
49198 * DISTLIST: Added util/i386/pc/grub-install.in.
49199
49200 * util/i386/pc/grub-install.in: New file.
49201
49202 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
49203 (grub_install_SOURCES): Likewise.
49204
49205 * genmk.rb: Added support for scripts.
49206 (Script): New class.
49207 (scripts): New variable.
49208
49209 * Makefile.in (install-local): Install sbin_SCRIPTS by
49210 INSTALL_SCRIPT.
49211 (uninstall): Remove sbin_SCRIPTS.
49212
49213 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
49214 device, try to get a GRUB device by
49215 grub_util_biosdisk_get_grub_dev.
49216 Free DEST_DEV.
49217
49218 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
49219 description for --device-map.
49220
5f968e1e 492212005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
49222
49223 Change the semantics of variable hooks. They now return strings
49224 instead of error values.
f19dbdb7 49225
5f968e1e 49226 * util/i386/pc/grub-setup.c: Include grub/env.h.
49227 (setup): Use grub_device_set_root instead of grub_env_set.
49228
49229 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
49230 grub_env_get instead of grub_device_set_root and
49231 grub_device_get_root, respectively.
49232
49233 * kern/main.c (grub_env_write_root): New function.
49234 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
49235 grub_env_set instead of grub_device_set_root.
49236
49237 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
49238 many variables.
49239 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
49240 rather than calling ENV->WRITE_HOOK afterwards.
49241 (grub_env_get): Return the result of ENV->READ_HOOK rather than
49242 passing a pointer of a pointer.
49243 (grub_register_variable_hook): Change the types of "read_hook" and
49244 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
49245 respectively.
49246 Allocate the default empty string on the heap, because this string
49247 may be freed later.
49248
49249 * kern/device.c: Include grub/env.h.
49250 (grub_device_set_root): Removed.
49251 (grub_device_get_root): Likewise.
49252 (grub_device_open): Use grub_env_get instead of
49253 grub_device_get_root.
49254
49255 * include/grub/env.h (grub_env_read_hook_t): New type.
49256 (grub_env_write_hook_t): Likewise.
49257 (grub_env_var): Change the types of "read_hook" and "write_hook"
49258 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
49259 (grub_register_variable_hook): Likewise.
49260
49261 * include/grub/device.h (grub_device_set_root): Removed.
49262 (grub_device_set_root): Likewise.
49263
49264 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
49265 make sure that DIRNAME terminates with '/', so that
49266 grub_fat_find_dir will fail if PATH is not a directory.
49267
49268 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
49269 from DIRNAME.
49270 Use the qualifier auto for print_files and print_files_long.
49271 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
49272 as a regular file.
49273 Put a newline only if there is no error.
49274 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
49275 used.
49276
896f0afd 492772005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
49278
49279 * kern/partition.c (grub_partition_probe): Initialize PART to
49280 NULL. Otherwise, when no partition map is registered, this returns
49281 a garbage.
49282
b28b81b2 492832005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
49284
49285 * partmap/apple.c (apple_partition_map_iterate): Check if POS
49286 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
49287 valid.
49288
5f3607e0 492892005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
49290
49291 * commands/ls.c (grub_ls_list_disks): Print the filesystem
49292 information on each device, if it does not have partitions. Print
49293 "Device" instead of "Disk", because this function is not specific
49294 to disk devices.
49295
49296 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
49297 static to ensure that it is put on the memory rather than a
49298 register.
49299
502c87e8 493002005-07-17 Yoshinori Okuji <okuji@enbug.org>
49301
49302 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
49303 (grub_cat_init): Likewise.
49304 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
49305 (options): Likewise.
49306 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
49307 (grub_configfile_init): Likewise.
49308 * font/manager.c (GRUB_MOD_INIT): Likewise.
49309 * commands/help.c (GRUB_MOD_INIT): Likewise.
49310 (grub_help_init): Likewise.
49311 * normal/command.c (grub_command_init): Likewise.
49312 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
49313 * disk/loopback.c (grub_loop_init): Likewise.
49314 (GRUB_MOD_INIT): Likewise.
49315 * commands/ls.c (grub_ls_init): Likewise.
49316 (GRUB_MOD_INIT): Likewise.
49317 (options): Likewise.
49318 * commands/boot.c (grub_boot_init): Likewise.
49319 (GRUB_MOD_INIT): Likewise.
49320 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
49321 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
49322 (GRUB_MOD_INIT): Likewise.
49323 * commands/cmp.c (grub_cmp_init): Likewise.
49324 (GRUB_MOD_INIT): Likewise.
49325
49326 * normal/arg.c: Use <> instead of "" to include header files.
49327 (SHORT_ARG_HELP): New macro.
49328 (SHORT_ARG_USAGE): Likewise.
49329 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
49330 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
49331 descriptions.
49332 (find_short): Check if C is 'h' or 'u' explicitly.
49333 (grub_arg_show_help): Use space characters instead of tabs. Treat
49334 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
49335 are shown with --help and --usage only if they are not used for
49336 the command itself.
49337 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
49338 'h' and 'u'.
49339
49340 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
49341 const into "longarg". Change the type of "shortarg" to int.
49342
f806d18e 493432005-07-17 Yoshinori Okuji <okuji@enbug.org>
49344
49345 * boot/i386/pc/boot.S (boot_drive_check): New label.
49346
49347 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
49348 macro.
49349
49350 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
49351 which do not pass a boot drive correctly. Copied from GRUB Legacy.
49352
e293232b 493532005-07-17 Yoshinori Okuji <okuji@enbug.org>
49354
49355 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
49356 When turning off Gate A20, skip the check and return immediately,
49357 because this is not fatal usually.
49358
ebedfd00 493592005-07-17 Yoshinori Okuji <okuji@enbug.org>
49360
49361 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
49362 be 0x7C00 instead of 0x8000.
49363
49364 * boot/i386/pc/pxeboot.S: Rewritten.
49365
49366 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
49367 EXT_C.
49368 (gate_a20_check_state): Read a byte from 0x108000. Invert the
49369 result.
49370
654fc59f 493712005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
49372
49373 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
49374 robustness. This routine now supports a BIOS call and System
49375 Control Port A to modify the gate A20.
49376
49377 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
49378 Increased to 0x440.
49379
09f9923f 493802005-07-12 Hollis Blanchard <hollis@penguinppc.org>
49381
49382 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
49383 device path and resulting ihandle.
49384 (grub_ofdisk_close): dprintf the ihandle being closed.
49385 (grub_ofdisk_read): dprintf function parameters.
49386 * kern/mm.c (grub_mm_init_region): Likewise.
49387 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
49388 (grub_linux_boot): dprintf the Linux entry point, initrd address and
49389 size, and boot arguments.
49390 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
49391 before loading into memory.
49392 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
49393 before loading into memory.
49394
7ef504d8 493952005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
49396
49397 * kern/mm.c: Added much documentation.
49398 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
49399 8, set to 5 instead of 8.
49400
e0f050c2 494012005-07-10 Yoshinori Okuji <okuji@enbug.org>
49402
49403 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
49404
49405 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
49406 (grub_mkdevicemap_SOURCES): New variable.
49407
49408 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
49409 lib/device.c of GRUB Legacy.
49410
7224189a 494112005-07-10 Yoshinori Okuji <okuji@enbug.org>
49412
49413 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
49414 instead of PATH is NULL.
49415
68c864eb 494162005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
49417
49418 * commands/cmp.c (BUFFER_SIZE): New macro.
49419 (grub_cmd_cmp): Close the right file at the right time. Compare
49420 only data just read. Don't report files of different size as
49421 identical. Dynamically allocate buffers. Move variable
49422 declarations at the beginning of function.
49423
e6f3e614 494242005-07-09 Yoshinori Okuji <okuji@enbug.org>
49425
49426 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
49427 reverse.
49428
f8f1559a 494292004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
49430
49431 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
49432 when backspace is pressed at beginning of line.
49433
39c9d41d 494342005-07-03 Yoshinori Okuji <okuji@enbug.org>
49435
49436 * DISTLIST: Added genfslist.sh.
49437
49438 * normal/main.c (fs_module_list): New variable.
49439 (autoload_fs_module): New function.
49440 (read_fs_list): Likewise.
49441 (grub_normal_execute): Call read_fs_list.
49442
49443 * kern/fs.c (grub_fs_autoload_hook): New variable.
49444 (grub_fs_probe): Added support for auto-loading.
49445
49446 * include/grub/normal.h (struct grub_fs_module_list): New struct.
49447 (grub_fs_module_list_t): New type.
49448
49449 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
49450 (grub_fs_autoload_hook): New prototype.
49451
49452 * genfslist.sh: New file.
f19dbdb7 49453
39c9d41d 49454 * genmk.rb: Added a rule to generate a filesystem list.
49455
121c1d83 494562005-06-30 Marco Gerards <metgerards@student.han.nl>
49457
49458 * configure.ac: Fix the test for cross-compiling.
49459
49460 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
49461 define GRUB_UTIL anymore.
49462
49463 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
49464 so this function works on other systems than just big endian.
49465 (load_modules): Likewise.
49466 (add_segments): Likewise.
49467
e75d76e1 494682005-06-23 Hollis Blanchard <hollis@penguinppc.org>
49469
49470 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
49471 contains `l' modifier, get a long from va_arg().
49472
50b5a0a7 494732005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
49474
49475 * kern/mm.c (grub_free): If the next free block which is being
49476 merged is the first free block, set the first block to the block
49477 being freed.
49478 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
49479
89371b20 494802005-05-08 Hollis Blanchard <hollis@penguinppc.org>
49481
49482 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
49483 `grub_ieee1275_chosen'.
49484
168d6e58 494852005-05-08 Hollis Blanchard <hollis@penguinppc.org>
49486
49487 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
49488 (grub_ieee1275_chosen): New variable.
49489 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
49490 `chosen'.
49491 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
49492 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
49493 Rename first argument to `phandle' for consistency.
49494 (grub_ieee1275_get_property_length): Likewise.
49495 (grub_ieee1275_next_property): Likewise. Change type of first argument
49496 to grub_ieee1275_phandle_t.
49497 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
49498 Move export next to declaration.
49499 (grub_ieee1275_chosen): New variable.
49500 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
49501 Correct cosmetic typo.
49502 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
49503 `grub_ieee1275_chosen'.
49504 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
49505 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
49506 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
49507 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
49508 `grub_ieee1275_chosen'.
49509
ca5baa3f 495102005-05-10 Hollis Blanchard <hollis@penguinppc.org>
49511
49512 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
49513 /chosen/bootargs.
49514 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
49515 /chosen/bootargs as "variable=value" pairs.
49516
708b345f 495172005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
49518
49519 * include/grub/misc.h (grub_dprintf): New macro.
49520 (grub_real_dprintf): New prototype.
49521 (grub_strword): Likewise.
49522 (grub_iswordseparator): Likewise.
49523 * kern/misc.c (grub_real_dprintf): New function.
49524 (grub_strword): Likewise.
49525 (grub_iswordseparator): Likewise.
49526
f4c5e67c 495272005-04-30 Hollis Blanchard <hollis@penguinppc.org>
49528
49529 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
49530 (roundup): Remove macro.
49531 (grub_ieee1275_flags): Make static.
49532 (grub_ieee1275_realmode): Remove.
49533 (grub_ieee1275_test_flag): New function.
49534 (grub_ieee1275_set_flag): Likewise.
49535 (find_options): Rename to `grub_ieee1275_find_options'; update
49536 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
49537 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
49538 (cmain): New prototype.
49539 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
49540 `grub_ieee1275_flags' directly.
49541 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
49542 machine/biosdisk.h.
49543 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
49544 Don't include grub/machine/init.h.
49545 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
49546 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
49547 Remove prototype.
49548 (grub_ieee1275_realmode): Likewise.
49549 (grub_ieee1275_flag): New enum.
49550 (grub_ieee1275_test_flag): New prototype.
49551 (grub_ieee1275_set_flag): New prototype.
49552 * include/grub/powerpc/ieee1275/init.h: Remove file.
49553 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
49554 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
49555 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
49556 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
49557 comment.
49558 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
49559 `grub_ieee1275_test_flag'.
49560 (grub_ieee1275_encode_devname): Likewise.
49561
ed16607e 495622005-04-21 Hollis Blanchard <hollis@penguinppc.org>
49563
49564 * include/grub/powerpc/ieee1275/ieee1275.h
49565 (grub_ieee1275_encode_devname): New prototype.
49566 (grub_ieee1275_get_filename): Likewise.
49567 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
49568 function.
49569 (grub_set_prefix): Likewise.
49570 (grub_machine_init): Call grub_set_prefix.
49571 * kern/powerpc/ieee1275/openfw.c: Fix typos.
49572 (grub_parse_type): New enum.
49573 (grub_ieee1275_get_devargs): New function.
49574 (grub_ieee1275_get_devname): Likewise.
49575 (grub_ieee1275_parse_args): Likewise.
49576 (grub_ieee1275_get_filename): Likewise.
49577 (grub_ieee1275_encode_devname): Likewise.
49578
be369920 495792005-03-30 Marco Gerards <metgerards@student.han.nl>
49580
49581 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
49582 `grub_loader_unset'.
49583
a5ce3a4a 495842005-03-26 Hollis Blanchard <hollis@penguinppc.org>
49585
49586 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
49587 instead of grub_ieee1275_interpret.
49588 (grub_halt_init): New function.
49589 (grub_halt_fini): Likewise.
49590 (GRUB_MOD_INIT): Correct message grammar.
49591 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
49592 instead of grub_ieee1275_interpret.
49593 (grub_reboot_init): New function.
49594 (grub_reboot_fini): Likewise.
49595 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
49596 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
49597 util/i386/pc/misc.c with commands/ieee1275/halt.c,
49598 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
49599 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
49600 function.
49601 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
49602 Add prototype.
49603 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
49604 prototype.
49605 (grub_halt): Likewise.
49606 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
49607 (cmain): Remove __attribute__((unused)).
49608 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
49609 (grub_heap_len): Likewise.
49610 (grub_machine_fini): New function.
49611 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
49612 (grub_halt): Likewise.
49613 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
49614 function.
49615 * util/powerpc/ieee1275/misc.c: New file.
49616
0058f771 496172005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
49618
49619 * DISTLIST: New file.
49620 * gendistlist.sh: Likewise.
f19dbdb7 49621
0058f771 49622 * Makefile.in (COMMON_DISTFILES): Removed.
49623 (BOOT_DISTFILES): Likewise.
49624 (CONF_DISTFILES): Likewise.
49625 (DISK_DISTFILES): Likewise.
49626 (FS_DISTFILES): Likewise.
49627 (INCLUDE_DISTFILES): Likewise.
49628 (KERN_DISTFILES): Likewise.
49629 (LOADER_DISTFILES): Likewise.
49630 (TERM_DISTFILES): Likewise.
49631 (UTIL_DISTFILES): Likewise.
49632 (DISTFILES): Likewise.
49633 (uninstall): Uninstall files in $(pkgdata_DATA).
49634 (DISTLIST): New target.
49635 (distdir): Use the contents of the file DISTLIST to get a list of
49636 distributed files.
49637
46b3b8a5 496382005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
49639
49640 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
49641 descriptor. This is ported from GRUB Legacy.
49642
49643 * gencmdlist.sh: Added an extra semicolon to make it work with
49644 old sed versions. Reported by Robert Bihlmeyer
49645 <robbe@orcus.priv.at>.
49646
5822ff87 496472005-03-08 Yoshinori Okuji <okuji@enbug.org>
49648
49649 Automatic loading of commands is supported.
f19dbdb7 49650
5822ff87 49651 * normal/main.c (read_command_list): New function.
49652 (grub_normal_execute): Call read_command_list.
49653
49654 * normal/command.c (grub_register_command): Return zero or CMD.
49655 Allocate CMD->NAME from the heap.
49656 Initialize CMD->MODULE_NAME to zero.
49657 Find the same name as well. If the same command is found and it is
49658 a dummy command, overwrite members. If it is not a dummy command,
49659 return zero.
49660 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
49661 (grub_command_find): If a dummy command is found, load a module
49662 and retry to find a command only once.
49663
49664 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
49665 make sure that each command is loaded.
49666
49667 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
49668 macro.
49669 (struct grub_command): Remove const from the member `name'.
49670 Add a new member `module_name'.
49671 (grub_register_command): Return grub_command_t.
49672
49673 * commands/help.c (grub_cmd_help): Call grub_command_find to make
49674 sure that each command is loaded.
49675
49676 * genmk.rb (PModule::rule): Specify a module name without the
49677 suffix ".mod" to gencmdlist.sh.
49678
7b1f4b57 496792005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
49680
49681 * gencmdlist.sh: New file.
f19dbdb7 49682
7b1f4b57 49683 * genmk.rb (PModule::rule): Generate a rule for a command list.
49684 Clean command.lst.
49685 Generate command.lst from $(COMMANDFILES).
49686
49687 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
49688 (DATA): Added $(pkgdata_DATA).
49689 (install-local): Install files in $(pkgdata_DATA).
49690
062aaf39 496912005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
49692
49693 * term/i386/pc/vga.c (debug_command): Removed.
49694 (GRUB_MOD_INIT): Do not register the command "debug".
49695
49696 From Hollis Blanchard:
49697 * commands/configfile.c: New file.
49698 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
49699 commands/configfile.c.
49700 (pkgdata_MODULES): Added configfile.mod.
49701 (configfile_mod_SOURCES): New variable.
49702 (configfile_mod_CFLAGS): Likewise.
49703 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
49704 commands/configfile.c.
49705 (pkgdata_MODULES): Added configfile.mod.
49706 (configfile_mod_SOURCES): New variable.
49707 (configfile_mod_CFLAGS): Likewise.
49708 * util/grub-emu.c (main): Call grub_configfile_init and
49709 grub_configfile_fini.
49710 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
49711 prototype.
49712 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 49713
cee01aa6 497142005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
49715
49716 * normal/arg.c (grub_arg_show_help): Do not show the bug report
49717 address.
49718
49719 * commands/help.c (grub_cmd_help): Do not print newlines after
49720 the last command in print_command_help.
49721
93f3a1d8 497222005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
49723
49724 * commands/default.h: New file.
49725 * commands/timeout.h: Likewise.
49726 * normal/context.c: Likewise.
f19dbdb7 49727
93f3a1d8 49728 * util/misc.c: Do not include sys/times.h.
49729 Include sys/time.h and grub/machine/time.h.
49730 (grub_get_rtc): Rewritten with gettimeofday.
49731
49732 * util/grub-emu.c (main): Call grub_default_init and
49733 grub_timeout_init before grub_normal_init, and call
49734 grub_timeout_fini and grub_default_fini after grub_main.
49735
49736 * util/console.c (grub_ncurses_checkkey): Return the read
49737 character or -1.
49738
49739 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
49740 timeouts.
49741
49742 * normal/main.c (read_config_file): Push MENU. If this fails,
49743 print an error and wait for a user input.
49744 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
49745 If a menu is empty or an error occurs, pop MENU.
49746 (grub_normal_execute): Pop and free MENU after grub_menu_run
49747 returns.
49748
49749 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
49750
49751 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
49752 include time.h.
49753 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
49754 without GRUB_UTIL.
49755 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
49756 time.h.
49757 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
49758 without GRUB_UTIL.
49759
49760 * include/grub/normal.h (struct grub_menu_list): New struct.
49761 (grub_menu_list_t): New type.
49762 (struct grub_context): New struct.
49763 (grub_context_t): New type.
49764 (grub_register_command): Got rid of EXPORT_FUNC.
49765 (grub_unregister_command): Likewise.
49766 (grub_context_get): New prototype.
49767 (grub_context_get_current_menu): Likewise.
49768 (grub_context_push_menu): Likewise.
49769 (grub_context_pop_menu): Likewise.
49770 [GRUB_UTIL] (grub_default_init): Likewise.
49771 [GRUB_UTIL] (grub_default_fini): Likewise.
49772 [GRUB_UTIL] (grub_timeout_init): Likewise.
49773 [GRUB_UTIL] (grub_timeout_fini): Likewise.
49774
49775 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
49776 commands/timeout.c and normal/context.c.
49777 (pkgdata_MODULES): Added default.mod and timeout.mod.
49778 (normal_mod_SOURCES): Added normal/context.c.
49779 (default_mod_SOURCES): New variable.
49780 (default_mod_CFLAGS): Likewise.
49781 (timeout_mod_SOURCES): Likewise.
49782 (timeout_mod_CFLAGS): Likewise.
49783 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
49784 conf/i386-pc.rmk.
49785 (pkgdata_MODULES): Added default.mod and timeout.mod.
49786 (normal_mod_SOURCES): Added normal/context.c.
49787 (default_mod_SOURCES): New variable.
49788 (default_mod_CFLAGS): Likewise.
49789 (timeout_mod_SOURCES): Likewise.
49790 (timeout_mod_CFLAGS): Likewise.
49791
49792 * Makefile.in (all-local): Added $(MKFILES).
49793
4ed2e1dd 497942005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
49795
49796 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
49797 (grub_emu_SOURCES): Likewise.
49798 (pkgdata_MODULES): Add `sun.mod'.
49799 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
49800 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
49801 `partmap/sun.c'.
49802 (pkgdata_MODULES): Add `sun.mod'.
49803 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
49804 * include/grub/partition.h (grub_sun_partition_map_init): New
49805 prototype.
49806 (grub_sun_partition_map_fini): Likewise.
49807 * partmap/sun.c: New file.
49808 * util/grub-emu.c (main): Initialize and de-initialize the sun
49809 partitionmap support.
49810
4d4e372e 498112005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
49812
49813 This implements an Emacs-like menu entry editor.
f19dbdb7 49814
4d4e372e 49815 * normal/menu_entry.c: New file.
f19dbdb7 49816
4d4e372e 49817 * util/console.c (grub_ncurses_putchar): Translate some Unicode
49818 characters to ASCII.
49819 (saved_char): New variable.
49820 (grub_ncurses_checkkey): Rewritten completely.
49821 (grub_ncurses_getkey): Likewise.
49822 (grub_ncurses_init): Call raw instead of cbreak.
49823
49824 * normal/menu.c (print_entry): Do not put a space.
49825 (init_page): Renamed to ...
49826 (grub_menu_init_page): ... this. All callers changed.
49827 (edit_menu_entry): Removed.
49828 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
49829
49830 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
49831
49832 * kern/misc.c (grub_vprintf): Call grub_refresh.
49833
49834 * normal/menu.c (DISP_LEFT): Renamed to ...
49835 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
49836 * normal/menu.c (DISP_UP): Renamed to ...
49837 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
49838 * normal/menu.c (DISP_RIGHT): Renamed to ...
49839 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
49840 * normal/menu.c (DISP_DOWN): Renamed to ...
49841 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
49842 * normal/menu.c (DISP_HLINE): Renamed to ...
49843 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
49844 * normal/menu.c (DISP_VLINE): Renamed to ...
49845 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
49846 * normal/menu.c (DISP_UL): Renamed to ...
49847 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
49848 * normal/menu.c (DISP_UR): Renamed to ...
49849 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
49850 * normal/menu.c (DISP_LL): Renamed to ...
49851 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
49852 * normal/menu.c (DISP_LR): Renamed to ...
49853 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
49854 * normal/menu.c (TERM_WIDTH): Renamed to ...
49855 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
49856 * normal/menu.c (TERM_HEIGHT): Renamed to ...
49857 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
49858 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
49859 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
49860 * normal/menu.c (TERM_MARGIN): Renamed to ...
49861 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
49862 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
49863 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
49864 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
49865 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
49866 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
49867 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
49868 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
49869 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
49870 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
49871 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
49872 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
49873 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
49874 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
49875 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
49876 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
49877 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
49878 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
49879 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
49880 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
49881 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
49882 All callers changed.
49883
49884 * include/grub/normal.h: New prototype.
49885
49886 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
49887 normal/menu_entry.c.
49888 (normal_mod_SOURCES): Likewise.
49889 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
49890 (normal_mod_SOURCES): Likewise.
49891
e6b92c8a 498922005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
49893
49894 * include/grub/normal.h (grub_halt_init): New prototype.
49895 (grub_halt_fini): Likewise.
49896 (grub_reboot_init): Likewise.
49897 (grub_reboot_fini): Likewise.
49898
49899 * util/grub-emu.c: Include signal.h.
49900 (main_env): New global variable.
49901 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
49902 catch C-c.
49903 (grub_machine_fini): New function.
49904 (main): Call grub_halt_init and grub_reboot_init before
49905 grub_main, and grub_reboot_fini and grub_halt_fini after it.
49906 Call setjmp with MAIN_ENV to go back afterwards.
49907 Call grub_machine_fini right before return.
49908
49909 * include/grub/util/misc.h: Include setjmp.h.
49910 (main_env): New prototype.
49911
49912 * include/grub/kernel.h (grub_machine_fini): New prototype.
49913 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
49914 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
49915
49916 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
49917 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
49918 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 49919
e6b92c8a 49920 * util/i386/pc/misc.c: New file.
f19dbdb7 49921
e6b92c8a 49922 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
49923 util/i386/pc/misc.c, commands/i386/pc/halt.c and
49924 commands/i386/pc/reboot.c.
49925
c642636f 499262005-02-14 Guillem Jover <guillem@hadrons.org>
49927
49928 * include/grub/dl.h (grub_dl_check_header): New prototype.
49929 (grub_arch_dl_check_header): Change return type to grub_err_t,
49930 remove size parameter and export function. Update all callers.
49931 * kern/dl.c (grub_dl_check_header): New function.
49932 (grub_dl_load_core): Use `grub_dl_check_header' instead of
49933 `grub_arch_dl_check_header'. Check ELF type. Check if sections
49934 are inside the core.
49935 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
49936 independent ELF header checks.
49937 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
49938 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
49939 `grub_dl_check_header' instead of explicit checks. Check for the
49940 ELF type.
49941 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
49942 `grub_dl_check_header' instead of explicit checks. Remove arch
49943 specific ELF header checks.
49944
e6b92c8a 49945 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
49946 argument SIZE.
49947
5eabe94b 499482005-02-13 Hollis Blanchard <hollis@penguinppc.org>
49949
49950 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
49951 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
49952
1b14a681 499532005-02-12 Hollis Blanchard <hollis@penguinppc.org>
49954
49955 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 49956 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 49957 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 49958 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 49959 * partmap/amiga.c (amiga_partition_map_iterate): Return
49960 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
49961 * partmap/apple.c (apple_partition_map_iterate): Likewise.
49962
aca108aa 499632005-02-01 Guillem Jover <guillem@hadrons.org>
49964
49965 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
49966 help info.
49967
c9f9c556 499682005-01-31 Marco Gerards <metgerards@student.han.nl>
49969
49970 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
49971 Removed prototype.
49972 (grub_rescue_cmd_linux): New prototype.
49973 (grub_rescue_cmd_initrd): Likewise.
49974 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
49975 `bi_rec'.
49976 (grub_linux_release_mem): Release the memory for the initrd.
49977 (grub_load_linux): Renamed from this...
49978 (grub_rescue_cmd_linux): ...To this. Changed all callers.
49979 Changed `entry' not to be static. Loop over memory regions to
49980 find another one when the default fails.
49981 (grub_rescue_cmd_initrd): New function.
49982 (grub_linux_init): Remove function.
49983 (grub_linux_fini): Likewise.
49984 (GRUB_MOD_INIT): Register `initrd'.
49985 (GRUB_MOD_FINI): Unregister `initrd'.
49986 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
49987 Function removed.
49988 (grub_linux_normal_fini): Likewise.
49989 (GRUB_MOD_INIT): Register `initrd'.
49990 (GRUB_MOD_FINI): Unregister `initrd'.
49991
990cf3aa 499922005-01-31 Marco Gerards <metgerards@student.han.nl>
49993
49994 * commands/help.c: New file.
49995 * normal/arg.c (show_help): Renamed to...
49996 (grub_arg_show_help): ... this.
49997 * commands/i386/pc/halt.c: New file.
49998 * commands/i386/pc/reboot.c: Likewise.
49999 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
50000 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
50001 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
50002 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
50003 variables.
50004 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
50005 `commands/help.c'.
50006 (pkgdata_MODULES): Add `help.mod'.
50007 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
50008 * grub/i386/pc/init.h (grub_reboot): New prototype.
50009 (grub_halt): Likewise.
50010 * include/grub/normal.h (grub_arg_show_help): New prototype.
50011 (grub_help_init): Likewise.
50012 (grub_help_fini): Likewise.
50013 * util/grub-emu.c (main): Initialize and deinitialize the help
50014 command.
50015
50016 * normal/cmdline.c (grub_cmdline_get): Doc fix.
50017
50018 * normal/command.c (grub_command_init): Fixed the description of
50019 the `set' and `unset' commands.
50020
500212005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 50022
50023 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
50024 function.
50025 * commands/ieee1275/halt.c: New file.
50026 * commands/ieee1275/reboot.c: Likewise.
50027 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
50028 `__attribute__ ((unused))'. Some GCS related fixed.
50029 (grub_suspend_init) [GRUB_UTIL]: Function removed.
50030 (grub_suspend_fini): Likewise.
50031 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
50032 and `halt.mod'.
50033 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
50034 (halt_mod_CFLAGS): New variables.
50035 * include/grub/powerpc/ieee1275/ieee1275.h
50036 (grub_ieee1275_interpret): New prototype.
50037
1ab09cc7 500382005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
50039
50040 * include/grub/misc.h (memmove): New prototype.
50041 (memcpy): Likewise.
50042
8b8cbdb2 500432005-01-22 Hollis Blanchard <hollis@penguinppc.org>
50044
50045 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
50046 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
50047
e3741a27 500482005-01-22 Marco Gerards <metgerards@student.han.nl>
50049
50050 * kern/misc.c (grub_strndup): Function rewritten.
50051
776bd780 500522005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
50053
50054 * normal/menu.c (TERM_WIDTH): Macro redefined.
50055 (TERM_TOP_BORDER_Y): Likewise.
50056 (draw_border): Replaced while-loop by a for-loop. Make the number
50057 of lines consistent with the number of lines displayed in
50058 print_entries. Added a margin below the rectangle.
50059 (print_entry): Make the entry fit in the rectangle.
50060 (print_entries): Display the scroll arrows next to the right
50061 border.
50062
78026bce 500632005-01-21 Marco Gerards <metgerards@student.han.nl>
50064
50065 * fs/minix.c (grub_minix_find_file): Reserve more space for
50066 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
50067 `grub_strncpy' to copy `path' into it.
50068
67bbaf0f 500692005-01-21 Marco Gerards <metgerards@student.han.nl>
50070
50071 Add the loopback device, a device via which files can be accessed
50072 as devices.
f19dbdb7 50073
67bbaf0f 50074 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
50075 (pkgdata_MODULES): Add loopback.mod.
50076 (loopback_mod_SOURCES): New variable.
50077 (loopback_mod_CFLAGS): Likewise.
50078 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
50079 `disk/loopback.c'.
50080 (pkgdata_MODULES): Add loopback.mod.
50081 (loopback_mod_SOURCES): New variable.
50082 (loopback_mod_CFLAGS): Likewise.
50083 * disk/loopback.c: new file.
50084 * include/grub/normal.h (grub_loop_init): New prototype.
50085 (grub_loop_fini): New prototype.
50086 * util/grub-emu.c (main): Initialize and de-initialize loopback
50087 support.
50088 * include/grub/disk.h (grub_disk_dev_id): Add
50089 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
50090
6f1c18bd 500912005-01-20 Hollis Blanchard <hollis@penguinppc.org>
50092
50093 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
50094 function.
50095 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
50096 (suspend_mod_SOURCES): New variable.
50097 (suspend_mod_CFLAGS): Likewise.
50098 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
50099 New prototype.
50100 * commands/ieee1275/suspend.c: New file.
50101
b38551da 501022005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
50103
50104 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 50105 ((unused))' to `__attribute__ ((used))'.
b38551da 50106 (GRUB_MOD_FINI): Likewise.
50107 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
50108 * genmk.rb (PModule): Assign space to common symbols when linking
50109 modules.
50110
777aff39 501112005-01-20 Marco Gerards <metgerards@student.han.nl>
50112
50113 * include/grub/mm.h (grub_mm_init_region): Change the type of the
50114 `unsigned' arguments to `grub_size_t'.
50115 (grub_malloc): Likewise.
50116 (grub_realloc): Likewise.
50117 (grub_memalign): Likewise.
50118 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
50119 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
50120 * util/misc.c (grub_malloc): Likewise.
50121 (grub_realloc): Likewise.
50122 * kern/mm.c (get_header_from_pointer): Change the casts to
50123 `unsigned' into a cast to `grub_size_t'.
50124
50125 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
50126 point to `currnode' when `currnode' is changed.
50127
50128 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
50129 Schottelius <nico-linux@schottelius.org>.
50130
d0ff18e1 501312005-01-09 Hollis Blanchard <hollis@penguinppc.org>
50132
50133 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
50134 (note_path): Remove variable.
50135 (GRUB_IEEE1275_NOTE_NAME): New macro.
50136 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
50137 (grub_ieee1275_note_hdr): New structure.
50138 (grub_ieee1275_note_desc): Likewise.
50139 (grub_ieee1275_note): Likewise.
50140 (load_note): Remove `dir' argument. All callers updated. Remove
50141 `note_img' and `path'. Do not load a file from `note_path'.
50142 Initialize a struct grub_ieee1275_note and write that to `out'.
50143 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
50144
4ca7004c 501452005-01-05 Marco Gerards <metgerards@student.han.nl>
50146
50147 * util/misc.c (grub_util_read_image): Revert last change. It
50148 called `grub_util_read_at', which seeks from the beginning of the
50149 file.
50150
0b412211 501512005-01-04 Hollis Blanchard <hollis@penguinppc.org>
50152
50153 * TODO: Add note about endianness in grub-mkimage.
50154 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
50155 section.
50156 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
50157 (grub_mkimage_SOURCES): New target.
50158 * include/grub/kernel.h (grub_start_addr): Remove variable.
50159 (grub_end_addr): Likewise.
50160 (grub_total_module_size): Likewise.
50161 (grub_kernel_image_size): Likewise.
50162 (GRUB_MODULE_MAGIC): New constant.
50163 (grub_module_info): New structure.
50164 (grub_arch_modules_addr): New prototype.
50165 (grub_get_end_addr): Remove prototype.
50166 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
50167 * include/grub/powerpc/ieee1275/kernel.h: New file.
50168 * include/grub/util/misc.h (grub_util_get_fp_size): New
50169 prototype.
50170 (grub_util_read_at): Likewise.
50171 (grub_util_write_image_at): Likewise.
50172 * kern/main.c (grub_get_end_addr): Remove function.
50173 (grub_load_modules): Call grub_arch_modules_addr instead of using
50174 grub_end_addr. Look for a grub_module_info struct in memory. Use
50175 the grub_module_info fields instead of calling grub_get_end_addr
50176 as loop conditions. Move grub_add_unused_region code here.
50177 (grub_add_unused_region): Remove function.
50178 * kern/i386/pc/init.c: Include grub/cache.h.
50179 (grub_machine_init): Remove call to grub_get_end_addr. Remove
50180 one call to add_mem_region.
50181 (grub_arch_modules_addr): New function.
50182 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
50183 (grub_total_module_size): Likewise.
50184 Include grub/machine/kernel.h.
50185 (grub_arch_modules_addr): New function.
50186 * util/grub-emu.c (grub_end_addr): Remove variable.
50187 (grub_total_module_size): Likewise.
50188 (grub_arch_modules_addr): New function.
50189 * util/misc.c: Include unistd.h.
50190 (grub_util_get_fp_size): New function.
50191 (grub_util_read_at): Likewise.
50192 (grub_util_write_image_at): Likewise.
50193 (grub_util_read_image): Call grub_util_read_at.
50194 (grub_util_write_image): Call grub_util_write_image_at.
50195 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
50196 additional memory in kernel_img for a struct grub_module_info.
50197 Fill in that grub_module_info.
50198 * util/powerpc/ieee1275/grub-mkimage.c: New file.
50199
458786f8 502002005-01-03 Hollis Blanchard <hollis@penguinppc.org>
50201
50202 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
50203 New function.
50204 * include/grub/powerpc/ieee1275/ieee1275.h
50205 (grub_ieee1275_milliseconds): New prototype.
50206 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
50207 Change to 1000.
50208 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
50209 grub_ieee1275_milliseconds.
50210
ac507d1b 502112005-01-03 Hollis Blanchard <hollis@penguinppc.org>
50212
50213 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
50214 variable.
50215 (find_options): New function.
50216 (cmain): Call find_options.
50217 * include/grub/powerpc/ieee1275/ieee1275.h
50218 (grub_ieee1275_realmode): New extern variable.
50219 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
50220 grub_map if grub_ieee1275_realmode is false.
50221
6b8fd1c4 502222004-12-29 Marco Gerards <metgerards@student.han.nl>
50223
50224 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
50225 lines are inserted and make it work like readline. Reported by
50226 Vincent Pelletier <subdino2004@yahoo.fr>.
50227
8514a1e0 502282004-12-28 Marco Gerards <metgerards@student.han.nl>
50229
50230 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
50231
50232 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
50233 `kern/powerpc/cache.S'.
50234
924b6140 502352004-12-27 Marco Gerards <metgerards@student.han.nl>
50236
50237 * genmk.rb: Handle the `Program' class in the main loop. Written
50238 by Johan Rydberg <jrydberg@gnu.org>.
50239 (Program): New class.
50240 (programs): New variable.
50241 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
50242 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
50243 instead of "grub/kernel.h". Include <grub/machine/init.h>.
50244 (help_arch): Function removed.
50245 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
50246 `powerpc/libgcc.h' and `loader.h'.
50247 (pkgdata_PROGRAMS): New variable.
50248 (sbin_UTILITIES): Variable removed.
50249 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
50250 (grubof_SOURCES): Variable re-defined so it only includes the
50251 core functionality.
50252 (grubof_CFLAGS): Remove `-DGRUBOF'.
50253 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
50254 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
50255 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
50256 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
50257 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
50258 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
50259 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
50260 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
50261 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
50262 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
50263 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
50264 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
50265 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
50266 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
50267 (pc_mod_CFLAGS): New variables.
50268 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
50269 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
50270 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
50271 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
50272 Moved from here...
50273 * include/grub/i386/pc/init.h (grub_os_area_addr)
50274 (rub_os_area_size): ... to here.
50275 * include/grub/powerpc/ieee1275/ieee1275.h
50276 (grub_ieee1275_entry_fn): Export symbol.
50277 * include/grub/powerpc/ieee1275/init.h: New file.
50278 * include/grub/powerpc/libgcc.h: Likewise.
50279 * include/grub/cache.h: Likewise.
50280 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
50281 <hollis@penguinppc.org>.
50282 * kern/dl.c: Include <grub/cache.h>.
50283 (grub_dl_flush_cache): New function.
50284 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
50285 for this module.
50286 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
50287 (grub_console_init): Removed prototypes.
50288 (grub_machine_init): Don't initialize the modules anymore.
50289 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
50290 static.
50291 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
50292 Macro undef removed.
50293 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
50294 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
50295 relocation `R_PPC_REL32'. Return an error when the relocation is
50296 unknown.
50297 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
50298 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
50299 * util/misc.c (grub_arch_sync_caches): Likewise.
50300
e4b47e0c 503012004-12-19 Marco Gerards <metgerards@student.han.nl>
50302
50303 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
50304 `symlist.c', add `grubof_symlist.c'.
50305 (symlist.c): Variable removed.
50306 (grubof_HEADERS): Variable added.
50307 (grubof_symlist.c): New target.
50308 (kernel_syms.lst): Use `grubof_HEADERS' instead of
50309 `kernel_img_HEADERS'.
50310 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
50311 * kern/powerpc/dl.c: New file.
50312 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
50313 Function removed.
50314 (grub_arch_dl_relocate_symbols): Likewise.
50315 (grub_register_exported_symbols): Likewise.
50316
4ceb3636 503172004-12-13 Marco Gerards <metgerards@student.han.nl>
50318
50319 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
50320 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
50321 to fail instead. Reported by Vincent Pelletier
50322 <subdino2004@yahoo.fr>.
50323
50324 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
50325 it is not allocated. Reported by Vincent Pelletier
50326 <subdino2004@yahoo.fr>.
50327
50328 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
50329 output so the output looks better.
f19dbdb7 50330
3f1578fe 503312004-12-04 Marco Gerards <metgerards@student.han.nl>
50332
50333 Modulize the partition map support and add support for the amiga
50334 partition map.
f19dbdb7 50335
3f1578fe 50336 * commands/ls.c: Include <grub/partition.h> instead of
50337 <grub/machine/partition.h>.
50338 * kern/disk.c: Likewise.
50339 * kern/rescue.c: Likewise.
50340 * loader/i386/pc/chainloader.c: Likewise.
50341 * normal/cmdline.c: Likewise.
50342 * kern/powerpc/ieee1275/init.c: Likewise.
50343 (grub_machine_init): Call `grub_pc_partition_map_init',
50344 `grub_amiga_partition_map_init' and
50345 `grub_apple_partition_map_init'.
50346 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
50347 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
50348 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
50349 `partition.h' and `pc_partition.h'.
50350 (grub_setup_SOURCES): Remove
50351 `disk/i386/pc/partition.c'. Add `kern/partition.c',
50352 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
50353 (grub_emu_SOURCES): Likewise.
50354 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
50355 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
50356 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
50357 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
50358 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
50359 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
50360 (grubof_SOURCES): Likewise.
50361 * disk/i386/pc/partition.c: File removed.
50362 * disk/powerpc/ieee1275/partition.c: Likewise.
50363 * include/grub/powerpc/ieee1275/partition.h: Likewise.
50364 * include/grub/i386/pc/partition.h: Likewise.
50365 * kern/partition.c: New file.
50366 * partmap/amiga.c: Likewise.
50367 * partmap/apple.c: Likewise.
50368 * partmap/pc.c: Likewise.
50369 * include/grub/partition.h: Likewise..
50370 * include/grub/pc_partition.h: Likewise.
50371 * util/grub-emu.c: Include <grub/partition.h> instead of
50372 <grub/machine/partition.h>.
50373 (main): Call `grub_pc_partition_map_init',
50374 `grub_amiga_partition_map_init' and
50375 `grub_apple_partition_map_init' and deinitialize afterwards.
50376 * util/i386/pc/biosdisk.c: Include `#include
50377 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
50378 `<grub/machine/partition.h>'.
50379 * util/i386/pc/grub-setup.c: Likewise.
50380 * util/i386/pc/biosdisk.c: Likewise.
50381 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
50382 partition information in case of a PC partition.
50383 * util/i386/pc/grub-setup.c: Include `#include
50384 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
50385 `<grub/machine/partition.h>'.
50386 (setup): Only access the PC specific partition information in case
50387 of a PC partition.
50388
0ef4ced9 503892004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 50390
0ef4ced9 50391 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
50392 (grub_longjmp): Likewise.
50393 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
50394 20.
50395 * normal/powerpc/setjmp.S: New file.
50396 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
50397 `normal/powerpc/setjmp.S'.
50398 (grubof_CFLAGS): Add `-DGRUBOF'.
50399 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
50400 [GRUB_UTIL && !GRUBOF].
f19dbdb7 50401
19950e29 504022004-11-16 Marco Gerards <metgerards@student.han.nl>
50403
50404 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
50405 property named `name'. Correctly handle the error returned by
50406 `grub_ieee1275_finddevice' if a device can not be opened.
50407
a2fea427 504082004-11-02 Hollis Blanchard <hollis@penguinppc.org>
50409
50410 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
50411 `actual' for negativity.
50412 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
50413 kern/fshelp.c.
50414
41ea0ea3 504152004-11-01 Marco Gerards <metgerards@student.han.nl>
50416
50417 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
50418 (PAGE_OFFSET): New macro.
50419 (CRTC_ADDR_PORT): Likewise.
50420 (CRTC_DATA_PORT): Likewise.
50421 (START_ADDR_HIGH_REGISTER): Likewise.
50422 (START_ADDR_LOW_REGISTER): Likewise.
50423 (GRAPHICS_ADDR_PORT): Likewise.
50424 (GRAPHICS_DATA_PORT): Likewise.
50425 (READ_MAP_REGISTER): Likewise.
50426 (INPUT_STATUS1_REGISTER): Likewise.
50427 (INPUT_STATUS1_VERTR_BIT): Likewise.
50428 (page): New variable.
50429 (wait_vretrace): New function.
50430 (set_read_map): Likewise.
50431 (set_start_address): Likewise.
50432 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
50433 the right page.
50434 (check_vga_mem): Take the page into account.
50435 (write_char): Likewise.
50436 (write_cursor): Likewise.
50437 (scroll_up): Likewise. Copy the page to the page that is not
50438 shown and switch between both pages.
50439 (grub_vga_putchar): Fix off by one error.
50440 (grub_vga_cls): Wait for the vertical retrace. Take the page into
50441 account.
50442
ad0bd20b 504432004-11-01 Marco Gerards <metgerards@student.han.nl>
50444
50445 Add support for iso9660 (including rockridge).
f19dbdb7 50446
ad0bd20b 50447 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
50448 (iso9660_mod_SOURCES): New variable.
50449 (iso9660_mod_CFLAGS): Likewise.
50450 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
50451 * include/grub/fs.h (grub_iso9660_init): New prototype.
50452 * util/grub-emu.c (main): Call `grub_iso9660_init'.
50453 * fs/iso9660.c: New file.
50454
50455 * include/grub/misc.h (grub_strncat): New prototype.
50456 * kern/misc.c (grub_strncat): New function.
f19dbdb7 50457
ad0bd20b 50458 * fs/hfs.c (grub_hfs_mount): Translate the error
50459 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
50460 * fs/jfs.c (grub_jfs_mount): Likewise.
50461 * fs/ufs.c (grub_ufs_mount): Likewise.
50462
a5477a59 504632004-10-28 Hollis Blanchard <hollis@penguinppc.org>
50464
50465 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
50466 which initialized BAT registers.
50467 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
50468 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
50469 Move from here...
50470 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
50471 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
50472 ... to here.
50473 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
50474 (grub_mapclaim): Likewise.
50475 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
50476 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
50477 hand.
50478
9304c1f8 504792004-10-19 Hollis Blanchard <hollis@penguinppc.org>
50480
50481 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
50482 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
50483 -ffreestanding and -msoft-float.
50484
86f4ae25 504852004-10-15 Hollis Blanchard <hollis@penguinppc.org>
50486
50487 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
50488 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
50489 set in grub_ieee1275_flags.
50490
38912228 504912004-10-14 Hollis Blanchard <hollis@penguinppc.org>
50492
50493 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
50494 prototype.
50495 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
50496 grub_console_init first.
50497 Change the memory range used for grub_ieee1275_claim and
50498 grub_mm_init_region.
50499 Print an error message if the claim fails.
50500 Include <grub/misc.h>.
50501
d1923dc8 505022004-10-13 Hollis Blanchard <hollis@penguinppc.org>
50503
50504 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
50505 Call grub_children_iterate for device nodes of type `scsi',
50506 `ide', or `ata'.
50507 (grub_ofdisk_open): Remove manual device alias resolution.
50508 Fix memory leak when device cannot be opened.
f19dbdb7 50509 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 50510 (grub_children_iterate): New prototype.
50511 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
50512 New function.
50513 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
50514 Return -1 if args.size was -1.
50515
4512e4f3 505162004-10-11 Hollis Blanchard <hollis@penguinppc.org>
50517
50518 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
50519 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
50520 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
50521 Open Firmware's memory for it; claim memory from _start to _end.
50522 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
50523 (_end): New extern.
50524 (_start): Zero BSS from __bss_start to _end.
50525 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
50526 New extern.
50527 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
50528
4d61feb0 505292004-10-11 Hollis Blanchard <hollis@penguinppc.org>
50530
ad0bd20b 50531 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
50532 -1 if args.base was -1.
4d61feb0 50533
026fa2f9 505342004-10-08 Hollis Blanchard <hollis@penguinppc.org>
50535
50536 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
50537 escape sequence instead of a literal ^L. Also call
50538 grub_ofconsole_gotoxy.
50539
9f2220ef 505402004-10-03 Hollis Blanchard <hollis@penguinppc.org>
50541
50542 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
50543 void * arguments to grub_addr_t. All callers updated. Also make
50544 the `result' argument optional.
50545 (grub_ieee1275_release): change void * arguments to grub_addr_t.
50546 All callers updated.
50547
8a572cd7 505482004-09-22 Hollis Blanchard <hollis@penguinppc.org>
50549
50550 * commands/ls.c (grub_ls_list_files): Use the string following the
50551 initial ')', if present, as the filesystem path.
50552 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
50553
50554 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
50555
18aa81f2 505562004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
50557
50558 Make the source code of the menu interface more readable.
f19dbdb7 50559
18aa81f2 50560 * normal/menu.c: Include grub/mm.h.
50561 (TERM_WIDTH): New macro.
50562 (TERM_HEIGHT): Likewise.
50563 (TERM_INFO_HEIGHT): Likewise.
50564 (TERM_MARGIN): Likewise.
50565 (TERM_SCROLL_WIDTH): Likewise.
50566 (TERM_TOP_BORDER_Y): Likewise.
50567 (TERM_LEFT_BORDER_X): Likewise.
50568 (TERM_BORDER_WIDTH): Likewise.
50569 (TERM_MESSAGE_HEIGHT): Likewise.
50570 (TERM_BORDER_HEIGHT): Likewise.
50571 (TERM_NUM_ENTRIES): Likewise.
50572 (TERM_FIRST_ENTRY_Y): Likewise.
50573 (TERM_ENTRY_WIDTH): Likewise.
50574 (TERM_CURSOR_X): Likewise.
50575 (draw_border): Use macros instead of magic numbers.
50576 (print_entry): Likewise.
50577 (print_entries): Likewise.
50578 (run_menu): Likewise. Also, handle the key 'e'.
50579 (run_menu_entry): Ignore empty command lines.
50580 (print_message): Added a new argument EDIT. If EDIT is true,
50581 print a different message.
50582 (init_page): Likewise.
50583 (edit_menu_entry): New function. Not implemented yet.
50584
b47efe30 505852004-09-17 Marco Gerards <metgerards@student.han.nl>
50586
50587 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
50588 can be loaded from normal mode.
f19dbdb7 50589
b47efe30 50590 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
50591 `multiboot.mod'.
50592 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
50593 (multiboot_mod_CFLAGS): New variables.
50594 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 50595 * loader/i386/pc/multiboot_normal.c: Likewise.
50596
b47efe30 50597 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
50598 attribute `unused'.
f19dbdb7 50599
b47efe30 50600 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
50601 `fdiro' to read the mode information from instead of `diro'.
50602
50603 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
50604 looking up a symlink.
50605
50606 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
50607 macro.
50608 * normal/command.c (grub_command_execute): Don't parse the
50609 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
50610 flags of the command.
50611
50612 * normal/menu.c (grub_menu_run): Fix typo.
50613
da75ac71 506142004-09-14 Hollis Blanchard <hollis@penguinppc.org>
50615
50616 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
50617
50618 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
50619 `y + 1' instead of `y - 1'.
50620
50621 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 50622
062b24c2 506232004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
50624
50625 From Hollis Blanchard <hollis@penguinppc.org>:
50626 * kern/misc.c (memmove): New alias for grub_memmove.
50627 (memcmp): New alias for grub_memcmp.
50628 (memset): New alias for grub_memset.
f19dbdb7 50629 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 50630 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 50631 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 50632 (grub_ieee1275_get_property): Likewise.
f19dbdb7 50633
8ddad845 506342004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
50635
50636 Added normal mode command `chainloader' as module chain.mod, which
50637 depends on normal.mod and _chain.mod.
f19dbdb7 50638
8ddad845 50639 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
50640 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
50641 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
50642 Deleted prototype.
50643 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
50644 but arguments parsing moved to ...
50645 (grub_chainloader_cmd): ... here. New function.
50646 * include/grub/i386/pc/chainloader.h: New file.
50647 * loader/i386/pc/chainloader_normal.c: Likewise.
50648
2c1f4ce3 506492004-09-11 Marco Gerards <metgerards@student.han.nl>
50650
50651 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
50652 (grub_mkimage_LDFLAGS): Likewise.
50653 (grub_emu_SOURCES): Likewise.
50654 (kernel_img_HEADERS): Added fshelp.h.
50655 * fs/ext2.c: Include <grub/fshelp.h>.
50656 (FILETYPE_REG): New macro.
50657 (FILETYPE_INO_REG): Likewise.
50658 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
50659 Changed all users.
50660 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
50661 all users.
50662 (grub_fshelp_node): New struct.
50663 (grub_ext2_data): Added member `diropen'. Changed member `inode'
50664 to a pointer.
50665 (grub_ext2_get_file_block): Removed function.
50666 (grub_ext2_read_block): New function.
50667 (grub_ext2_read_file): Replaced parameter `data' by `node'.
50668 This function was written.
50669 (grub_ext2_mount): Read the root inode. Create a diropen struct.
50670 (grub_ext2_find_file): Removed function.
50671 (grub_ext2_read_symlink): New function.
50672 (grub_ext2_iterate_dir): Likewise.
50673 (grub_ext2_open): Rewritten.
50674 (grub_ext2_dir): Rewritten.
50675 * include/grub/fshelp.h: New file.
50676 * fs/fshelp.c: Likewise.
50677
3c52136a 506782004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
50679
50680 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
50681 (print_message): Add a missing newline.
50682 (run_menu): Added timeout support.
50683 (run_menu_entry): New local function.
50684 (grub_menu_run): Added support for booting.
50685
50686 * kern/loader.c (grub_loader_is_loaded): New function.
50687
50688 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
50689 (grub_get_rtc): Exported.
50690
50691 * include/grub/i386/pc/time.h: Include grub/symbol.h.
50692 (grub_get_rtc): Exported.
50693
50694 * include/grub/normal.h (struct grub_command_list): Remove
50695 constant from the member `command'.
50696
50697 * include/grub/loader.h (grub_loader_is_loaded): Declared.
50698
50699 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
50700
50701 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
50702
aa033560 507032004-08-28 Marco Gerards <metgerards@student.han.nl>
50704
50705 Add support for the JFS filesystem.
50706
50707 * fs/jfs.c: New file.
50708 * include/grub/fs.h (grub_jfs_init): New prototype.
50709 (grub_jfs_fini): New prototype.
50710 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
50711 (grub_emu_SOURCES): Likewise.
50712 (pkgdata_MODULES): Add jfs.mod.
50713 (jfs_mod_SOURCES): New variable.
50714 (jfs_mod_CFLAGS): Likewise.
50715 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
50716 (grubof_SOURCES): Likewise.
50717 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
50718
50719 * fs/fat.c (grub_fat_find_dir): Convert the filename little
50720 endian to the host endian.
50721 (grub_fat_utf16_to_utf8): Move function from there...
50722 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 50723 the endianness of the source string anymore.
aa033560 50724 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
50725
94bc45af 507262004-08-24 Marco Gerards <metgerards@student.han.nl>
50727
50728 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
50729 (grub_boot_fini) [GRUB_UTIL]: Likewise.
50730 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
50731 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 50732
94bc45af 50733 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
50734 (grub_hfs_iterate_dir): Make the function static. Add prototypes
50735 for `node_found' and `it_dir'.
50736 (grub_hfs_dir): Add prototype for `dir_hook'.
50737
50738 * fs/minix.c (grub_minix_get_file_block): Add prototype for
50739 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
50740 and `indir32' to silence a gcc warning.
50741
50742 * include/grub/fs.h (grub_hfs_init): New prototype.
50743 (grub_hfs_fini): Likewise.
f19dbdb7 50744
50745
97543f08 507462004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
50747
50748 Each disk device has its own id now. This is useful to make use
50749 of multiple disk devices.
f19dbdb7 50750
97543f08 50751 * include/grub/disk.h (grub_disk_dev_id): New enum.
50752 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
50753 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
50754
50755 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
50756 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
50757
50758 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
50759 GRUB_DISK_DEVICE_OFDISK_ID as an id.
50760
50761 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
50762 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
50763
50764 * include/grub/disk.h (struct grub_disk_dev): Added a new member
50765 "id" which is used by the cache manager.
50766
50767 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
50768 of just "GRUB".
50769
64372eb4 507702004-08-18 Marco Gerards <metgerards@student.han.nl>
50771
50772 * fs/hfs.c: New file.
50773 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
50774 (grub_emu_SOURCES): Likewise.
50775 (pkgdata_MODULES): Add hfs.mod.
50776 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
50777 (grubof_SOURCES): Likewise.
50778 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
50779
50780 * include/grub/misc.h (grub_strncasecmp): Add prototype.
50781 * kern/misc.c (grub_strncasecmp): Add function.
50782
cc61b58f 507832004-08-14 Marco Gerards <metgerards@student.han.nl>
50784
50785 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
50786 with parentheses.
50787
50788 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
50789 (grub_ext2_dir): In case the directory entry type is unknown, read
50790 it from the inode.
50791
0ef123f6 507922004-08-02 Peter Bruin <pjbruin@dds.nl>
50793
50794 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
50795 grub_load_linux instead of grub_rescue_cmd_linux as second
50796 argument of grub_rescue_register_command.
50797
50798 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
50799
a447c5df 508002004-07-27 Marco Gerards <metgerards@student.han.nl>
50801
50802 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
50803 function.
50804 * commands/boot.c: Remove the check for `GRUB_UTIL'.
50805 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
50806 `loader/powerpc/ieee1275/linux.c',
50807 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
50808 * include/grub/powerpc/ieee1275/ieee1275.h
50809 (grub_ieee1275_release): New prototype.
50810 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
50811 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
50812 normal, boot, linux and linux_normal.
50813 * loader/powerpc/ieee1275/linux.c: New file.
50814 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
50815
5a9e3546 508162004-07-12 Marco Gerards <metgerards@student.han.nl>
50817
50818 * normal/arg.c (grub_arg_parse): Correct error handling after
50819 reallocating the argumentlist (check if `argl' is not null instead
50820 of checking if `args' is not null).
50821 * kern/mm.c (grub_realloc): Return the same pointer when using the
50822 same region, instead of returning the header address.
50823
e15199cb 508242004-07-11 Marco Gerards <metgerards@student.han.nl>
50825
50826 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
50827 one block instead of two when looking for the initial partition.
50828 (grub_partition_probe): Initialize the local variable `p' with 0.
50829 Use base 10 for the grub_strtoul call.
50830 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
50831 need for one local variable.
50832 (grub_strtoul): Don't add the new value to `num', instead of that
50833 just assign it.
50834
020616c2 508352004-07-11 Marco Gerards <metgerards@student.han.nl>
50836
50837 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
50838 (pxeboot_img_SOURCES): New variable.
50839 (pxeboot_img_ASFLAGS): Likewise.
50840 (pxeboot_img_LDFLAGS): Likewise.
50841 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
50842 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
50843 <lode_leroy@hotmail.com>.
50844
6c51eb64 508452004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
50846
50847 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
50848 there was no input.
50849
cfb12aff 508502004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
50851
50852 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
50853 the history buffer logic.
50854
6eabba74 508552004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
50856
50857 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
50858 (FILETYPE_INO_SYMLINK): New macros.
50859 (grub_ext2_find_file): Check if the node is a directory using the
50860 inode stat information instead of using the filetype in the
50861 dirent. Exclude the first character of an absolute symlink.
50862 (grub_ext2_dir): Mask out the filetype part of the mode member of
50863 the inode.
50864
66e19ef8 508652004-05-24 Marco Gerards <metgerards@student.han.nl>
50866
50867 Add support for UFS version 1 and 2. Add support for the minix
50868 filesystem version 1 and 2, both the variants with 14 and 30 long
50869 filenames.
f19dbdb7 50870
66e19ef8 50871 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
50872 fs/minix.c.
50873 (grub_emu_SOURCES): Likewise.
50874 (pkgdata_MODULES): Add ufs.mod and minix.mod.
50875 (ufs_mod_SOURCES): New variable.
50876 (ufs_mod_CFLAGS): Likewise.
50877 (minix_mod_SOURCES): Likewise.
50878 (minix_mod_CFLAGS): Likewise.
50879 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
50880 fs/minix.c.
50881 (grubof_SOURCES): Likewise.
50882 * fs/ufs.c: New file.
50883 * fs/minix.c: New file.
50884 * include/grub/fs.h (grub_ufs_init): New prototype.
50885 (grub_ufs_fini): Likewise.
50886 (grub_minix_init): Likewise.
50887 (grub_minix_fini): Likewise.
50888 * util/grub-emu.c (main): Initialize and deinitialize UFS and
50889 minix fs.
50890
cc2e748a 508912004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
50892
50893 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
50894 commands/ls.c, commands/terminal.c, commands/boot.c,
50895 commands/cmp.c and commands/cat.c.
50896 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
50897
50898 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
50899 "env.h"
50900
4b13b216 509012004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
50902
50903 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
50904 and grub_, respectively. Because the conversion is trivial and
50905 mechanical, I omit the details here. Please refer to the CVS
50906 if you need more information.
50907
6a142551 509082004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
50909
50910 * include/pupa: Renamed to ...
50911 * include/grub: ... this.
50912 * util/i386/pc/pupa-mkimage.c: Renamed to ...
50913 * util/i386/pc/grub-mkimage.c: ... this.
50914 * util/i386/pc/pupa-setup.c: Renamed to ...
50915 * util/i386/pc/grub-setup.c: ... this.
50916 * util/pupa-emu.c: Renamed to ...
50917 * util/grub-emu.c: ... this.
50918
e56cdf21 509192004-03-29 Marco Gerards <metgerards@student.han.nl>
50920
50921 Add support for the newworld apple macintosh (PPC). This has been
50922 tested on the powerbook 2000 only. It only adds support for
50923 generic ieee1275 functions, console and disk support. This should
50924 be easy to port to other architectures with support for Open
50925 Firmware.
f19dbdb7 50926
e56cdf21 50927 * configure.ac: Accept the powerpc as host_cpu. In the case of
50928 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
50929 specific tests are only executed while building for the i386.
50930 Inverse test for crosscompile.
50931 * genmk.rb (Utility): Allow assembler files.
50932 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
50933 * conf/powerpc-ieee1275.rmk: New file.
50934 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
50935 * disk/powerpc/ieee1275/partition.c: Likewise.
50936 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
50937 * include/pupa/powerpc/ieee1275/console.h: Likewise.
50938 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
50939 * include/pupa/powerpc/ieee1275/time.h: Likewise.
50940 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
50941 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
50942 * include/pupa/powerpc/ieee1275/loader.h
50943 * include/pupa/powerpc/setjmp.h: Likewise.
50944 * include/pupa/powerpc/types.h: Likewise.
50945 * kern/powerpc/ieee1275/init.c: Likewise.
50946 * kern/powerpc/ieee1275/openfw.c: Likewise.
50947 * term/powerpc/ieee1275/ofconsole.c: Likewise.
50948
50949 These files were written by Johan Rydberg
50950 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 50951
e56cdf21 50952 * boot/powerpc/ieee1275/cmain.c: New file.
50953 * boot/powerpc/ieee1275/crt0.S: Likewise.
50954 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
50955 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
50956
8c8cc205 509572004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
50958
50959 * Makefile.in: Update copyright.
50960 * genmodsrc.sh: Likewise.
50961 * gensymlist.sh: Likewise.
50962 * term/i386/pc/vga.c: Indent correctly.
50963
50964 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
50965 bugreporting address.
50966 * util/i386/pc/pupa-setup.c (usage): Likewise,
50967 (main): Call pupa_ext2_init and pupa_ext2_fini.
50968
f19dbdb7 50969 * fs/fat.c (log2): Renamed to ...
8c8cc205 50970 (fat_log2): ... this.
50971 All callers changed.
50972 * kern/misc.c (memcpy): Alias to pupa_memmove.
50973 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
50974 lvalue cast.
50975 * util/console.c (pupa_ncurses_fini): Return 0.
50976
50977 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
50978 Move fail label here.
50979 [__GNU__]: Don't warn when using stat.
50980 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
50981 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
50982 long int. Use strtol instead of strtoul.
f19dbdb7 50983
db1771cf 509842004-03-14 Marco Gerards <metgerards@student.han.nl>
50985
50986 * commands/boot.c: New file.
50987 * commands/cat.c: Likewise.
50988 * commands/cmp.c: Likewise.
50989 * commands/ls.c: Likewise.
50990 * commands/terminal.c: Likewise.
50991 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
50992 (pupa_register_command): Changed interface to match the new
50993 argument parser.
50994 (pupa_command_execute): Changed (almost rewritten) so it uses
50995 pupa_split_command. Added support for setting variables using the
50996 syntax `foo=bar'.
50997 (rescue_command): Changed to work with the new argument parser.
50998 (terminal_command): Moved from here to commands/terminal.c.
50999 (set_command): New function.
51000 (unset_command): New function.
51001 (insmod_command): New function.
51002 (rmmod_command): New function.
51003 (lsmod_command): New function.
51004 (pupa_command_init): Don't initialize the command terminal
51005 anymore. Initialize the commands set, unset, insmod, rmmod and
51006 lsmod.
51007 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
51008 (kernel_img_HEADERS): Add arg.h and env.h.
51009 (pupa_mkimage_LDFLAGS): Add kern/env.c.
51010 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
51011 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
51012 normal/arg.c.
51013 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
51014 terminal.mod.
51015 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
51016 (boot_mod_SOURCES): New variable.
51017 (terminal_mod_SOURCES): Likewise.
51018 (ls_mod_SOURCES): Likewise.
51019 (cmp_mod_SOURCES): Likewise.
51020 (cat_mod_SOURCES): Likewise.
51021
51022 * normal/arg.c: New file.
51023 * kern/env.c: Likewise.
51024 * include/pupa/arg.h: Likewise.
51025 * include/pupa/env.h: Likewise.
51026 * font/manager.c (font_command): Changed to match argument parsing
51027 interface changes.
51028 (PUPA_MOD_INIT): Likewise.
51029 * hello/hello.c (pupa_cmd_hello): Likewise.
51030 (PUPA_MOD_INIT): Likewise.
51031 * include/pupa/disk.h: Include <pupa/device.h>.
51032 (pupa_print_partinfo): New prototype.
51033 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
51034 (pupa_dl_get_prefix): Likewise.
51035 * include/pupa/misc.h: Include <pupa/err.h>.
51036 (pupa_isgraph): New prototype.
51037 (pupa_isdigit): Likewise.
51038 (pupa_split_cmdline): Likewise.
51039 * include/pupa/normal.h: Include <pupa/arg.h>.
51040 (pupa_command): Changed the prototype of the member `func' to
51041 match the argument parsing interface. Added member `options'.
51042 (pupa_register_command): Updated to match function.
51043 (pupa_arg_parse): New prototype.
51044 (pupa_hello_init) [PUPA_UTIL]: New prototype.
51045 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
51046 (pupa_ls_init) [PUPA_UTIL]: Likewise.
51047 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
51048 (pupa_cat_init) [PUPA_UTIL]: Likewise.
51049 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
51050 (pupa_boot_init) [PUPA_UTIL]: Likewise.
51051 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
51052 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
51053 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
51054 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
51055 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
51056 * kern/disk.c: Include <pupa/file.h>.
51057 (pupa_print_partinfo): New function.
51058 * kern/dl.c: Include <pupa/env.h>.
51059 (pupa_dl_dir): Variable removed.
51060 (pupa_dl_load): Use the environment variable `prefix' instead of
51061 the variable pupa_dl_dir.
51062 (pupa_dl_set_prefix): Function removed.
51063 (pupa_dl_get_prefix): Likewise.
51064 * kern/i386/pc/init.c: Include <pupa/env.h>.
51065 (pupa_machine_init): Use the environment variable `prefix' instead of
51066 using pupa_dl_set_prefix to set the prefix.
51067 * kern/main.c: Include <pupa/env.h>.
51068 (pupa_set_root_dev): Use the environment variable `prefix' instead of
51069 using pupa_dl_get_prefix to get the prefix.
51070 * kern/misc.c: Include <pupa/env.h>.
51071 (pupa_isdigit): New function.
51072 (pupa_isgraph): Likewise.
51073 (pupa_ftoa): Likewise.
51074 (pupa_vsprintf): Added support for printing values of the type
51075 `double'. Make it possible to format variable output when using
51076 formatting like `%1.2%f'.
51077 (pupa_split_cmdline): New function.
51078 * kern/rescue.c: Include <pupa/env.h>.
51079 (next_word): Removed function.
51080 (pupa_rescue_cmd_prefix): Likewise.
51081 (pupa_rescue_cmd_set): New function.
51082 (pupa_rescue_cmd_unset): New function.
51083 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
51084 split the command line instead of splitting it here. Added
51085 support for setting variables using the syntax `foo=bar'. Don't
51086 initialize the prefix command anymore. Initialized the set and
51087 unset commands.
51088 * normal/cmdline.c: Include <pupa/env.h>.
51089 (pupa_tab_complete): Added prototypes for print_simple_completion,
51090 print_partition_completion, add_completion, iterate_commands,
51091 iterate_dev, iterate_part and iterate_dir. Moved code to print
51092 partition information from here to kern/disk.c.
fe6b695a 51093 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 51094 * normal/main.c: Include <pupa/env.h>.
51095 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
51096 instead of using pupa_dl_get_prefix to get the prefix.
51097 * term/i386/pc/vga.c: Include <pupa/arg.h>.
51098 (check_vga_mem): Cast pointers to `void *' to silence a gcc
51099 warning.
51100 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
51101 (pupa_vga_setcolor): Declare unused variables with `__attribute__
51102 ((unused))' to silence a gcc warning.
51103 (pupa_vga_setcolor): Likewise.
51104 (debug_command): Changed to match argument parsing
51105 interface changes.
51106 * util/pupa-emu.c: Include <pupa/env.h>.
51107 (options): Added 0's for unused fields to silence a gcc warning.
51108 (argp): Likewise.
51109 (main): Use the environment variable `prefix' instead of using
51110 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
51111 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
51112 and terminal.
51113
51114 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
51115 * util/misc.c: Include <malloc.h>.
51116 (pupa_malloc): Rewritten so errors are correctly reported.
51117 (pupa_realloc): Likewise.
51118 (pupa_memalign): Likewise.
51119 (pupa_mm_init_region): Declare unused variables with
51120 `__attribute__ ((unused))' to silence a gcc warning.
51121 * normal/i386/setjmp.S: Remove tab at the end of the file to
51122 silence a gcc warning.
51123 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
51124 variables with `__attribute__ ((unused))' to silence a gcc
51125 warning.
51126 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
51127 local variable i unsigned to silence a gcc warning.
51128
51129 * kern/term.c: Include <pupa/misc.h>.
51130 (pupa_more_lines): New variable.
51131 (pupa_more): Likewise.
51132 (pupa_putcode): When the pager is active pause at the end of every
51133 screen.
51134 (pupa_set_more): New function.
51135 * include/pupa/term.h (pupa_set_more): New prototype.
51136
51137
3b1139cb 511382004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
51139
51140 Now this project is GRUB 2 rather than PUPA. The location of
51141 the CVS repository was moved to GRUB's.
f19dbdb7 51142
3b1139cb 51143 * configure.ac: Use bug-grub as the reporting address.
51144 Use GRUB instead of PUPA.
51145 Change the version number to 1.90.
51146
8367695c 511472004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
51148
51149 * genkernsyms.sh: Updated copyright information.
51150 * genmk.rb: Likewise.
51151 * genmodsrc.sh: Likewise.
51152 * gensymlist.sh: Likewise.
51153 * boot/i386/pc/boot.S: Likewise.
51154 * boot/i386/pc/diskboot.S: Likewise.
51155 * disk/i386/pc/biosdisk.c: Likewise.
51156 * disk/i386/pc/partition.c: Likewise.
51157 * font/manager.c: Likewise.
51158 * fs/ext2.c: Likewise.
51159 * fs/fat.c: Likewise.
51160 * include/pupa/boot.h: Likewise.
51161 * include/pupa/device.h: Likewise.
51162 * include/pupa/disk.h: Likewise.
51163 * include/pupa/dl.h: Likewise.
51164 * include/pupa/elf.h: Likewise.
51165 * include/pupa/err.h: Likewise.
51166 * include/pupa/file.h: Likewise.
51167 * include/pupa/font.h: Likewise.
51168 * include/pupa/fs.h: Likewise.
51169 * include/pupa/kernel.h: Likewise.
51170 * include/pupa/loader.h: Likewise.
51171 * include/pupa/misc.h: Likewise.
51172 * include/pupa/mm.h: Likewise.
51173 * include/pupa/net.h: Likewise.
51174 * include/pupa/normal.h: Likewise.
51175 * include/pupa/rescue.h: Likewise.
51176 * include/pupa/setjmp.h: Likewise.
51177 * include/pupa/symbol.h: Likewise.
51178 * include/pupa/term.h: Likewise.
51179 * include/pupa/types.h: Likewise.
51180 * include/pupa/i386/setjmp.h: Likewise.
51181 * include/pupa/i386/types.h: Likewise.
51182 * include/pupa/i386/pc/biosdisk.h: Likewise.
51183 * include/pupa/i386/pc/boot.h: Likewise.
51184 * include/pupa/i386/pc/console.h: Likewise.
51185 * include/pupa/i386/pc/init.h: Likewise.
51186 * include/pupa/i386/pc/kernel.h: Likewise.
51187 * include/pupa/i386/pc/linux.h: Likewise.
51188 * include/pupa/i386/pc/loader.h: Likewise.
51189 * include/pupa/i386/pc/memory.h: Likewise.
51190 * include/pupa/i386/pc/multiboot.h: Likewise.
51191 * include/pupa/i386/pc/partition.h: Likewise.
51192 * include/pupa/i386/pc/time.h: Likewise.
51193 * include/pupa/i386/pc/vga.h: Likewise.
51194 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
51195 * include/pupa/util/getroot.h: Likewise.
51196 * include/pupa/util/misc.h: Likewise.
51197 * include/pupa/util/resolve.h: Likewise.
51198 * kern/device.c: Likewise.
51199 * kern/disk.c: Likewise.
51200 * kern/dl.c: Likewise.
51201 * kern/err.c: Likewise.
51202 * kern/file.c: Likewise.
51203 * kern/fs.c: Likewise.
51204 * kern/loader.c: Likewise.
51205 * kern/main.c: Likewise.
51206 * kern/misc.c: Likewise.
51207 * kern/mm.c: Likewise.
51208 * kern/rescue.c: Likewise.
51209 * kern/term.c: Likewise.
51210 * kern/i386/dl.c: Likewise.
51211 * kern/i386/pc/init.c: Likewise.
51212 * kern/i386/pc/lzo1x.S: Likewise.
51213 * kern/i386/pc/startup.S: Likewise.
51214 * loader/i386/pc/chainloader.c: Likewise.
51215 * loader/i386/pc/linux.c: Likewise.
51216 * loader/i386/pc/multiboot.c: Likewise.
51217 * normal/cmdline.c: Likewise.
51218 * normal/command.c: Likewise.
51219 * normal/main.c: Likewise.
51220 * normal/menu.c: Likewise.
51221 * normal/i386/setjmp.S: Likewise.
51222 * term/i386/pc/console.c: Likewise.
51223 * term/i386/pc/vga.c: Likewise.
51224 * util/console.c: Likewise.
51225 * util/genmoddep.c: Likewise.
51226 * util/misc.c: Likewise.
51227 * util/pupa-emu.c: Likewise.
51228 * util/resolve.c: Likewise.
51229 * util/unifont2pff.rb: Likewise.
51230 * util/i386/pc/biosdisk.c: Likewise.
51231 * util/i386/pc/getroot.c: Likewise.
51232 * util/i386/pc/pupa-mkimage.c: Likewise.
51233 * util/i386/pc/pupa-setup.c: Likewise.
51234
e6eced71 512352004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
51236
51237 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
51238 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
51239 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
51240 reading and reset it after reading.
51241 (pupa_ext2_close): Return PUPA_ERR_NONE.
51242
51243 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
51244 Correct value.
51245 (struct linux_kernel_header): Add kernel_version and
51246 initrd_addr_max.
51247 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
51248 pupa_file_read succeeds.
51249 (pupa_rescue_cmd_initrd): Implement.
51250
5aded270 512512003-12-03 Marco Gerards <metgerards@student.han.nl>
51252
51253 * fs/ext2.c (pupa_ext2_label): New function.
51254 (pupa_ext2_fs): Added label.
51255 * fs/fat.c (pupa_fat_label): New function.
51256 (pupa_fat_fs): Added label.
51257 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
51258
51259 * kern/misc.c (pupa_strndup): New function.
51260 * include/pupa/misc.h (pupa_strndup): New prototype.
51261
51262 * include/pupa/normal.h: Include <pupa/err.h>.
51263 (pupa_set_history): New prototype.
51264 (pupa_iterate_commands): New prototype.
51265 * normal/cmdline.c: Include <pupa/machine/partition.h>,
51266 <pupa/disk.h>, <pupa/file.h>.
51267 (hist_size): New variable.
51268 (hist_lines): Likewise.
51269 (hist_end): Likewise.
51270 (hist_used): Likewise.
51271 (pupa_set_history): New function.
51272 (pupa_history_get): Likewise.
51273 (pupa_history_add): Likewise.
51274 (pupa_history_replace): Likewise.
51275 (pupa_tab_complete): Likewise.
51276 (pupa_cmdline_run): Added tab completion and history buffer. Tab
51277 completion shows partitionnames while completing partitions, this
51278 feature was suggested by Jeff Bailey.
51279 * normal/command.c (pupa_iterate_commands): New function.
51280 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
51281 (pupa_normal_init): Initialize history buffer.
51282 (PUPA_MOD_INIT): Likewise.
51283 (pupa_normal_fini): Free the history buffer.
51284 (PUPA_MOD_FINI): Likewise.
51285
51286 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
51287 key.
51288
51289 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
51290 * configure.ac [i386]: Check for regparam bug.
51291 (NESTED_FUNC_ATTR) [! i386]: Defined.
51292
1f7315a3 512932003-11-17 Marco Gerards <metgerards@student.han.nl>
51294
51295 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
51296 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
51297 (pupa_emu_SOURCES): New variable.
51298 (pupa_emu_LDFLAGS): Likewise.
51299 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
51300 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
51301 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
51302 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
51303 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
51304 (pupa_jmp_buf): New typedef.
51305 (pupa_setjmp) [PUPA_UTIL]: New macro.
51306 (pupa_longjmp) [PUPA_UTIL]: Likewise.
51307 * include/pupa/term.h (struct pupa_term): New member `refresh'.
51308 (pupa_refresh): New prototype.
51309 * include/pupa/util/getroot.h: New file.
51310 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
51311 it.
51312 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
51313 (pupa_rescue_cmd_cat): Likewise.
51314 (pupa_rescue_cmd_ls): Likewise.
51315 (pupa_rescue_cmd_testload): Likewise.
51316 (pupa_rescue_cmd_lsmod): Likewise.
51317 * normal/cmdline.c (pupa_cmdline_get): Likewise.
51318 * normal/menu.c (run_menu): Likewise.
51319 * kern/term.c (pupa_cls): Likewise.
51320 (pupa_refresh): New function.
51321 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
51322 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
51323 * util/console.c: New file.
f19dbdb7 51324
1f7315a3 51325 * util/i386/pc/getroot.c: New file.
51326 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
51327 (pupa_putchar): New function.
51328 (pupa_refresh): Likewise.
51329 (xgetcwd): Function moved to ...
51330 (strip_extra_slashes): Likewise.
51331 (get_prefix): Likewise.
f19dbdb7 51332 * util/i386/pc/getroot.c: ... here.
1f7315a3 51333 (find_root_device): Function moved and renamed to...
51334 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
51335 Changed all callers.
51336 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
51337 and renamed to...
51338 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
51339 Changed all callers.
51340 * util/misc.c (pupa_memalign): New function.
51341 (pupa_mm_init_region): Likewise.
51342 (pupa_register_exported_symbols): Likewise.
51343 (pupa_putchar): Function removed.
51344 * util/pupa-emu.c: New file.
51345
9a5c1ade 513462003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
51347
51348 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
51349 (_multiboot_mod_SOURCES): New variable.
51350 (_multiboot_mod_CFLAGS): Likewise.
51351 * loader/i386/pc/multiboot.c: New file.
51352 * include/pupa/i386/pc/multiboot.h: Likewise.
51353 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
51354 (pupa_multiboot_real_boot): New function.
51355 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
51356 (pupa_multiboot_real_boot): New prototype.
51357 (pupa_rescue_cmd_multiboot): Likewise
51358 (pupa_rescue_cmd_module): Likewise.
51359
51360 * kern/loader.c (pupa_loader_set): Continue when
51361 pupa_loader_unload_func() fails.
51362 (pupa_loader_unset): New function.
51363 * include/pupa/loader.h (pupa_loader_unset): New prototype.
51364
51365 * kern/misc.c (pupa_stpcpy): New function.
51366 * include/pupa/misc.h (pupa_stpcpy): New prototype.
51367
8e72a9c0 513682003-11-12 Marco Gerards <metgerards@student.han.nl>
51369
51370 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
51371 for available extensions.
51372
51373 * include/pupa/i386/pc/time.h: New file.
51374 * kern/disk.c: Include <pupa/machine/time.h>.
51375 (PUPA_CACHE_TIMEOUT): New macro.
51376 (pupa_last_time): New variable.
51377 (pupa_disk_open): Flush the cache when there was a timeout.
51378 (pupa_disk_close): Reset the timer.
51379 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
51380 pupa_currticks.
51381 * util/misc.c: Include <sys/times.h>
51382 (pupa_get_rtc): New function.
51383
c4adbd32 513842003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
51385
51386 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
51387 as blocks.
51388 (pupa_ext2_get_file_block): Use blocks member.
51389
51390 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
51391 first block. Return -1 instead of pupa_errno on error.
51392
bfd30f06 513932003-10-27 Marco Gerards <metgerards@student.han.nl>
51394
51395 * README: In the pupa-mkimage example use _chain instead of chain
51396 and ext2 instead of fat.
51397 * TODO: Replace ext2fs with jfs as an example. Add an item for
51398 adding journal playback for ext2fs.
51399 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
51400 (pkgdata_MODULES): Added ext2.mod.
51401 (ext2_mod_SOURCES): New variable.
51402 (ext2_mod_CFLAGS): Likewise.
51403 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
51404 * include/pupa/misc.h (pupa_strncpy): New prototype.
51405 (pupa_strcat): Likewise.
51406 (pupa_strncmp): Likewise.
51407 * kern/misc.c (pupa_strcat): Enable function.
51408 (pupa_strncpy): New function.
51409 (pupa_strncmp): Likewise.
51410 * fs/ext2.c: New file.
f19dbdb7 51411
bfd30f06 51412 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
51413 when the read failed before retrying.
51414 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
51415 (_FILE_OFFSET_BITS): Likewise.
51416 * configure.ac: Added AC_SYS_LARGEFILE.
51417
98d15063 514182003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
51419
51420 * genmk.rb (PModule#rule): Make sure to get only symbol names
51421 from the output of nm.
59cad637 51422 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 51423
18d9c7cd 514242003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
51425
51426 I forgot to check in these changes for a long time. This adds
51427 incomplete support for VGA console, and this is still very
51428 buggy. Also, a lot of consideration is required for I18N,
51429 UNICODE, and VGA font issues. Therefore, assume that this is
51430 such that "better than nothing".
f19dbdb7 51431
18d9c7cd 51432 * font/manager.c: New file.
51433 * include/pupa/font.h: Likewise.
51434 * include/pupa/i386/pc/vga.h: Likewise.
51435 * term/i386/pc/vga.c: Likewise.
51436 * util/unifont2pff.rb: Likewise.
51437
51438 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
51439 (pkgdata_MODULES): Added vga.mod and font.mod.
51440 (vga_mod_SOURCES): New variables.
51441 (vga_mod_CFLAGS): Likewise.
51442 (font_mod_SOURCES): Likewise.
51443 (font_mod_CFLAGS): Likewise.
51444
51445 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
51446
51447 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 51448 (struct pupa_term): Added init and fini.
18d9c7cd 51449 Changed the argument of putchar to pupa_uint32_t.
51450
51451 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
51452 (pupa_console_real_putchar): New prototype.
51453 (pupa_console_putchar): Removed.
51454 (pupa_console_checkkey): Exported.
51455 (pupa_console_getkey): Likewise.
51456
51457 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
51458 characters.
51459
51460 * kern/term.c (pupa_term_set_current): Rewritten.
51461 (pupa_putchar): Likewise.
51462 (pupa_putcode): New function.
51463
51464 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
51465 (pupa_console_real_putchar): ... this.
51466 (pupa_vga_set_mode): New function.
51467 (pupa_vga_get_font): Likewise.
51468
51469 * normal/command.c: Include pupa/term.h.
51470 (terminal_command): New function.
51471 (pupa_command_init): Register the command "terminal".
51472
51473 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
51474 (DISP_UP): Likewise.
51475 (DISP_RIGHT): Likewise.
51476 (DISP_DOWN): Likewise.
51477 (DISP_HLINE): Likewise.
51478 (DISP_VLINE): Likewise.
51479 (DISP_UL): Likewise.
51480 (DISP_UR): Likewise.
51481 (DISP_LL): Likewise.
51482 (DISP_LR): Likewise.
51483
51484 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 51485
977329f5 514862003-02-08 NIIBE Yutaka <gniibe@m17n.org>
51487
51488 * util/resolve.c (pupa_util_resolve_dependencies): BUG
51489 FIX. Reverse the path_list.
51490
51491 * include/pupa/normal.h: Export pupa_register_command and
51492 pupa_unregister_command.
51493
51494 * hello/hello.c (pupa_cmd_hello): New module.
51495 * conf/i386-pc.rmk: Added hello.mod.
51496
1f5ab428 514972003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
51498
51499 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 51500
1f5ab428 51501 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
51502 (compress_kernel): New variable.
51503 (generate_image): Heavily modified to support compressing a
51504 large part of the core image.
51505
51506 * util/misc.c (pupa_util_read_image): Fix a file descriptor
51507 leak.
51508 (pupa_util_load_image): New function.
51509
51510 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
51511 (pupa_compressed_size): New variable.
51512 (codestart): Enable Gate A20 here.
51513 Decompress the compressed part of the core image.
51514 Rearrange the code to put functions and variables which are
51515 required for initialization in the non-compressed part.
51516 Include lzo1x.S.
51517
51518 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
51519 here.
51520
51521 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
51522
f19dbdb7 51523 * include/pupa/i386/pc/kernel.h
1f5ab428 51524 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
51525 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
51526 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
51527 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
51528 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
51529
51530 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
51531
51532 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
51533 (Utility#rule): Likewise.
51534
51535 * configure.ac: Check if LZO is available.
51536
ce5bf700 515372003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
51538
51539 * include/pupa/normal.h: New file.
51540 * include/pupa/setjmp.h: Likewise.
51541 * include/pupa/i386/setjmp.h: Likewise.
51542 * normal/cmdline.c: Likewise.
51543 * normal/command.c: Likewise.
51544 * normal/main.c: Likewise.
51545 * normal/menu.c: Likewise.
51546 * normal/i386/setjmp.S: Likewise.
f19dbdb7 51547
ce5bf700 51548 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
51549 (pupa_rescue_cmd_initrd): Likewise.
51550
51551 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
51552 Likewise.
51553
51554 * kern/i386/pc/startup.S (translation_table): New variable.
51555 (translate_keycode): New function.
51556 (pupa_console_getkey): Call translate_keycode.
51557
51558 * kern/rescue.c (attempt_normal_mode): New function.
51559 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
51560 it failed, print a message.
51561
51562 * kern/mm.c (pupa_real_malloc): Print more information when a
51563 free magic is broken.
51564 (pupa_free): If the first free header is not free actually, set
51565 it to P.
51566
51567 * kern/main.c (pupa_load_normal_mode): Just load the module
51568 "normal".
51569 (pupa_main): Don't print the message
51570 "Entering into rescue mode..." here.
51571
51572 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
51573 Declared.
51574 (pupa_rescue_cmd_initrd): Likewise.
51575 (pupa_rescue_cmd_initrd): Likewise.
51576
51577 * include/pupa/symbol.h (FUNCTION): Specify the type.
51578 (VARIABLE): Likewise.
51579
51580 * include/pupa/err.h (pupa_err_t): Added
51581 PUPA_ERR_UNKNOWN_COMMAND.
51582
51583 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
51584 (pupa_dl_get_prefix): Likewise.
51585
51586 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
51587 Added _chain.mod and _linux.mod instead of chain.mod and
51588 linux.mod.
51589 (chain_mod_SOURCES): Renamed to ...
51590 (_chain_mod_SOURCES): ... this.
51591 (chain_mod_CFLAGS): Renamed to ...
51592 (_chain_mod_CFLAGS): ... this.
51593 (linux_mod_SOURCES): Renamed to ...
51594 (_linux_mod_SOURCES): ... this.
51595 (linux_mod_CFLAGS): Renamed to ...
51596 (_linux_mod_CFLAGS): ... this.
51597 (normal_mod_SOURCES): New variable.
51598 (normal_mod_CFLAGS): Likewise.
51599 (normal_mod_ASFLAGS): Likewise.
51600
516012003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
51602
51603 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
51604 possible.
51605
fe6b695a 51606 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 51607 recursively.
51608 (pupa_dl_unref): Unrefer depending modules recursively.
51609 Don't call pupa_dl_unload implicitly, because PUPA can crash if
51610 a module is unloaded before one depending on that module is
51611 unloaded.
51612 (pupa_dl_unload): Unload depending modules explicitly,
51613 if possible.
51614
c04da074 516152003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
51616
51617 * include/pupa/i386/pc/linux.h: New file.
51618 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 51619
c04da074 51620 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
51621 Removed.
51622 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
51623 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
51624 of PUPA_CHAINLOADER_BOOT_SECTOR.
51625
51626 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
51627 (pupa_linux_prot_size): New variable.
51628 (pupa_linux_tmp_addr): Likewise.
51629 (pupa_linux_real_addr): Likewise.
51630 (pupa_linux_boot_zimage): New function.
51631 (pupa_linux_boot_bzimage): Likewise.
51632
51633 * kern/i386/pc/init.c (struct mem_region): New structure.
51634 (MAX_REGIONS): New macro.
51635 (mem_regions): New variable.
51636 (num_regions): Likewise.
51637 (pupa_os_area_addr): Likewise.
51638 (pupa_os_area_size): Likewise.
51639 (pupa_lower_mem): Likewise.
51640 (pupa_upper_mem): Likewise.
51641 (add_mem_region): New function.
51642 (compact_mem_regions): Likewise.
51643 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
51644 the size of the conventional memory and that of so-called upper
51645 memory (before the first memory hole).
51646 Instead of adding each found region to free memory, use
51647 add_mem_region and add them after removing overlaps.
51648 Also, add only 1/4 of the upper memory to free memory. The rest
51649 is used for loading OS images. Maybe this is ad hoc, but this
51650 makes it much easier to relocate OS images when booting.
51651
51652 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
51653 (pupa_enter_rescue_mode): Don't register initrd and module.
51654
51655 * kern/mm.c: Include pupa/dl.h.
51656
51657 * kern/main.c: Include pupa/file.h and pupa/device.h.
51658
51659 * kern/loader.c (pupa_loader_load_module_func): Removed.
51660 (pupa_loader_load_module): Likewise.
51661
51662 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
51663 ``.o''.
51664
51665 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
51666 (pupa_linux_tmp_addr): Likewise.
51667 (pupa_linux_real_addr): Likewise.
51668 (pupa_linux_boot_zimage): Likewise.
51669 (pupa_linux_boot_bzimage): Likewise.
51670
51671 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
51672 (pupa_upper_mem): Likewise.
51673 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
51674 module is too dangerous.
51675
51676 * include/pupa/loader.h (pupa_os_area_addr): Declared.
51677 (pupa_os_area_size): Likewise.
51678 (pupa_loader_set): Remove the first argument. Loader doesn't
51679 manage modules or initrd any longer.
51680 (pupa_loader_load_module): Removed.
51681
51682 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
51683 (linux_mod_SOURCES): New variable.
51684 (linux_mod_CFLAGS): Likewise.
51685
a13f9237 516862003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
51687
51688 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
51689 the length of a blocklist correctly.
51690
51691 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
51692 Use ioctl only if the OS file is a block device.
51693 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
51694 not very useful for normal files.
51695
51696 * kern/main.c (pupa_set_root_dev): New function.
51697 (pupa_load_normal_mode): Likewise.
51698 (pupa_main): Call those above.
51699
51700 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
51701 pupa_uint16_t.
51702
51703 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
51704
a5ffe966 517052003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
51706
51707 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
51708 (setup): Configure the installed partition information and the
51709 dl prefix.
51710
51711 * loader/i386/pc/chainloader.c (my_mod): New variable.
51712 (pupa_chainloader_unload): New function.
51713 (pupa_rescue_cmd_chainloader): Refer itself.
51714 (PUPA_MOD_INIT): Save its own module in MY_MOD.
51715
51716 * kern/i386/pc/startup.S (install_partition): Removed.
51717 (version_string): Likewise.
51718 (config_file): Likewise.
51719 (pupa_install_dos_part): New variable.
51720 (pupa_install_bsd_part): Likewise.
51721 (pupa_prefix): Likewise.
51722 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
51723
51724 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
51725 and pupa/misc.h.
51726 (make_install_device): New function.
51727 (pupa_machine_init): Set the dl prefix.
51728
51729 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
51730 (buf): Renamed to ...
51731 (linebuf): ... this.
51732 (pupa_rescue_cmd_prefix): New function.
51733 (pupa_rescue_cmd_insmod): Likewise.
51734 (pupa_rescue_cmd_rmmod): Likewise.
51735 (pupa_rescue_cmd_lsmod): Likewise.
51736 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
51737 rmmod and lsmod.
51738
51739 * kern/mm.c (pupa_memalign): If failed even after invalidating
51740 disk caches, unload unneeded modules and retry.
51741
51742 * kern/misc.c (pupa_memmove): New function.
51743 (pupa_memcpy): Removed.
51744 (pupa_strcpy): New function.
51745 (pupa_itoa): Made static.
51746
51747 * kern/dl.c (pupa_dl_iterate): New function.
51748 (pupa_dl_ref): Likewise.
51749 (pupa_dl_unref): Likewise.
51750 (pupa_dl_unload): Return if succeeded or not.
51751 (pupa_dl_unload_unneeded): New function.
51752 (pupa_dl_unload_all): Likewise.
51753 (pupa_dl_init): Renamed to ...
51754 (pupa_dl_set_prefix): ... this.
51755 (pupa_dl_get_prefix): New function.
51756
51757 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
51758 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
51759 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
51760 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
51761 (pupa_install_dos_part): Declared.
51762 (pupa_install_bsd_part): Likewise.
51763 (pupa_prefix): Likewise.
51764 (pupa_boot_drive): Likewise.
51765
51766 * include/pupa/types.h: Fix a typo.
51767
51768 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
51769 pupa_memmove.
51770 (pupa_memmove): Declared.
51771 (pupa_strcpy): Likewise.
51772
51773 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
51774 pupa_mod_init takes one argument, its own module.
51775 (pupa_dl_unload_unneeded): Declared.
51776 (pupa_dl_unload_all): Likewise.
51777 (pupa_dl_ref): Likewise.
51778 (pupa_dl_unref): Likewise.
51779 (pupa_dl_iterate): Likewise.
51780 (pupa_dl_init): Renamed to ...
51781 (pupa_dl_set_prefix): ... this.
51782 (pupa_dl_get_prefix): Declared.
51783
51784 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 51785 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 51786 unloaded.
51787 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
51788 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
51789
51790 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
51791 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
51792
012d7999 517932003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
51794
51795 * util/i386/pc/pupa-setup.c (setup): Define the internal
51796 function find_first_partition_start at the top level, because GCC
51797 3.0.x cannot compile internal functions in deeper scopes
51798 correctly.
51799 (find_root_device): Use lstat instead of stat.
51800 Don't follow symbolic links.
51801 Fix the path-constructing code.
51802
51803 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
51804 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
51805 by a BLKGETSIZE ioctl first, because block devices don't fill
51806 the member st_mode of the structure stat on Linux.
51807 [__linux__] (linux_find_partition): Use a temporary buffer
51808 REAL_DEV for the working space. Copy it to DEV before returning.
51809 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
51810 buffer cache consistent.
51811 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
51812 strncmp. The previous value was merely wrong.
51813 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
51814
51815 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
51816 FAT size is 12. The previous value was merely wrong.
51817
51818 * kern/main.c (pupa_main): Don't split the starting message from
51819 newlines.
51820
51821 * kern/term.c (pupa_putchar): Put CR after LF instead of before
51822 LF, because BIOS goes crazy about character attributes in this
51823 case.
51824
1cc73a62 518252003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
51826
51827 * include/i386/pc/util/biosdisk.h: New file.
51828 * util/i386/pc/biosdisk.c: Likewise.
51829 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 51830
1cc73a62 51831 * Makefile.in (INCLUDE_DISTFILES): Added
51832 include/pupa/i386/pc/util/biosdisk.h.
51833 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
51834 directory util/i386/pc.
51835 (install-local): Added a rule for sbin_UTILITIES.
51836 (uninstall): Likewise.
51837
51838 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
51839
51840 * util/misc.c (xrealloc): New function.
51841 (pupa_malloc): Likewise.
51842 (pupa_free): Likewise.
51843 (pupa_realloc): Likewise.
51844 (pupa_stop): Likewise.
51845 (pupa_putchar): Likewise.
51846
51847 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
51848
51849 * include/pupa/util/misc.h (xrealloc): Declared.
51850
51851 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
51852 macro.
51853 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
51854 (PUPA_BOOT_MACHINE_BPB_END): ... this.
51855
51856 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
51857 [PUPA_UTIL] (pupa_fat_fini): Likewise.
51858
51859 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
51860 way should be implemented.
51861 [PUPA_UTIL] (pupa_fat_fini): Likewise.
51862
51863 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
51864 the size of NAME for safety.
51865 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
51866 0x88.
51867
51868 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
51869 (pupa_setup_SOURCES): Likewise.
51870
51871 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
51872
08b70fe8 518732002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
51874
51875 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
51876 bunch of pushl's from pusha, because this destroys the return
51877 value.
51878
62ddcc8f 518792002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
51880
51881 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
51882 This means that any missing prototypes could be fatal. Also, you
51883 must take care when writing assembly code. See the comments at
51884 the beginning of startup.S, for more details.
f19dbdb7 51885
62ddcc8f 51886 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
51887 compilation mechanism.
51888 (pupa_chainloader_real_boot): Likewise.
51889 (pupa_biosdisk_rw_int13_extensions): Likewise.
51890 (pupa_biosdisk_rw_standard): Likewise.
51891 (pupa_biosdisk_check_int13_extensions): Likewise.
51892 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
51893 (pupa_biosdisk_get_diskinfo_standard): Likewise.
51894 (pupa_get_memsize): Likewise.
51895 (pupa_get_mmap_entry): Likewise.
51896 (pupa_console_putchar): Likewise.
51897 (pupa_console_setcursor): Likewise.
51898 (pupa_getrtsecs): Use pushl instead of push.
51899
51900 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
51901 memory instead of the stack for a mmap entry, because some
51902 BIOSes may ignore the maximum size and overflow.
51903
51904 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
51905
51906 * genmk.rb (PModule#rule): Compile automatically generated
51907 sources with module-specific CFLAGS as well as other sources.
51908
9962ed99 519092002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
51910
51911 * configure.ac: Check ld.
51912 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
51913 respectively, before checking endianness and sizes.
51914
51915 * Makefile.in (LD): New variable.
f19dbdb7 51916
abdfc3c5 519172002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
51918
51919 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
51920
6a161fa9 519212002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
51922
51923 * Changelog: New file.
51924