]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* util/grub-install.c (main): Adjust info messages to match
[grub2.git] / ChangeLog
CommitLineData
a8c3e5e3
CW
12013-11-19 Colin Watson <cjwatson@ubuntu.com>
2
3 * util/grub-install.c (main): Adjust info messages to match
4 installed paths of grub-bios-setup and grub-sparc64-setup.
5
4402db3e
CW
62013-11-19 Colin Watson <cjwatson@ubuntu.com>
7
8 * util/grub-install-common.c (copy_locales): Consistently use
9 grub_util_get_localedir () rather than LOCALEDIR.
10 (grub_install_copy_files): Likewise.
11
7960d3e1
JT
122013-11-19 Josh Triplett <josh@joshtriplett.org>
13
14 * grub-core/kern/x86_64/efi/startup.S (_start): Align the stack to a
15 16-byte boundary, as required by the x86-64 ABI, before calling
16 grub_main. In some cases, GCC emits code that assumes this
17 alignment, which crashes if not aligned. The EFI firmware is also
18 entitled to assume that stack alignment without checking.
19
d53f4900
JT
202013-11-18 Josh Triplett <josh@joshtriplett.org>
21
22 * grub-core/mmap/efi/mmap.c (grub_mmap_register): Round up/down to
23 4k page boundaries as expected by firmware rather than 1k
24 boundaries.
25 (grub_mmap_malign_and_register): Likewise.
26
bb2b275b
VS
272013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
28
29 * tests/grub_func_test.in: Decrease RAM size to 512M. With less
30 fragmentation 512M is enough.
31
45bf8b3a
VS
322013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
33
34 * grub-core/kern/mm.c (grub_real_malloc): Decrease cut-off of moving the
35 pointer to 32K. This is the size of cache element which is the most
36 common allocation >1K. This way the pointer is always around blocks
37 of 32K and so we keep performance while decreasing fragmentation.
38
39ff43c5
VS
392013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
40
41 * grub-core/kern/mm.c (grub_real_malloc): Don't update the pointer to
42 current memory when allocating large chunks. This significantly
43 decreases memory fragmentation.
44
60870be8
CW
452013-11-18 Colin Watson <cjwatson@ubuntu.com>
46
47 * tests/gzcompress_test.in: Skip if gzip is not installed (unlikely,
48 but for symmetry).
49 * tests/lzocompress_test.in: Skip if lzop is not installed.
50 * tests/xzcompress_test.in: Skip if xz is not installed.
51
a1f00cc5
CW
522013-11-18 Colin Watson <cjwatson@ubuntu.com>
53
54 * util/grub-mkrescue.c (main): Fix typo.
55
74e632fe
VS
562013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
57
58 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Update
59 clock frequency to 200 MHz,
60
efb8de49
VS
612013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
62
63 * tests/util/grub-shell.in: Increase console size to 1024x1024.
64
b7526e78
VS
652013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
66
67 * Makefile.am (default_payload.elf): Add pata to loaded modules.
68 Load config file from (cbfsdisk)/etc/grub.cfg.
69
b40ce651
VS
702013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
71
72 * util/grub-install-common.c (grub_install_copy_files): Fix module
73 destination directory.
74
1e8e2e78
CW
752013-11-18 Colin Watson <cjwatson@ubuntu.com>
76
77 * tests/util/grub-shell.in: Don't fail on emu platform if po/*.gmo
78 files have not been built.
79
3bf4088b
CW
802013-11-18 Colin Watson <cjwatson@ubuntu.com>
81
82 * grub-core/osdep/unix/hostdisk.c (grub_util_make_temporary_file):
83 Handle errors from mkstemp.
84 (grub_util_make_temporary_dir): Handle errors from mkdtemp.
85
35c2851c
VS
862013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
87
88 * tests/util/grub-shell.in: Use -cdrom and don't force cdrom
89 on primary master on pseries.
90
ea7c1a7d
VS
912013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
92
93 * grub-core/tests/videotest_checksum.c: Don't reload unifont if it's
94 already loaded. This saves memory needed for tests,
95
96adefdb
VS
962013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
97
98 * util/grub-mkrescue.c (main): Fix a typo to make yeeloong part
99 work again.
100
5e3cb8a7
VS
1012013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
102
103 * grub-core/term/terminfo.c (grub_cmd_terminfo): Fix a typo to make -g
104 work again.
105
256ee7ac
VS
1062013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
107
108 * tests/util/grub-shell.in: For powerpc tests put the CD-ROM as primary
109 master since with some combinations of qemu and firmware only primary
110 IDE channel is available.
111
f8b4c3b6
VS
1122013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
113
114 * grub-core/tests/gfxterm_menu.c: Skip high-resolution tests on
115 low-memory platforms where we don't have enough memory for them.
116 * grub-core/tests/videotest_checksum.c: Likewise.
117
4bf70320
VS
1182013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
119
120 * grub-core/tests/cmdline_cat_test.c: Don't reload unifont if it's
121 already loaded. This saves memory needed for tests,
122
a284320e
VS
1232013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
124
125 Fix handling of install lists.
126
2df8f43d
VS
1272013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
128
129 * grub-core/lib/sparc64/setjmp.S: Force spilling of current window.
130
6f1bc8bc
VS
1312013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
132
133 On i386-ieee1275 we run in paged mode. So we need to explicitly map
134 the devices before accessing them.
135
04f39f6d
VS
1362013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
137
138 * grub-core/lib/relocator.c (grub_mm_check_real): Accept const char *
139 as file argument.
140
35d4761c
VS
1412013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
142
143 * grub-core/normal/cmdline.c (grub_cmdline_get): Plug memory leak.
144
33d02a42
VS
1452013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
146
147 * grub-core/kern/file.c (grub_file_open): Free file->name on failure.
148 (grub_file_close): Free file->name.
149
7bbb60cf
VS
1502013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
151
152 * grub-core/commands/verify.c (free_pk): Plug memory leak.
153 (grub_load_public_key): Likewise.
154 (grub_verify_signature_real): Likewise.
155 (grub_cmd_verify_signature): Likewise.
156
da93d675
VS
1572013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
158
159 * grub-core/commands/legacycfg.c (grub_legacy_check_md5_password): Plug
160 memory leak.
161
59c943ec
VS
1622013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
163
164 * grub-core/lib/powerpc/setjmp.S (grub_setjmp): Save r31.
165 (grub_longjmp): Restore r31.
166 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Reserve space for r31.
167
4336b5d8
VS
1682013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
169
170 * util/grub-mkrescue.c (make_image_fwdisk_abs): Insert all partmap
171 modules to be in line with make_image_abs.
172
44ce3a93
VS
1732013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
174
175 * include/grub/mips/setjmp.h (grub_jmp_buf): Fix buffer size.
176
177 setjmp.S uses 12 entries but buffer is declared with only 11 entries.
178
7d400406
IC
1792013-11-17 Ian Campbell <ijc@hellion.org.uk>
180
181 * grub-core/disk/uboot/ubootdisk.c: Include SCSI disks.
182
77dae919
VS
1832013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
184
185 * tests/grub_func_test.in: Increase memory reservation as on EFI we need
186 to leave some memory to firmware.
187
0ab8e025
VS
1882013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
189
190 * grub-core/tests/cmdline_cat_test.c (cmdline_cat_test): Ignore errors
191 of loading gfxterm as gfxterm is embed in kernel on some platforms.
192 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Likewise.
193 Load gfxmenu.
194
b80c2d6d
VS
1952013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
196
197 * tests/core_compress_test.in: Use full arguments as grub-mkimage-extra
198 now needs full arguments.
199
6aa6077b
VS
2002013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
201
202 * util/grub-mkrescue.c (main): Add trailing \n in
203 .disk_label.contentDetails to be in line with previous shell script.
204
66c00cb1
VS
2052013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
206
207 * util/grub-mkrescue.c (main): Use right source file for bootinfo.txt.
208
3a129dba
VS
2092013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
210
211 * util/grub-install-common.c (grub_install_parse): Recognize
212 --compress=none like shell script did.
213
8df6eff6
VS
2142013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
215
216 * include/grub/misc.h: Replace check for __sparc64__ with one for
217 __sparc__ as __sparc64__ isn't actually defined.
218
889ebe92
VS
2192013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
220
221 * tests/util/grub-shell.in: Use escc-ch-b on powerpc. This is missing
222 counterpart of fixing the naming of escc ports.
223
d4d55b29
VS
2242013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
225
226 * util/grub-install-common.c (platforms): Fix the order of entries and
227 remove useless field val.
228
55e2c84f
VS
2292013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
230
231 * util/grub-install.c: Add new option --no-bootsector to skip
232 installing of bootsector. Accept --grub-setup=/bin/true as
233 backwards-compatible synonym.
234
cd46aa6c
VS
2352013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
236
237 * util/grub-install.c (device_map_check_duplicates): Fix incorrect
238 order of qsort arguments (number of elements vs. element size).
239
2402013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
241
242 Rewrite grub-install, grub-mkrescue, grub-mkstandalone and grub-mknetdir
243 the function of these files exceeds what can be sanely handled in shell
244 in posix-comaptible way. Also writing it in C extends the functionality
245 to non-UNIX-like OS and minimal environments.
246
9ef81064
VS
2472013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
248
249 * grub-core/kern/arm/cache.S: Don't switch back to ARM mode when
250 compiling to thumb2.
251 * grub-core/kern/arm/cache_armv7.S: Likewise.
252 * grub-core/lib/arm/setjmp.S: Likewise.
253
11a77932
LL
2542013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
255
256 * grub-core/kern/arm/uboot/startup.S: delete superflouous save of r8
257 in grub_uboot_syscall
258
080603f0
VS
2592013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
260
261 Decrease stack usage in lexer.
262
263 We have only 92K of stack and using over 4K per frame is wasteful
264
265 * grub-core/script/yylex.l (yyalloc), (yyfree), (yyrealloc): Declare
266 as macros so that compiler would remove useless structure on stack.
267 Better solution would be to fix flex not to put this structure on
268 the stack but flex is external program.
269
4f84ae0e
VS
2702013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
271
272 Decrease stack usage in signature verification.
273
274 We have only 92K of stack and using over 4K per frame is wasteful
275
276 * grub-core/commands/verify.c (grub_load_public_key): Allocate on heap
277 rather than stack.
278 (grub_verify_signature_real): Likewise.
279
e6a6182d
VS
2802013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
281
282 Decrease stack usage in mdraid 0.9x.
283
284 We have only 92K of stack and using over 4K per frame is wasteful
285
286 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Allocate on heap
287 rather than stack.
288
1a454efe
VS
2892013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
290
291 Decrease stack usage in BtrFS.
292
293 We have only 92K of stack and using over 4K per frame is wasteful
294
295 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Allocate on heap
296 rather than stack.
297
7b5d51d8
VS
2982013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
299
300 Decrease stack usage in JFS.
301
302 We have only 92K of stack and using over 4K per frame is wasteful
303
304 * grub-core/fs/jfs.c (getblk): Allocate on heap rather than on
305 stack. Note: this function is recursive.
306 (grub_jfs_read_inode): Read only part we care about.
307
593865b9
LL
3082013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
309
310 * grub-core/kern/arm/uboot/startup.S: fix grub_uboot_syscall va_arg
311 handling
7b5d51d8 312
31c0cd43
AB
3132013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
314
315 * configure.ac: Restore -nostdlib for libgcc symbols tests.
316
c2fdb331
AB
3172013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
318
319 * docs/grub.texi (Environment): Document cmdpath.
320
9e18dfe2
AB
3212013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
322
323 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
324 Remove "unused" attribute from arguments, they are used.
325
59ba9d14
CW
3262013-11-15 Colin Watson <cjwatson@debian.org>
327
328 * .gitignore: Only ignore grub-mk* at the top level.
329
23012db9
CW
3302013-11-15 Colin Watson <cjwatson@ubuntu.com>
331
332 * util/grub-reboot.in (usage): Fix a typo.
333
6fcec439
VS
3342013-11-15 Vladimir Serbinenko <phcoder@gmail.com>
335
336 Replace libgcc version of ctz with our own.
337
338 On upcoming arm64 port libgcc ctz* are not usable in standalone
339 environment. Since we need ctz* for this case and implementation is
340 in C we may as well use it on all concerned platforms.
341
a9f25a08
VS
3422013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
343
344 * configure.ac: Probe for linking format rather than guessing it based
345 on target_os.
346
c7995256
VS
3472013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
348
349 * grub-core/disk/xen/xendisk.c (grub_xendisk_fini): Set state to
350 "1" prior to handoff.
351
352 Reported by: M A Young.
353
e1aa5b66
VS
3542013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
355
356 * grub-core/kern/xen/init.c (grub_xenstore_write_file): Don't add
357 \0 to all files.
358
359 Reported by: M A Young.
360
da5ed5cf
VS
3612013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
362
363 * grub-core/osdep/bsd/hostdisk.c (grub_util_get_fd_size_os): Fix
364 compilation on NetBSD.
365
5757a93e
VS
3662013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
367
368 * acinclude.m4: Don't add -P on initial nm test.
369
370 Note: even though this patch postdates Andrey's it bears 14 Nov as
371 date due to timezone difference.
372
a5986276
AB
3732013-11-15 Andrey Borzenkov <arvidjaar@gmail.com>
374
375 * grub-core/Makefile.core.def (signature_test): Add missing
376 tests/signatures.h.
377
0de172a0
CW
3782013-11-14 Colin Watson <cjwatson@ubuntu.com>
379
380 * util/grub-install_header: Set localedir here, since this file is
381 where it's used.
382 * util/grub-install.in: Remove setting of localedir.
383 * util/grub-mkrescue.in: Likewise.
384
da45f43c
VS
3852013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
386
387 * Makefile.am (default_payload.elf): Add uhci, ohci and usb_keyboard.
388
20aea949
VS
3892013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
390
391 * configure.ac: Move nm checks to the end.
392 Call grub_PROG_NM_WORKS.
393 * acinclude.m4: New check grub_PROG_NM_WORKS.
394 Use $TARGET_CFLAGS -c when compiling test binary.
395
1326b9ae
CW
3962013-11-14 Colin Watson <cjwatson@ubuntu.com>
397
398 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__GNU__]: Remove
399 unused variables.
400
1fe26ab4
MG
4012013-11-14 Matthew Garrett <mjg@redhat.com>
402
403 * grub-core/kern/main.c (grub_set_prefix_and_root): Set variable
404 cmdpath to firmware directory.
405
83e9c273
VS
4062013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
407
408 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Reset the pointer
409 at the start of second iteration.
410
ec525c18
VS
4112013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
412
413 * grub-core/Makefile.am (efiemu64.o): Explicitly set link format.
414
93fcc7ad
VS
4152013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
416
417 * Makefile.am (default_payload.elf): New target for easier coreboot
418 build.
419
57ffe934
VS
4202013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
421
422 * grub-core/kern/arm/cache_armv6.S: Remove special handling for
423 clang (not necessarry with -no-integrated-as).
424 * include/grub/symbol.h [__arm__]: Likewise.
425
2312f06c
VS
4262013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
427
428 * configure.ac: Use -no-integrated-as on arm with clang.
429 * INSTALL: Mention ARM compilation with clang.
430
2416415c
VS
4312013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
432
433 * conf/Makefile.common (CCASFLAGS_PLATFORM) [COND_arm]: Add
434 -mthumb-interwork.
435
5da55172
CW
4362013-11-14 Colin Watson <cjwatson@ubuntu.com>
437
438 * grub-core/fs/ext2.c (grub_ext2_read_block): Factor out common
439 code for indirect block handling.
440
441 Saves 185 bytes on compressed image.
442
da770328
PFS
4432013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
444
445 Fix make clean.
446
447 * Makefile.am: Remove build-grub-* in make clean.
448
f02e6b56
PFS
4492013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
450
451 New files to gitignore.
452
453 * .gitignore: Add build-grub-gen-asciih, build-grub-gen-widthspec,
454 build-grub-mkfont, and grub-emu-lite. Remove .bzrignore.
455
035a26c1
LL
4562013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
457
458 * grub-core/kern/arm/misc.S: Make thumb2-compatible.
459
bc8a6137
LL
4602013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
461
462 * .gitignore: fix rules for .dep* and add *.a post git migration
463
6fe506b0
CW
4642013-11-13 Colin Watson <cjwatson@ubuntu.com>
465
466 * configure.ac (AM_INIT_AUTOMAKE): Require at least version 1.10.1,
467 to match INSTALL.
468
81a2e438
CW
4692013-11-13 Colin Watson <cjwatson@ubuntu.com>
470
471 * grub-core/kern/misc.c: Don't redirect divisions in the
472 GRUB_UTIL case.
473 * include/grub/misc.h: Likewise.
474
9b45c073
CW
4752013-11-13 Colin Watson <cjwatson@ubuntu.com>
476
477 * grub-core/osdep/unix/emuconsole.c (put): Pacify the compiler on
478 systems that require checking the return value of write.
479
11b2a9b7
CW
4802013-11-13 Colin Watson <cjwatson@ubuntu.com>
481
482 * util/grub-install.in (efi_quiet): Fix inverted logic: make
483 efibootmgr quiet when --debug is not used, rather than when it is.
484
d743d22d
CW
4852013-11-13 Colin Watson <cjwatson@ubuntu.com>
486
487 * gentpl.py (define_macro_for_platform_dependencies): Remove
488 first (and thus unused) of two definitions for this function.
489 (platform_dependencies): Likewise.
490
11da14b5
CW
4912013-11-13 Colin Watson <cjwatson@ubuntu.com>
492
493 * acinclude.m4 (grub_apple_cc): Remove; since the removal of nested
494 functions, we only need to check this for the target, not the host.
495 * configure.ac (grub_apple_cc): Likewise.
496
2bdd0719
VS
4972013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
498
499 * grub-core/kern/arm/cache.c (probe_caches): Move asm part to ...
500 * grub-core/kern/arm/cache_armv6.S: ... here. This allows this
501 asm to stay in arm even if surrounding is thumb.
502
5e77d9cf
VS
5032013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
504
505 * grub-core/kern/arm/misc.S: Add __muldi3 and __aeabi_lmul. Those
506 helper functions are needed for thumb.
507
7d511625
VS
5082013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
509
510 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Make
511 level / 3 division explicitly unsigned. Saves few bytes.
512
81023dbd
VS
5132013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
514
515 * grub-core/fs/zfs/zfs.c (ZAP_LEAF_NUMCHUNKS): Use unsigned arithmetics.
516
b2e9294f
VS
5172013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
518
519 * grub-core/normal/datetime.c (grub_get_weekday): Use if rather than
520 division.
521
16a22c38
VS
5222013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
523
524 * grub-core/kern/uboot/init.c: Move grub_uboot_machine_type and
525 grub_uboot_boot_data to asm part.
526
c9cd02c9
VS
5272013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
528
529 * grub-core/kern/arm/uboot/startup.S: Remove = by replacing with
530 literal load.
531 (grub_uboot_syscall): Save/restore r9 and align stack.
532
81498615
VS
5332013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
534
535 * grub-core/kern/arm/cache.S: Replace = with explicit litteral load.
536
ea57de18
VS
5372013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
538
539 * include/grub/symbol.h (END) [__arm__]: New macros. Replace all .end
540 occurencies with END.
541
d0d1e3da
CW
5422013-11-13 Colin Watson <cjwatson@ubuntu.com>
543
544 * util/grub-editenv.c (help_filter, argp): Document how to delete
545 the whole environment block.
546 Reported by Dan Jacobson. Fixes Debian bug #726265.
547
3809f016
CW
5482013-11-13 Colin Watson <cjwatson@ubuntu.com>
549
550 * docs/grub.texi (Internationalisation, Supported kernels): Fix
551 sectioning.
552
46d8a203
JT
5532013-11-13 Josh Triplett <josh@joshtriplett.org>
554
555 * grub-core/normal/term.c (grub_set_more): Use bool logic rather than
556 increment/decrement.
557
513eeb61
VS
5582013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
559
560 * grub-core/kern/arm/cache_armv6.S [__clang__]: Don't add .armv6 when
561 compiling with clang.
562
bc379c1a
VS
5632013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
564
565 * grub-core/kern/arm/uboot/startup.S: Use .org rather than assigning
566 ".".
567
5682013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
286551b4 569
16057d6b
VS
570 Redirect all divisions to grub_divmod64.
571
f649a6a8
VS
5722013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
573
574 * grub-core/term/tparm.c (tparam_internal): Use unsigned divisions.
575
ef28ee8b
VS
5762013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
577
578 Add missing includes of loader.h.
579
300f48c5
VS
5802013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
581
582 * configure.ac: Allow disabling themes.
583
2d357558
LS
5842013-11-12 Lukas Schwaighofer <lukas@schwaighofer.name>
585
586 * util/grub.d/20_linux_xen.in: Don't decompress initrd.
587
0c62a5b2
VS
5882013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
589
590 * grub-core/term/at_keyboard.c: Don't poll non-functional AT controller
591 until it becomes operational.
592
b0720b49
VS
5932013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
594
595 * grub-core/Makefile.core.def (legacy_password_test): Disable
596 on platforms where no legacycfg is compiled.
597 * grub-core/tests/lib/functional_test.c: Tolerate failure to
598 load legacy_password_test.
599
d5bab2c0
VS
6002013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
601
602 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
603
3ea0ccb3
VS
6042013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
605
606 * grub-core/efiemu/prepare.c: Remove variable length arrays.
607
08772054
VS
6082013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
609
610 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror): Silence
611 strict-aliasing warning.
612 (fsync): Silence cast warning.
613
1dcb2715
VS
6142013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
615
616 * grub-core/commands/verify.c: Remove variable length arrays.
617 Load gcry_dsa/gcry_rsa automatically.
618
61c22fdf
VS
6192013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
620
621 * grub-core/tests/signature_test.c: New test.
622
431e57a7
VS
6232013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
624
625 * grub-core/disk/cryptodisk.c (luks_script_get): Adapt to new procfs
626 API.
627
b521bb81
VS
6282013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
629
630 * grub-core/tests/legacy_password_test.c (vectors): Make static.
631 * grub-core/tests/pbkdf2_test.c (vectors): Likewise.
632
7d06b24e
VS
6332013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
634
635 * grub-core/tests/setjmp_test.c: Reset counter to 0 before starting.
636
3bbeade4
VS
6372013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
638
639 * grub-core/fs/proc.c: Allow \0 in proc files.
640
ba82db7a
VS
6412013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
642
643 * grub-core/tests/xnu_uuid_test.c: Fix assert message.
644
801564c8
VS
6452013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
646
647 * grub-core/tests/xnu_uuid_test.c: Fix copyright year.
648
ac8cac1d
VS
6492013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
650
651 * grub-core/fs/ext2.c: Remove variable length arrays.
652
4b85f122
VS
6532013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
654
655 * grub-core/lib/crypto.c (grub_crypto_cbc_decrypt): Remove variable
656 length arrays.
657
c35fcdc0
VS
6582013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
659
660 * grub-core/disk/AFSplitter.c: Remove variable length arrays.
661 * grub-core/disk/cryptodisk.c: Likewise.
662 * grub-core/disk/geli.c: Likewise.
663 * grub-core/disk/luks.c: Likewise.
664
15decd26
VS
6652013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
666
667 * grub-core/tests/legacy_password_test.c: New test.
668 * grub-core/commands/legacycfg.c: Remove variable length arrays.
669
9c6482b8
VS
6702013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
671
672 * grub-core/lib/pbkdf2.c: Remove variable length arrays.
673
41f26e0e
VS
6742013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
675
676 * grub-core/tests/pbkdf2_test.c: New test.
677
2def6616
VS
6782013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
679
680 * grub-core/lib/xzembed/xz_dec_stream.c: Remove variable length arrays.
681
9e34a34e
VS
6822013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
683
684 * grub-core/io/lzopio.c: Remove variable length arrays.
685
5ccaf904
VS
6862013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
687
688 * include/grub/crypto.h: Add maximums on hash size and cipher block
689 size.
690
44a387e0
VS
6912013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
692
693 * grub-core/commands/xnu_uuid.c: Remove variable length arrays.
694
a388e255
VS
6952013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
696
697 * grub-core/tests/xnu_uuid_test.c: New test.
698
a1ef7718
VS
6992013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
700
701 * grub-core/commands/hashsum.c: Remove unneeded memset (zalloc already
702 covers it).
703
65ddb300
VS
7042013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
705
706 * grub-core/commands/hashsum.c: Remove variable length arrays.
707
31747dd5
VS
7082013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
709
710 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Handle out-of-memory
711 condition.
712 * tests/grub_func_test.in: Increase memory allocation.
713
6a74c4df
VS
7142013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
715
716 * grub-core/osdep/unix/getroot.c [HAVE_STRUCT_STATFS_F_FSTYPENAME
717 && HAVE_STRUCT_STATFS_F_MNTFROMNAME]: Include sys/param.h and
718 sys/mount.h.
719
394c3e0a
VS
7202013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
721
722 * grub-core/osdep/apple/hostdisk.c (grub_util_get_fd_size): Rename to ..
723 (grub_util_get_fd_size_os): ...this.
724 (grub_hostdisk_flush_initial_buffer): New empty function.
725
60d31116
VS
7262013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
727
728 * grub-core/gensyminfo.sh.in: Handle the case of portable output
729 without --defined-only.
730
8445b011
VS
7312013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
732
733 * grub-core/lib/i386/relocator_common.S [__APPLE__ && __x86_64__]: Use
734 rip-relative addressing in prologue.
735
8506a641
VS
7362013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
737
738 * include/grub/misc.h [__APPLE__]: Do not add regparm(0) on x86_64.
739 * grub-core/kern/misc.c (__bzero) [__APPLE__]: New function.
740
66acd9d6
VS
7412013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
742
743 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
744 Add missing semicolon.
745
348d0535
VS
7462013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
747
748 * util/grub-macho2img.c: Use plain fopen rather than grub_util_fopen.
749
0d2d30bb
VS
7502013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
751
752 * configure.ac: Check for lzma.h for enabling liblzma and allow
753 manual disabling.
754
631187be
VS
7552013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
756
757 Add missing includes of loader.h.
758
e756ec82
FZ
7592013-11-11 Fam Zheng <famcool@gmail.com>
760
761 * util/grub.d/30_os-prober.in: Add minix entry.
762
87d62d7d
VS
7632013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
764
765 * grub-core/loader/i386/coreboot/chainloader.c (load_segment): Use
766 right buffer for temporary load.
767
5460cfeb
VS
7682013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
769
770 * grub-core/loader/i386/coreboot/chainloader.c: Support tianocore.
771
89977306
VS
7722013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
773
774 * grub-core/loader/i386/coreboot/chainloader.c: Support lzma-compressed
775 payload.
776
3617c59b
VS
7772013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
778
779 * include/grub/lib/LzmaDec.h: Fix to include LzmaTypes.h and
780 not Types.h.
781 * grub-core/lib/LzmaDec.c: Fix prologue to make it compileable in GRUB
782 environment.
783 (LzmaDec_InitDicAndState): Make static.
784
881c6a10
VS
7852013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
786
787 * util/grub-mkimagexx.c (generate_elf): Fix module address on coreboot.
788
2024ade2
VS
7892013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
790
791 * grub-core/term/ieee1275/escc.c (GRUB_MOD_INIT): Fix order of channels.
792
793 Reported by: Aaro Koskinen <aaro.koskinen@iki.fi>
794
674ad4f6
VS
7952013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
796
797 * docs/grub-dev.texi: Replace bzr references with git ones.
798
5b99970e
AB
7992013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
800
801 * docs/grub.texi (Simple configuration): Remove reference to
802 grub-reboot from saved default entry description - grub-default
803 does not use it anymore.
804
3c2304d5
VS
8052013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
806
807 * configure.ac: Make efiemu test cflags match the cflags efiemu is
808 compiled with.
809
80cfd940
AB
8102013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
811
812 * docs/grub.texi (Simple configuration): Document GRUB_DISABLE_SUBMENU.
813
33690255
VS
8142013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
815
816 Fix grub_machine_fini bitrot.
817
818 Reported by: Glenn Washburn.
819
c61471fc
VS
8202013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
821
822 * configure.ac: Remove leftover -fnested-funcions -Wl,-allow_execute.
823
54da019f
VS
8242013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
825
826 * grub-core/Makefile.am (efiemu): Remove leftover -DAPPLE_CC and
827 -DELF.
828 * grub-core/efiemu/runtime/config.h: Use __i386__ and __x86_64__
829 instead of ELF*.
830
8312013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
28668d80
VS
832
833 * configure.ac: Restore CFLAGS to TARGET_CFLAGS before external tests.
834 Add -march=core2 when testing compile of efiemu64.
835
836 Thanks Andrey Borzenkov for spotting this.
837
9612ebc0
VS
8382013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
839
840 Add new ports: i386-xen and x86_64-xen. This allows running GRUB in
841 XEN PV environment and load kernels.
842
1a46a3a4
VS
8432013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
844
845 * grub-core/loader/i386/multiboot_mbi.c: Handle space in command line.
846 * grub-core/loader/multiboot_mbi2.c: Likewise.
847
2df12551
VS
8482013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
849
850 * grub-core/lib/cmdline.c (grub_loader_cmdline_size): Fix empty cmdline
851 handling.
852
3c980381
VS
8532013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
854
855 * grub-core/commands/i386/cmostest.c: Add new command "cmosset".
856
857 Tested by: Denis 'GNUtoo' Carikli.
858
800f63d3
VS
8592013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
860
861 * grub-core/normal/datetime.c (grub_get_weekday): Use unsigned types.
862
9f8acdaa
VS
8632013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
864
5620eb53
VS
865 * grub-core/gfxmenu/gui_circular_progress.c (parse_angle):
866 Use to get rounded angle rather than truncated.
867
8682013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
869
870 * grub-core/term/serial.c: Add option for enabling/disabling
9f8acdaa
VS
871 RTS/CTS flow control.
872
2dc1eb6c
VS
8732013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
874
875 * grub-core/lib/libgcrypt/cipher/idea.c (mul_inv): Remove signed
876 divisions.
877
b9563c94
VS
8782013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
879
880 * grub-core/lib/libgcrypt/mpi/mpih-div.c (_gcry_mpih_divrem):
881 Use grub_fatal rather than divide by zero.
882 * grub-core/lib/libgcrypt/mpi/mpi-pow.c (gcry_mpi_powm): Likewise.
883
d6d8e9a9
VS
8842013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
885
886 * include/grub/gui.h (grub_fixed_sfs_divide): Round rather than
887 truncate.
888 (grub_fixed_fsf_divide): Likewise.
889
d06de6c8
VS
8902013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
891
892 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Avoid
893 division by-zero and senseless negative divisions.
894
6af7d49b
VS
8952013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
896
897 * grub-core/gfxmenu/gui_circular_progress.c (circprog_paint): Avoid
898 division by-zero and senseless negative divisions.
899 (circprog_set_property): Don't accept negative num_ticks.
900
bcfa6d72
VS
9012013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
902
903 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Avoid
904 division by-zero and senseless negative divisions.
905
dd7f792c
VS
9062013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
907
908 * configure.ac: Use elf_*_fbsd on kfreebsd.
909
d061fda7
VS
9102013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
911
912 * grub-core/tests/div_test.c: New test.
913
4db22500
VT
9142013-11-08 Vladimir Testov <vladimir.testov@rosalab.ru>
915
916 * grub-core/gfxmenu/gui_box.c: Updated to work with area status.
917 * grub-core/gfxmenu/gui_canvas.c: Likewise.
918 * grub-core/gfxmenu/view.c: Likewise.
919 * grub-core/video/fb/video_fb.c: Introduce new functions:
920 grub_video_set_area_status, grub_video_get_area_status,
921 grub_video_set_region, grub_video_get_region.
922 * grub-core/video/bochs.c: Likewise.
923 * grub-core/video/capture.c: Likewise.
924 * grub-core/video/video.c: Likewise.
925 * grub-core/video/cirrus.c: Likewise.
926 * grub-core/video/efi_gop.c: Likewise.
927 * grub-core/video/efi_uga.c: Likewise.
928 * grub-core/video/emu/sdl.c: Likewise.
929 * grub-core/video/radeon_fuloong2e.c: Likewise.
930 * grub-core/video/sis315pro.c: Likewise.
931 * grub-core/video/sm712.c: Likewise.
932 * grub-core/video/i386/pc/vbe.c: Likewise.
933 * grub-core/video/i386/pc/vga.c: Likewise.
934 * grub-core/video/ieee1275.c: Likewise.
935 * grub-core/video/i386/coreboot/cbfb.c: Likewise.
936 * include/grub/video.h: Likewise.
937 * include/grub/video_fb.h: Likewise.
938 * include/grub/fbfill.h: Updated render_target structure.
939 grub_video_rect_t viewport, region, area
940 int area_offset_x, area_offset_y, area_enabled
941 * include/grub/gui.h: New helper function
942 grub_video_bounds_inside_region.
943 * docs/grub-dev.texi: Added information about new functions.
944
c6b755df
VS
9452013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
946
947 * grub-core/kern/mm.c (grub_real_malloc): Use AND rather than MOD
948 for alignment.
949
e2a68100
VS
9502013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
951
952 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Add
953 missing attribute.
954 * grub-core/gdb/cstub.c (grub_gdb_trap): Likewise.
955
c4f11a2a
VS
9562013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
957
958 * grub-core/kern/misc.c (grub_divmod64): Don't fallback to
959 simple division on arm and ia64.
960
e0a7bffa
VS
9612013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
962
963 * grub-core/kern/arm/misc.S (__aeabi_unwind_cpp_pr0): Add dummy to
964 link with libgcc.
965
38b864ea
VS
9662013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
967
968 * include/grub/symbol.h (FUNCTION), (VARIABLE): Fix precedence logic.
969
12359faf
VS
9702013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
971
972 * include/grub/symbol.h (FUNCTION), (VARIABLE) [__arm__]: Use % as
973 prefix symbol, not @.
974
9fdc64a9
VS
9752013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
976
977 * INSTALL: Add note about older gcc and clang.
978
665c575b
VS
9792013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
980
981 * tests/util/grub-shell.in: Boot as hdd on ppc by default.
982
47dcf7b1
VS
9832013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
984
985 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_module): Fix
986 NULL pointer dereference.
987
d59849b2
VS
9882013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
989
990 * grub-core/Makefile.am: Do not include libgcc.h when compiling with
991 clang.
992
7a3f4a18
VS
9932013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
994
995 * grub-core/kern/powerpc/dl.c: Add missing pragma to silence cast-align
996 warnings.
997
7f084087
VS
9982013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
999
1000 * grub-core/net/net.c (grub_net_route_unregister): Remove unused
1001 function.
1002 * grub-core/loader/i386/xnu.c (hextoval): Likewise.
1003 * grub-core/disk/geli.c (ascii2hex): Likewise.
1004
d5524ca8
VS
10052013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1006
1007 * configure.ac: Run linker tests without -Werror.
1008 Define TARGET_LDFLAGS_STATIC_LIBGCC and TARGET_LIBGCC.
1009 Change all occurences of -static-libgcc resp -lgcc to
1010 TARGET_LDFLAGS_STATIC_LIBGCC resp TARGET_LIBGCC.
1011
390cd7ca
VS
10122013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1013
1014 * configure.ac: Don't add -no-itegrated-as on clang on non-x86.
1015
60375a88
VS
10162013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1017
1018 Allow compiling with clang (not really supported though).
1019
1020 * conf/Makefile.common (CFLAGS_PLATFORM): Don't add -mrtd -mregparm=3
1021 unconditionally.
1022 * configure.ac: Add -no-integrated-as when using clangfor asm files.
1023 Add -mrtd -mregparm=3 on i386 when not using clang.
1024 * grub-core/kern/misc.c (grub_memset): Add volatile when on clang.
1025
dd07e0c4
VS
10262013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1027
1028 * grub-core/kern/ieee1275/cmain.c: Add explicit attribute on asm
1029 bindings.
1030 * grub-core/lib/reed_solomon.c: Likewise.
1031 * include/grub/i386/gdb.h: Likewise.
1032 * include/grub/i386/pc/int.h: Likewise.
1033 * include/grub/i386/pc/pxe.h: Likewise.
1034 * include/grub/ieee1275/ieee1275.h: Likewise.
1035
9d3ae8ec
VS
10362013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1037
1038 Import libgcrypt 1.5.3.
1039
c12936c5
VS
10402013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1041
1042 * configure.ac: Don't add -Wcast-align on x86.
1043
cdc17f60
VS
10442013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1045
1046 * configure.ac: Add -freg-struct-return on all platforms that
1047 support it.
1048
b35ec299
VS
10492013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1050
1051 * acinclude.m4: Use -Werror on parameter tests.
1052 * configure.ac: Likewise.
1053
05f3a0d7
VS
10542013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1055
1056 * acinclude.m4: Add missing TARGET_CCASFLAGS on asm tests.
1057
c966a489
VS
10582013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1059
1060 * configure.ac: Check that -malign-loops works rather than assuming that
1061 either -falign-loops or -malign-loops work.
1062
bb0c57ec
VS
10632013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1064
1065 * configure.ac: Remove -fnested-functions. We don't need it anymore.
1066
24f4e57c
VS
10672013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1068
1069 * configure.ac: Prevent cflags leaking to subsequent tests by always
1070 resetting cflags to target_cflags in target tests.
1071
ac319fbc
VS
10722013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1073
1074 * grub-core/kern/parser.c (grub_parser_split_cmdline): Remove nested
1075 function.
1076
4bfe934c
VS
10772013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1078
1079 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove nested functions.
1080
40a5bfde
VS
10812013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1082
1083 * grub-core/lib/arg.c (grub_arg_parse): Remove nested function.
1084
a67c755e
VS
10852013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1086
1087 * grub-core/normal/cmdline.c (grub_cmdline_get):
1088 Remove nested functions.
1089
87a04a2d
VS
10902013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1091
1092 * tests/test_sha512sum.in: Make it work on emu.
1093
c03995d2
VS
10942013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1095
1096 * grub-core/normal/charset.c (bidi_line_wrap): Eliminate nested
1097 functions.
1098 (grub_bidi_line_logical_to_visual): Likewise.
1099
ec0ebb3f
VS
11002013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1101
1102 Remove vestiges of -Wunsafe-loop-optimisations.
1103
1104 * conf/Makefile.common (CFLAGS_GNULIB): Remove
1105 -Wno-unsafe-loop-optimisations.
1106 * grub-core/commands/legacycfg.c: Remove -Wunsafe-loop-optimisations
1107 pragma.
1108 * grub-core/io/gzio.c: Likewise.
1109 * grub-core/script/parser.y: Likewise.
1110 * grub-core/script/yylex.l: Likewise.
1111 * util/grub-mkfont.c: Likewise.
1112
6ab537e3
VS
11132013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1114
1115 * util/grub-mkfont.c (process_cursive): Remove nested function.
1116
e6c368d4
VS
11172013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1118
1119 * include/grub/misc.h (grub_dprintf): Use unnamed vararg.
1120 (grub_boot_time): Likewise.
1121
4f1cfd22
VS
11222013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1123
1124 * include/grub/symbol.h (FUNCTION): Use @function rather than
1125 "function".
1126 (VARIABLE): Likewise.
1127
6d5a4cee
VS
11282013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1129
1130 * grub-core/net/bootp.c (OFFSET_OF): Explicitly cast to grub_size_t.
1131
f06c2172
VS
11322013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1133
1134 * grub-core/net/bootp.c (set_env_limn_ro): Make pointer const.
1135 (parse_dhcp_vendor): Likewise.
1136
7cb24eb5
VS
11372013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1138
1139 * util/grub-mkimagexx.c (relocate_symbols): Remove unneeded brackets.
1140
f30c692c
VS
11412013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1142
1143 * grub-core/gettext/gettext.c (main_context), (secondary_context):
1144 Define after defining type and not before.
1145
8b66bb5d
VS
11462013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1147
1148 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Return right error
1149 type.
1150 (grub_gcm_decrypt): Likewise.
1151 (algo_decrypt): Likewise.
1152 (grub_zfs_decrypt_real): Transform error type.
1153
5d17fd0f
VS
11542013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1155
1156 * grub-core/disk/geli.c (geli_rekey): Fix error return type.
1157
ac35a0f7
VS
11582013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1159
1160 * grub-core/disk/usbms.c (grub_usbms_cbi_cmd): Fix error type.
1161 (grub_usbms_cbi_reset): Likewise.
1162 (grub_usbms_bo_reset): Likewise.
1163 (grub_usbms_reset): Likewise.
1164 (grub_usbms_attach): Likewise.
1165 (grub_usbms_transfer_cbi): Likewise.
1166
3ee08697
VS
11672013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1168
1169 * grub-core/io/lzopio.c (test_header): Simplify code and remove useless
1170 "checksum = checksum;".
1171
70bb6c85
VS
11722013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1173
1174 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix type of
1175 entry_type.
1176
c7f34744
VS
11772013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1178
1179 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel): Fix
1180 BIOS disk check.
1181
3f63b4d8
VS
11822013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1183
1184 * grub-core/bus/usb/ehci.c (grub_ehci_restore_hw): Return right enum
1185 type.
1186 (grub_ehci_fini_hw): Likewise.
1187 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
1188
dac6ce73
VS
11892013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1190
1191 * include/grub/usb.h (grub_usb_controller_dev): Make portstatus
1192 return grub_usb_err_t for cosistency. All users updated.
1193
5701750c
VS
11942013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1195
1196 * util/mkimage.c (SzAlloc): Use attribute unused rather than dubious
1197 assigning to itself.
1198
9e236169
GLD
11992013-11-05 Gustavo Luiz Duarte <gustavold@linux.vnet.ibm.com>
12002013-11-05 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1201
1202 Issue separate DNS queries for ipv4 and ipv6
1203
1204 Adding multiple questions on a single DNS query is not supportted by
1205 most DNS servers. This patch issues two separate DNS queries
1206 sequentially for ipv4 and then for ipv6.
1207
1208 Fixes: https://savannah.gnu.org/bugs/?39710
1209
1210 * grub-core/net/bootp.c (parse_dhcp_vendor): Add DNS option.
1211 * grub-core/net/dns.c (grub_dns_qtype_id): New enum.
1212 * (grub_net_dns_lookup): Now using separated dns packages.
1213 * (grub_cmd_nslookup): Add error condition.
1214 * (grub_cmd_list_dns): Print DNS option.
1215 * (grub_cmd_add_dns): Add four parameters: --only-ipv4, --only-ipv6,
1216 --prefer-ipv4, and --prefer-ipv6.
1217 * include/grub/net.h (grub_dns_option_t): New enum.
1218 * (grub_net_network_level_address): option added.
1219
339eacce
VT
12202013-11-05 Vladimir Testov <vladimir.testov@rosalab.ru>
1221
1222 * grub-core/video/fb/video_fb.c: Merge two blit functions
1223 into one.
1224
810f991b
VS
12252013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1226
1227 * grub-core/term/terminfo.c: Add sequences for home and end.
1228
386571a2
VS
12292013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1230
1231 * grub-core/lib/legacy_parse.c: Fix handling of hercules and add
1232 graphics console.
1233
3fe63754
VS
12342013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1235
1236 * grub-core/video/i386/pc/vga.c: Fix double bufferring and
1237 add mode 0x12.
1238
76681e71
VS
12392013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1240
1241 * docs/grub.texi (Vendor power-on keys): Add XPS M1330M based on old
1242 e-mail by Per Öberg.
1243
46522fb7
VS
12442013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1245
1246 * grub-core/commands/i386/nthibr.c (GRUB_MOD_INIT): Fix typo in command
1247 name.
1248
e7d09ac4
AB
12492013-11-04 Andrey Borzenkov <arvidjaar@gmail.com>
1250
1251 * configure.ac: Explicitly disable emusdl, emuusb and emupci on non-
1252 emu platforms.
1253 * grub-core/Makefile.core.def: Enable emupci and emuucb only for emu.
1254
67508925
VS
12552013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1256
1257 * docs/grub.texi: Document usage of menuentry id.
1258
0c62124e
VS
12592013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1260
1261 * docs/grub.texi: Add few mentions about EFI, debug and videoinfo.
1262
9b5d4eed
PL
12632013-11-04 Peter Lustig <peter.lustig.7db@gmail.com>
1264
1265 * grub-core/commands/i386/nthibr.c: New command.
1266
79054c1d
VS
12672013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1268
1269 * grub-core/tests/video_checksum.c: Add 2560x1440 mode to testing.
1270
44d47bbe
VS
12712013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1272
1273 * include/grub/term.h (grub_term_coordinate): Extend to 16-bit per
1274 coordinate.
1275
323de05b
VS
12762013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1277
1278 Support GRUB_DISABLE_SUBMENU config.
1279
1280 Inspired by patch from Prarit Bhargava.
1281
5a01722e
VS
12822013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1283
1284 * docs/grub.texi: Mention RSA support.
1285
1106c3f0
VS
12862013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1287
1288 * grub-core/commands/verify.c: Add RSA support.
1289
a1dcc2cb
VS
12902013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1291
1292 * grub-core/disk/ahci.c (grub_ahci_pciinit): Detect ATAPI devices.
1293 * grub-core/disk/ata.c (grub_ata_identify): Use atapi_identify if
1294 device is known to be ATAPI.
1295
ee7fb780
MF
12962013-11-03 Mike Frysinger <vapier>
1297
1298 * configure.ac: Don't add target-prefix.
1299
5ade4a42
VS
13002013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1301
1302 * grub-core/commands/loadenv.c (grub_cmd_save_env): Remove unset
1303 variables.
1304
6cd66043
VS
13052013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1306
1307 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Ignore errors
1308 if language is English.
1309
090d7c81
VS
13102013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1311
1312 * grub-core/osdep/linux/getroot.c: Fix cast-align problems.
1313
dd614590
VS
13142013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1315
1316 * configure.ac: Don't add -m32/-m64 on emu.
1317
a8686589 13182013-11-02 neil
1319
1320 * grub-core/osdep/linux/blocklist.c: Include linux/types.h for some
1321 broken linux headers.
1322
fb9f12a0
VS
13232013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1324
1325 * util/grub.d/30_os-prober.in: Add unhiding of partition if on msdos.
1326
e25f8e1f
VS
13272013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1328
1329 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Don't do
1330 Reed-Solomon recovery if more than half of redundancy info is 0.
1331
4685200f
VS
13322013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1333
1334 * util/grub-mount.c: Handle symlinks to directories.
1335
1397f0b5
VS
13362013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1337
1338 * grub-core/fs/fshelp.c (find_file): Save ctx->next when calling
1339 find_file recursively for symlink.
1340
8b3e6eb6
VS
13412013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1342
1343 * tests/util/grub-shell.in: Copy themes.
1344
a0c9d5c6
VS
13452013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1346
1347 * util/grub-mkimagexx.c (locate_sections): Reject mislinked images.
1348
5cf9459c
VS
13492013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1350
1351 * configure.ac: Use 0x8000 for address instead of 8000.
1352
e7b66a28
VS
13532013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1354
1355 * grub-core/loader/sparc64/ieee1275/linux.c (get_physbase): Fix
1356 signature.
1357
203f53fb
VS
13582013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1359
1360 * grub-core/disk/efi/efidisk.c (grub_efidisk_readwrite): Remove unused
1361 variable.
1362
02663ee9
VS
13632013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1364
1365 * configure.ac (TARGET_CFLAGS): Add -march=i386 on i386.
1366
f169f65e
VS
13672013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1368
1369 * grub-core/fs/hfspluscomp.c (hfsplus_read_compressed_real): Call
1370 file_progress_read_hook.
1371 * grub-core/fs/ntfscomp.c (hfsplus_read_compressed_real): Likewise.
1372
2855a0fc
VS
13732013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1374
1375 * conf/Makefile.common (CFLAGS_PLATFORM): Remove poisoning of float
1376 and double.
1377
bf0f3a8c
VS
13782013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1379
1380 * grub-core/fs/tar.c (grub_cpio_read): Add read_hook.
1381
cb72aa18
VS
13822013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1383
1384 Rewrite blocklist functions in order to get progress when
1385 reading large extents and decrease amount of blocklist hook calls.
1386
896f9135
VS
13872013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1388
1389 * grub-core/term/serial.c (options), (grub_cmd_serial): Fix handling
1390 of SI suffixes.
1391
89295a06
VS
13922013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1393
1394 Support --base-clock for serial command to handle weird cards with
1395 non-standard base clock.
1396
eb03ede0
VS
13972013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1398
1399 * grub-core/fs/ext2.c (grub_ext2_read_symlink): Use memcpy rather
1400 strncpy.
1401 * grub-core/fs/jfs.c (grub_jfs_lookup_symlink): Likewise.
1402 * grub-core/kern/misc.c (grub_strncpy): Move from here ...
1403 * include/grub/misc.h (grub_strncpy): ... to here. Make inline.
1404 * grub-core/net/net.c (grub_net_addr_to_str): Use COMPILE_TIME_ASSERT
1405 + strcpy rather than strncpy.
1406
8fbe5c7d
VS
14072013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1408
1409 * grub-core/fs/zfs/zfs.c (nvpair_name): Use correct type for size.
1410 (check_pool_label): Likewise. Fixes overflow.
1411 (nvlist_find_value): Fix comparison.
1412
e54b8f53
VS
14132013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1414
1415 * include/grub/misc.h (grub_strcat): Removed. All users changed to
1416 more appropriate functions.
1417
fa9b3dca
VS
14182013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1419
1420 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Avoid inefficient
1421 realloc.
1422
9a021c55
VS
14232013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1424
1425 * util/grub-mkrescue.in: Do not use UUID search on EFI.
1426
80e8b13a
VS
14272013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1428
1429 * grub-core/kern/dl.c: Unify section-finding algorithm. Saves 30 bytes
1430 on core size.
1431
b61599ac
VS
14322013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1433
1434 * grub-core/kern/mm.c (grub_realloc): Don't copy more data than we have.
1435
a602dc54
VS
14362013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1437
1438 * grub-core/io/gzio.c (huft_build): Use zalloc for safety.
1439 (initialize_tables): reset tl and td to NULL after freeing.
1440
93c12075
VS
14412013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1442
1443 * grub-core/loader/multiboot_mbi2.c: Implement network tag.
1444
1ca4b75e
VS
14452013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1446
1447 * grub-core/loader/multiboot_mbi2.c: Add EFI memory map to the list
1448 of supported tags.
1449
329550c4
VS
14502013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1451
1452 * grub-core/loader/multiboot_mbi2.c: Implement EFI memory map.
1453
00bfa988
VS
14542013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1455
1456 * grub-core/loader/multiboot.c: Add support for multiboot kernels
1457 quirks.
1458
81afc5cc
VS
14592013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1460
1461 * grub-core/loader/i386/linux.c (allocate_pages): Allocate at least
1462 a page in protected space.
1463
cb3c4a47
VS
14642013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1465
1466 * grub-core/loader/multiboot.c (grub_cmd_module): Don't attempt to
1467 allocate space for zero-sized modules.
1468
954f7bf5
VS
14692013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1470
1471 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Reject empty images.
1472
526d3d25
FL
14732013-10-28 Francesco Lavra <francescolavra.fl@gmail.com>
1474
1475 * grub-core/lib/fdt.c: Fix miscellaneous bugs.
1476
74124c34
VS
14772013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1478
1479 * grub-core/lib/progress.c (grub_file_progress_hook_real): Add missing
1480 safeguards. Fixes a crash with i386/pc/console.c.
1481
5177391e
VS
14822013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1483
1484 * include/grub/emu/hostdisk.h: Add proper declaration for grub_host_init
1485 and grub_hostfs_init.
1486
64db14b0
VS
14872013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1488
1489 * grub-core/kern/emu/hostdisk.c (grub_util_check_file_presence): Use
1490 windows method on other platforms without good stat as well.
1491
effe2036
VS
14922013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1493
1494 * grub-core/osdep/linux/getroot.c: Add new btrfs defines.
1495
82591fa6 14962013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
e11cb726 1497
82591fa6
VS
1498 Make / in btrfs refer to real root, not the default volume.
1499 Modify mkrelpath to work even if device is mounted with subvolid option.
1500
15012013-10-28 Andrey Borzenkov <arvidjaar@gmail.com>
1502
1503 * Makefile.util.def: Add grub-core/kern/disk_common.c to library
e11cb726
AB
1504 extra_dist.
1505 * grub-core/Makefile.core.def: Add kern/disk_common.c to disk module
1506 extra_dist.
1507
30fd7198
VS
15082013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1509
1510 * util/grub-mkfont.c (main): Show error message when FT_Set_Pixel_Sizes
1511 fails.
1512
8d179dae
BC
15132013-10-27 BVK Chaitanya <bvk.groups@gmail.com>
1514
1515 * docs/autoiso.cfg: New file.
1516
3bc9c8cf
VS
15172013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1518
1519 * configure.ac: Remove leftover COND_BUILD_GRUB_MKFONT and
1520 COND_GRUB_PE2ELF conditions.
1521
8b46b0ea
VS
15222013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1523
1524 * grub-core/loader/i386/bsd.c (grub_cmd_openbsd): Accept "sd", "cd",
1525 "vnd", "rd" and "fd" disks.
1526
442b86de
VS
15272013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1528
1529 Move grub_disk_write out of kernel into disk.mod.
1530
04dea7e6
VS
15312013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1532
1533 * grub-core/kern/misc.c (grub_vsnprintf_real): Unify int and wchar
1534 handling.
1535
15362013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a8f15bce
VS
1537
1538 * grub-core/kern/misc.c (grub_abort): Make static
1539
04dea7e6 15402013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a60dae7e
VS
1541
1542 * grub-core/kern/misc.c (grub_vsnprintf_real): Don't attempt to
1543 transform invalid unicode codepoints.
1544
04dea7e6 15452013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
891b713b
VS
1546
1547 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
1548 \0 checking.
1549
03dcac7f
VS
15502013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1551
1552 * grub-core/lib/legacy_parse.c: Add support for "nd" disk.
1553
c81acb7f
VS
15542013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1555
1556 Consolidate cpuid code.
1557
c1bee646
VS
15582013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1559
1560 Move cpuid code to cpuid.h and TSC code to tsc.c.
1561
f37bf9c7
GS
15622013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
1563
1564 * util/grub.d/00_header.in: Don't use LANG if it's not set.
1565
4021132b
GS
15662013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
1567
1568 * util/grub-mkconfig.in: Replace $0 with $self.
1569 * util/grub-reboot.in: Likewise.
1570 * util/grub-set-default.in: Likewise.
1571
3ace8d75
BC
15722013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
1573
1574 * docs/osdetect.cfg: New file.
1575
1e6ad6a6
BC
15762013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
1577
1578 * tests/util/grub-shell.in: Add new --debug option.
1579
188929eb
BC
15802013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
1581
1582 * tests/test_unset.in: New test.
1583
7994a09a
BC
15842013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
1585
1586 * tests/test_sha512sum.in: New test.
1587
2a8a7585
VS
15882013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1589
1590 * grub-core/fs/iso9660.c: Replace strncat with memcpy.
1591 * include/grub/misc.h: Remove strncat.
1592 * grub-core/lib/posix_wrap/string.h: Likewise.
1593
cf8d6bbd
VS
15942013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1595
1596 * grub-core/net/tftp.c: Retransmit ack when rereceiving old packet.
1597 Try to handle more than 0xFFFF packets.
1598 Reported by: Bernhard Übelacker <bernhardu>.
1599 He also spotted few overflows in first version of this patch.
1600
6d1fc99a
VS
16012013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1602
1603 * tests/date_unit_test.c: New test.
1604
10bafa1c
VS
16052013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1606
1607 * grub-core/normal/datetime.c (grub_unixtime2datetime): Fix mishandling
1608 of first three years after start of validity of unixtime.
1609
b1c6d037
VS
16102013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1611
1612 * grub-core/normal/menu_entry.c (get_logical_num_lines): Use unsigned
1613 division as the one making more sense.
1614 (update_screen): Likewise.
1615 (complete): Likewise.
1616
5f4028d4
VS
16172013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1618
1619 * grub-core/normal/menu_entry.c (complete): Make sure that width is >0.
1620
a2856736
VS
16212013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1622
1623 Make char and string width grub_size_t rather than grub_ssize_t.
1624
0a7e52b2
VS
16252013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1626
1627 * grub-core/normal/cmdline.c (grub_history_get): Make argument into
1628 unsigned.
1629 (grub_history_replace): Likewise.
1630
42829573
VS
16312013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1632
1633 * grub-core/disk/raid6_recover.c: Use unsigned arithmetics when
1634 appropriate.
1635
3523b8d8
VS
16362013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1637
1638 * grub-core/video/bitmap_scale.c: Use unsigned arithmetics when
1639 appropriate.
1640
d43c6489
VS
16412013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1642
1643 * grub-core/video/fb/fbblit.c: Use (255 ^ x) rather than (255 - x).
1644 Use unsigned divisions rather than signed variants.
1645
f690f8b0
VS
16462013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1647
1648 * grub-core/video/readers/png.c (grub_png_convert_image): Use
1649 unsigned arithmetics.
1650 Add missing break.
1651
74ff2c05
VS
16522013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1653
1654 * grub-core/video/readers/jpeg.c: Use unsigned where appropriate.
1655
fb56391e
VS
16562013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1657
1658 * grub-core/fs/zfs/zfs.c (xor_out): Use unsigned modular arithmetics
1659 rather than signed one.
1660 (recovery): Likewise.
1661
40f29060
VS
16622013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1663
1664 * grub-core/net/dns.c (hash): Use unsigned arithmetic.
1665
c64577a5
VS
16662013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1667
1668 * grub-core/io/gzio.c (test_zlib_header): Use undigned modulo rather
1669 than signed.
1670
c16535a8
JM
16712013-10-25 Jon McCune <jonmccune@google.com>
1672
1673 * docs/grub.texi: Cleanup security documentation around signatures.
1674
6673d8e7
VS
16752013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1676
1677 * grub-core/fs/ext2.c (EXT2_BLOCK_SIZE): Make unsigned.
1678
a105d375
VS
16792013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1680
1681 * grub-core/commands/gptsync.c (lba_to_chs): Use proper types rather
1682 than int.
1683
af81ed88
VS
16842013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1685
1686 * conf/Makefile.common (CPPFLAGS_KERNEL): Add -DGRUB_KERNEL=1.
1687 * include/grub/dl.h (GRUB_MOD_INIT), (GRUB_MOD_FINI): Define
1688 functions when compiling for kernel.
1689
ea899a57
VS
16902013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1691
1692 * grub-core/lib/progress.c (grub_file_progress_hook_real): Cast to
1693 unsigned long long when using %llu.
1694
c6dc6fa1
VS
16952013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1696
1697 * grub-core/lib/progress.c (grub_file_progress_hook_real): Refresh
1698 terminal after updating progress.
1699
ad2dc003
VS
17002013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1701
1702 * grub-core/boot/i386/pc/startup_raw.S (grub_gate_a20): Remove
1703 argument. We don't disable Gate A20 in this code.
1704
b46684ae
VS
17052013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1706
1707 * grub-core/boot/i386/qemu/boot.S: Ensure that A20 is enabled.
1708 Conceptually based on change in branch "vbe-on-coreboot".
1709
f70d5c07
RM
17102013-10-24 Robert Millan <rmh@gnu.org>
1711
1712 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Replace
1713 numeric constants with their symbolic equivalent.
1714 Taken from branch "vbe-on-coreboot".
1715
bca274b4
VS
17162013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
1717
1718 * docs/grub.texi: Fix ordering and use pxref rather than xref.
1719
238f0489
VS
17202013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
1721
1722 * grub-core/lib/progress.c (grub_file_progress_hook_real): Use
1723 divmod64 for offset division.
1724
863c590b
PFS
17252013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1726
1727 Rename .bzrignore to .gitignore. Add "*.o" rule.
1728
1729 * .bzrignore: Renamed to...
1730 * .gitignore: ...this.
1731
84a0e969
PFS
17322013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1733
1734 Add new progress module that displays the load progress of files.
1735
1736 * grub-core/lib/progress.c: New file.
1737 * grub-core/Makefile.core.def (progress): New module.
1738 * grub-core/kern/file.c (grub_file_open): File name added.
1739 * (grub_file_read): Progress hook added.
1740 * grub-core/fs/cbfs.c (grub_cbfs_read): Likewise.
1741 * grub-core/fs/cpio_common.c (grub_cpio_read): Likewise.
1742 * grub-core/net/net.c (grub_net_fs_read_real): Likewise.
1743 * include/grub/file.h (struct grub_file): Add progress module members.
1744 * include/grub/term.h (struct grub_term_output): Likewise.
1745 * grub-core/osdep/unix/emuconsole.c (grub_console_term_output):
1746 Terminal velocity added.
1747 * grub-core/osdep/windows/emuconsole.c (grub_console_term_output): Likewise.
1748 * grub-core/term/arc/console.c (grub_console_term_output): Likewise.
1749 * grub-core/term/efi/console.c (grub_console_term_output): Likewise.
1750 * grub-core/term/gfxterm.c (grub_video_term): Likewise.
1751 * grub-core/term/i386/coreboot/cbmemc.c (grub_cbmemc_term_output): Likewise.
1752 * grub-core/term/i386/pc/console.c (grub_console_term_output): Likewise.
1753 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_term): Likewise.
1754 * grub-core/term/ieee1275/console.c (grub_console_term_output): Likewise.
1755 * grub-core/term/morse.c (grub_audio_term_output): Likewise.
1756 * grub-core/term/serial.c (grub_serial_term_output): Likewise.
1757 * grub-core/term/spkmodem.c (grub_spkmodem_term_output): Likewise.
1758 * grub-core/term/uboot/console.c (uboot_console_term_output): Likewise.
1759
0d711431
VS
17602013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
1761
1762 Verify signatures of signatures unless --skip-sig is specified.
1763
f8401f76
VS
17642013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1765
1766 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
1767 \0 checking.
1768
1769 Saves 70 bytes on compressed image.
1770
ac1feb61
VS
17712013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1772
1773 * grub-core/kern/misc.c (grub_strtoull): Remove needless *ptr != 0
1774 check.
1775
1776 Saves 10 bytes on compressed image.
1777
00f72e89
VS
17782013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1779
1780 * grub-core/kern/misc.c (grub_isprint): Move to ...
1781 * include/grub/misc.h (grub_isprint): ... here. Make inline.
1782
1783 Saves 20 bytes on compressed image due to remving exporting.
1784
067e6ae7
VS
17852013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1786
1787 * grub-core/fs/ntfs.c (grub_ntfs_mount): Remove redundant check.
1788
1789 Saves 5 bytes on compressed image.
1790
64a6c791
VS
17912013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1792
1793 * grub-core/fs/ntfs.c: Move common UTF-16 handling to a separate
1794 function get_utf8.
1795
1796 Saves 379 bytes on compressed image.
1797
979d9f52
VS
17982013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1799
1800 * grub-core/fs/ntfs.c: Handle 48-bit MFT no.
1801
1437da54
VS
18022013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1803
1804 * grub-core/fs/ntfs.c (read_run_data): Rewrite using bitfields.
1805
1806 Saves 40 bytes on compressed image.
1807
d9ee2269
VS
18082013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1809
1810 * grub-core/fs/ntfs.c (grub_ntfs_iterate_dir): Use grub_uint8_t for
1811 mask rather than 64-bit type.
1812
1813 Saves 20 bytes on compressed image.
1814
63efa602
VS
18152013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1816
1817 * grub-core/fs/ntfs.c (read_data): Move code for compressed data to ...
1818 * grub-core/fs/ntfscomp.c (ntfscomp): ... here.
1819
47601ffe
VS
1820 Saves 273 bytes on compressed image.
1821
2cc679ad
VS
18222013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1823
1824 * grub-core/kern/disk.c (grub_disk_write): Use malloc/free instead of
1825 variable length arrays.
1826
1827 Saves 50 bytes on compressed image.
1828
2e4659b8
VS
18292013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1830
1831 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
1832
2a40badf
VS
18332013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1834
1835 * grub-core/fs/ufs.c: Remove variable length arrays.
1836
1ba6b9b9
VS
18372013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1838
1839 * grub-core/fs/ntfs.c: Add comment about fixed allocation size.
1840
f3e39341
VS
18412013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1842
1843 * grub-core/fs/zfs.c: Remove variable length arrays.
1844 Reduces zfs.mod by 160 bytes (208 compressed).
1845
71523935
VS
18462013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1847
1848 * grub-core/fs/zfs/zfs.c (check_pool_label): Fix memory leak.
1849
28153eb8
VS
18502013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1851
1852 * grub-core/net/arp.c: Remove variable length arrays.
1853 * grub-core/net/bootp.c: Likewise.
1854 * grub-core/net/dns.c: Likewise.
1855 * grub-core/net/icmp6.c: Likewise.
1856 * grub-core/net/net.c: Likewise.
1857
88ce4cd7
VS
18582013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1859
1860 * grub-core/fs/ntfs.c: Remove variable length arrays.
1861 Increases ntfs.mod by 64 bytes (but decreases by 3 when
1862 compressed).
1863
66123940
VS
18642013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1865
1866 * grub-core/fs/hfs.c: Remove variable length arrays.
1867 Reduces hfs.mod by 8 bytes (52 compressed).
1868
0927e5bd
VS
18692013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1870
1871 * grub-core/fs/udf.c: Remove variable length arrays.
88ce4cd7 1872 Increases udf.mod by 128 bytes (but decreases by 13 when
0927e5bd
VS
1873 compressed).
1874
9c12ac97
VS
18752013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1876
1877 * grub-core/fs/iso9660.c: Remove variable length arrays.
88ce4cd7 1878 Increases iso9660.mod by 200 bytes (but decreases by 79 when
9c12ac97
VS
1879 compressed).
1880
97ec2d71
VS
18812013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1882
1883 * grub-core/fs/nilfs2.c: Remove variable length arrays.
88ce4cd7 1884 Increases nilfs2.mod by 24 bytes (but decreases by 115 when
97ec2d71
VS
1885 compressed).
1886
156e4ea0
VS
18872013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1888
1889 * grub-core/fs/xfs.c: Remove variable length arrays.
1890 Reduces xfs.mod by 40 bytes (43 compressed).
1891
3b502c29
VS
18922013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1893
1894 * grub-core/fs/fshelp.c: Remove variable length arrays.
1895 Reduces fshelp.mod by 116 bytes (23 compressed).
1896
c7037f1d
VS
18972013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1898
1899 * grub-core/normal/completion.c: Remove variable length arrays.
1900 * grub-core/normal/menu_entry.c: Likewise.
1901
1902 Reduces normal.mod by 496 bytes.
1903
a07e6ad0
VS
19042013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1905
1906 * grub-core/fs/minix.c: Remove variable length arrays. Reduces jfs.mod
1907 by 356 bytes (158 compressed).
1908
2359bf88
VS
19092013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1910
1911 * grub-core/fs/jfs.c: Remove variable length arrays. Reduces jfs.mod
1912 by 364 bytes (169 compressed).
1913
d28e1163
VS
19142013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1915
1916 * grub-core/fs/bfs.c: Remove variable length arrays. Reduces afs.mod and
1917 bfs.mod size by 556 resp 740 bytes (288 resp 334 compressed).
1918 * include/grub/types.h (grub_unaligned_uint64_t): New type.
1919
e89c2d48
VS
19202013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1921
1922 Lift 255x255 erminal sie restriction to 65535x65535. Also change from
1923 bitmasks to small structures of size chosen to fit in registers.
1924
7abdac8e
VS
19252013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1926
1927 * conf/Makefile.common: Use -freg-struct-return on i386. This
1928 decreases code size and improves performance.
1929
518864c0
VS
19302013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1931
1932 * grub-core/osdep/unix/exec.c: Fix compilation error on emu.
1933
bbd2b539
VS
19342013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1935
1936 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix formatting of
1937 "(null)" string.
1938 Simplify expressions to save around 256 bytes in kernel.img.
1939 * tests/printf_unit_test.c (printf_test): Add "(null)" tests.
1940
99519c15
VS
19412013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1942
1943 * grub-core/tests/video_checksum.c (grub_video_capture_write_bmp):
1944 Use GRUB_UTIL_FD_O_* rather than O_*.
1945
20285765
VS
19462013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1947
1948 Add haiku-specific functions.
1949
887c0bb6
VS
19502013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1951
1952 * grub-core/kern/emu/hostdisk.c: Remove few leftover includes.
1953
cd78a56f
VS
19542013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1955
1956 Move stat () and device mode checking into OS-dependent files as
1957 long as performance doesn't suffer.
1958
a4012f07
VS
19592013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1960
1961 Split make_system_path_relative_to_its_root into separate file
1962 relpath.c from getroot.c as it's common between unix and haiku
1963 but otherwise haiku doesn't use any functions from unix getroot.c.
1964
31de274d
VS
19652013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1966
1967 * grub-core/osdep/aros/hostdisk.c (grub_util_is_directory):
1968 New function.
1969 (grub_util_is_special_file): Likewise.
1970
40346de6
VS
19712013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1972
1973 * grub-core/osdep/unix/getroot.c: Move exec functions to ...
1974 * osdep/unix/exec.c: ... here. Add few additional exec_* variants.
1975
d3923ab9
VS
19762013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1977
1978 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Define size_t to
1979 grub_size_t. This fixes the case when size_t mismatches grub_size_t.
1980
663f6eb1
VS
19812013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1982
1983 * util/grub-mkimagexx.c (make_reloc_section): Fix memory leak.
1984 (load_image): Likewise.
1985
44d1c20a
VS
19862013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1987
1988 * util/grub-render-label.c: Move backend part to ...
1989 * util/render-label.c: ... here.
1990
d0a116ee
VS
19912013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1992
1993 * grub-core/osdep/random.c: Use unix/random.c on haiku. Haiku uses
1994 yarrow (by B. Schneier et al) for its /dev/urandom (similar to FreeBSD).
1995
b47fcae6
VS
19962013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1997
1998 * grub-core/osdep/generic/blocklist.c: Add missing include to string.h.
1999
0f7c00c1
VS
20002013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2001
2002 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Handle
2003 CD-ROM in case when it's declared as having subpartitions.
2004
29013cba
VS
20052013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2006
2007 Don't add -lm on haiku.
2008
2009 * configure.ac: Define BUILD_LIBM to -lm on most platforms
2010 and empty on haiku.
2011 * grub-core/Makefile.am (gentrigtables): Use $(BUILD_LIBM) rather than
2012 -lm.
2013
e8559d24
VS
20142013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2015
2016 * configure.ac: Use -melf_*_haiku as target on haiku.
2017
8104063c
VS
20182013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2019
2020 * Makefile.util.def: Add util/setup.c to extra_dist.
2021
fc3182c7
VS
20222013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2023
2024 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Pass
2025 unknown types through.
2026
f90a3cc0
VS
20272013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2028
2029 * grub-core/osdep/unix/getroot.c (grub_util_check_block_device): Remove.
2030 (grub_util_check_char_device): Likewise.
2031 * include/grub/emu/getroot.h: Likewise.
2032
1e3e7419
VS
20332013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2034
2035 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Use define for defining
2036 memset rather than inline static function.
2037
92c88fc8
VS
20382013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2039
2040 * grub-core/lib/xzembed/xz_config.h: Enable all bcj filters when
2041 not doing embedded decompressor.
2042
3cd910a2
VS
20432013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2044
2045 * grub-core/disk/ldm.c: Rename variables and arguments to prevent
2046 shadowing.
2047 * grub-core/kern/disk.c: Likewise.
2048 * grub-core/kern/misc.c: Likewise.
2049 * include/grub/parser.h: Likewise.
2050 * include/grub/script_sh.h: Likewise.
2051 * include/grub/zfs/zfs.h: Likewise.
2052
7b3aca00
VS
20532013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2054
2055 * grub-core/disk/luks.c (configure_ciphers): Fix spurious warning.
2056
97dfe7e4
VS
20572013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2058
2059 * grub-core/fs/zfs/zfs_lz4.c: Check that __INTEL_COMPILER is
2060 defined before trying to use it.
2061
bf919aa9
VS
20622013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2063
2064 * grub-core/fs/affs.c (grub_affs_create_node): Fix uninited value
2065 warning.
2066
f4ccf29d
VS
20672013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2068
2069 * include/grub/dl.h: Remove double declaration of GRUB_MOD_DEP.
2070 Use __unused__ rather than __used__ on gcc < 3.2.
2071
0d3a6f85
VS
20722013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2073
2074 * include/grub/setjmp.h: Define RETURNS_TWICE. Keep it empty for
2075 gcc < 4.0.
2076 * include/grub/*/setjmp.h: USe RETURNS_TWICE.
2077
757e3eb7
VS
20782013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2079
2080 * grub-core/disk/dmraid_nvidia.c: Fix potentially uninited "layout".
2081
fb320faf
VS
20822013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2083
2084 * include/grub/misc.h: Don't use warn_unused_result on gcc < 3.4.
2085 * include/grub/emu/misc.h: Likewise.
2086
ea73acd2
VS
20872013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2088
2089 * grub-core/term/i386/pc/vga_text.c: Remove extra declaration of
2090 cur_color.
2091
71237a6f
VT
20922013-10-18 Vladimir Testov <vladimir.testov@rosalab.ru>
2093
2094 * grub-core/tests/checksums.h: Regenerated due to progress bar
2095 get_minimal_size changes.
2096
3d46c22f
BC
20972013-10-17 BVK Chaitanya <bvk.groups@gmail.com>
2098
2099 Added `tr' command support.
2100
2101 * grub-core/commands/tr.c: New file.
2102 * grub-core/Makefile.core.def: Build rules for new module.
2103
2104 * tests/grub_cmd_tr.in: New test.
2105 * Makefile.util.def: Build rules for new test.
2106
47e0a61f
VT
21072013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2108
2109 * grub-core/gfxmenu/gui_progress_bar.c: Sanity checks added.
2110
946fd073
VT
21112013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2112
2113 * grub-core/gfxmenu/gui_progress_bar.c: New option ``highlight_overlay``
2114 * docs/gurb.texi: Likewise.
2115
9c13c576
VT
21162013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2117
2118 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Fixed bug.
2119 Pixmap highlighted section with east and west slices was displayed
2120 incorrectly due to negative width of the central slice.
2121
ad543f12
VT
21222013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2123
2124 * docs/grub.texi: Graphical options information update.
2125 Removed outdated. Updated current. Inserted missed.
2126
6176a0cd
VS
21272013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2128
2129 * docs/grub.texi: Mention few new platform-specific commands.
2130
9688cae2
VS
21312013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2132
2133 * grub-core/script/yylex.l: Fix LSQBR2 and RSQBR2. It's not
2134 currently used so this doesn't really have any effect.
2135 Reported by: Douglas Ray <dougray>
2136
f7b69a3f
VS
21372013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2138
2139 * autogen.sh: Don't set LC_CTYPE as it doesn't create problem for
2140 compilation but prevents gcc from displaying messages in non-Latin
2141 alphabets.
2142 * conf/Makefile.common: Likewise.
2143
ceca6ddf
HY
21442013-10-16 Hiroyuki YAMAMORI
2145
2146 Handle Japanese special keys.
2147 Reported by: Hiroyuki YAMAMORI.
2148 Codes supplied by: Hiroyuki YAMAMORI.
2149
ac48d334
VT
21502013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
2151
2152 * grub-core/gfxmenu/gui_list.c: Scrollbar sanity checks added.
2153
b2b71bff
VT
21542013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
2155
2156 * grub-core/gfxmenu/gui_list.c: New option `item_pixmap_style`.
2157 * docs/grub.texi: Likewise.
2158
669fc449
VS
21592013-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2160
2161 * grub-core/osdep/unix/hostdisk.c (grub_util_fd_read): Return correct
2162 value in case of incomplete read.
2163 (grub_util_fd_write): Likewise.
2164
59381678
VS
21652013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2166
2167 * util/editenv.c (grub_util_create_envblk_file): Use grub_util_rename.
2168
bacfefbb
VS
21692013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2170
2171 * util/grub-editenv.c (create_envblk_file): More from here ...
2172 * util/editenv.c (grub_util_create_envblk_file): ... to here.
2173
f7c49570
VS
21742013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2175
2176 * grub-core/osdep/unix/getroot.c (grub_guess_root_devices):
2177 canonicalize file name before doing the rest.
2178
7b83ca44
VS
21792013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2180
2181 * include/grub/osdep/hostfile_windows.h: Add missing ftello for
2182 mingw32.
2183
df1e64c9
VS
21842013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2185
2186 Define grub_util_is_directory/regular/special_file and
2187 use OS-dependent versions rather than to rely on stat().
2188
ec16e026
VS
21892013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2190
2191 * util/grub-mkimage.c: Move backend part to ...
2192 * util/mkimage.c: ... here.
2193
4b4eeb3c
VS
21942013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2195
2196 Allow compilation with mingw64 albeit with warnings due to lack of
2197 %llx/%llu.
2198
2199 * grub-core/gnulib/msvc-inval.c: Use __cdecl rather than cdecl.
2200 * grub-core/lib/posix_wrap/wchar.h: Define wint_t.
2201 * grub-core/lib/posix_wrap/wctype.h: Define wctype_t.
2202 * include/grub/osdep/hostfile_windows.h: Don't define fseeko/ftello
2203 on mingw64.
2204 * include/grub/types.h: Allow sizeof (long) != sizeof (void *).
2205
f4e0adc0
VS
22062013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2207
2208 Remove leftover references to some of the system headers.
2209
e0127364
VS
22102013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2211
2212 * grub-core/disk/geli.c (grub_util_get_geli_uuid): Close handle after
2213 read.
2214
20d53541
VS
22152013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2216
2217 * grub-core/disk/cryptodisk.c: Use grub_util_fd_strerror instead
2218 of strerror.
2219
5a869940
VS
22202013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2221
2222 Split out blocklist retrieving from setup.c to
2223 grub-core/osdep/blocklist.c and add windows implementation since
2224 generic version doesn't work on NTFS on Windows due to aggressive
2225 unflushable cache.
2226
c06c7520
VS
22272013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2228
2229 Split grub-setup.c into frontend (grub-setup.c) and backend (setup.c)
2230 files.
2231
8f53bb3f
VS
22322013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2233
2234 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror):
2235 Cut tailing newline. Remove arbitrary limitation. Always use
2236 grub_util_tchar_to_utf8.
2237
148f1007
VS
22382013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2239
2240 * grub-core/kern/misc.c (grub_vsnprintf_real): Handle %% properly.
2241 * tests/printf_unit_test.c (printf_test): Add %% tests.
2242 Reported by: Paulo Flabiano Smorigo.
2243
af3b06be
VS
22442013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2245
2246 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: Really
2247 implement fsync.
2248
27f9d02e
VS
22492013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2250
2251 * configure.ac: Check for nvlist_lookup_string in nvpair since we
2252 use nvlist_lookup_string and don't use nvlist_print.
2253
f6a81f0a
VS
22542013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2255
2256 Add wrappers around rename, unlink, mkdir, opendir, readdir and
2257 closedir to handle filename charset translation.
2258
d7750b32
VS
22592013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2260
2261 * include/grub/emu/hostdisk.h: Move file operations to
2262 * include/grub/emu/hostfile.h: ... here.
2263
2859196e
VS
22642013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2265
2266 * grub-core/osdep/windows/hostdisk.c (canonicalize_file_name): Handle
2267 unicode path.
2268
c018c968
VS
22692013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2270
2271 * grub-core/tests/checksums.h: Regenerate due to swiss.sed change.
2272
7e45abce
VS
22732013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2274
2275 Move cpu time retrieval to separate grub_util_get_cpu_time_ms
2276 and remove export.h.
2277
23934da2
VS
22782013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2279
2280 * grub-core/kern/emu/error.c: Removed.
2281 * grub-core/Makefile.core.def (kernel): Don't add error.c and progname.c
2282 explicitly as it's already in libgnu.a.
2283
c11ebcc8
VS
22842013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2285
2286 * grub-core/osdep/windows/emuconsole.c: Add missing config.h and
2287 config-util.h include.
2288
70671037
VS
22892013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2290
2291 Split emunet into platform-dependent and GRUB-binding parts. Keep
2292 platform-dependent part in kernel for easy access to OS functions.
2293
25ac643a
VS
22942013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2295
2296 * grub-core/tests/video_checksum.c: Use grub_util_fd_* rather than
2297 open/read/write.
2298
69ca5876
VS
22992013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2300
2301 * grub-core/osdep/windows/emuconsole.c: New file.
2302
d9d68ef0
AB
23032013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
2304
2305 * conf/Makefile.extra-dist: Add osdep/*/init.c
2306
58e211cc
VS
23072013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2308
2309 * Makefile.am: Use TARGET_OBJCOPY when doing objcopy for target.
2310
588744d0
VS
23112013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2312
2313 * util/grub-probe.c (probe): Separate different drives in hint-str
2314 by spaces and not newlines.
2315 * util/grub-mkconfig_lib.in: Handle multidevice filesystem.
2316
44016e52
AB
23172013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
2318
2319 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
2320 Handle CD-ROMs.
2321
6de9ee86
VS
23222013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2323
2324 Pass-through unknown E820 types. It required reorganisation of mmap
2325 module.
2326
f8f3f155
AB
23272013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
2328
2329 * Makefile.util.def: Add osdep/init.c to grub-mount files.
2330
b73249d2
VS
23312013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2332
2333 Make grub_util_fd_seek match behaviour of other grub_util_fd_* and
2334 fseeko.
2335
dac86b18 23362013-10-14 qwertial <qwertial>
2337
2338 * grub-core/gdb_grub.in: Fix overflow and wrong field.
2339
17614b84
JM
23402013-10-14 Jon McCune <jonmccune@google.com>
2341
2342 * docs/grub.texi: Document new signatures possibility.
2343
6de292cb
VS
23442013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2345
2346 Define GRUB_UTIL_FD_O_* and always use them with grub_util_fd_open.
2347
84379b61
VS
23482013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2349
2350 * include/grub/osdep/hostfile_windows.h (grub_util_utf8_to_tchar): Add
2351 missing prototype.
2352 (grub_util_tchar_to_utf8): Likewise.
2353
21d85db1
VS
23542013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2355
2356 * grub-core/Makefile.core.def: Add osdep/init.c on emu.
2357 * grub-core/kern/emu/main.c: Add missing include.
2358 * grub-core/osdep/basic/init.c (grub_util_host_init) [!GRUB_UTIL]:
2359 Don't call grub_util_init_nls.
2360 * grub-core/osdep/windows/init.c (grub_util_host_init) [!GRUB_UTIL]:
2361 Likewise.
2362
66a1b3ee
VS
23632013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2364
2365 * util/misc.c (grub_util_get_image_size): Use FILE functions rather than
2366 stat.
2367
e19bec17
VS
23682013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2369
2370 * util/grub-editenv.c: Remove leftover set_program_name and init_nls.
2371
ee8c1b29
VS
23722013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2373
2374 * include/grub/misc.h: Use gnu_printf only on gcc 4.4 or later.
2375
bb338aaf
VS
23762013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2377
2378 Add a wrapper for fopen. On unix-like systems just pass-through. On
2379 windows use unicode version.
2380
ae5540d3
VS
23812013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2382
2383 Move set_program_name and init_nls to host_init. On windows
2384 fix in this fuction console and argument charset as well.
2385
4cd3c4fe
AB
23862013-10-12 Andrey Borzenkov <arvidjaar@gmail.com>
2387
2388 Fix inconsistent use of GRUB_CRYPTODISK_ENABLE and
2389 GRUB_ENABLE_CRYPTODISK.
2390
2391 * util/grub-install.in: Rename all GRUB_CRYPTODISK_ENABLE to
2392 GRUB_ENABLE_CRYPTODISK.
2393 * util/grub-mkconfig_lib.in: Likewise.
2394
78170f3e
CCZ
23952013-10-12 Christian Cier-Zniewski <c.cier@gmx.de>
2396
2397 * docs/grub.texi (Vendor power-on keys): Add Dell Latitude E4300.
2398
3414b6c0
MC
23992013-10-12 Melki Christian <Christian.melki@saabgroup.com>
2400
2401 * grub-core/term/at_keyboard.c [DEBUG_AT_KEYBOARD]: Fix compilation
2402 error when enabling debug.
2403
6d0740e8
IB
24042013-10-12 Ilya Bakulin <Ilya_Bakulin@genua.de>
2405
2406 * configure.ac: Use -melf_*_obsd on openbsd.
2407
ff2d4dc4
VS
24082013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
2409
2410 * grub-core/kern/arm/dl_helper.c: Use more proper %p for pointer.
2411
eac6ae82
VS
24122013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
2413
2414 * include/grub/misc.h: Use gnu_printf rather than printf as format
2415 template since our functions are independent of libc.
2416
ba9baabe
VS
24172013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
2418
2419 * util/grub-setup.c (setup): Move copying of partition table as
2420 futher up as possible to avoid possible overwrite by floppy routines.
2421
24222013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
60d4f0bb
VS
2423
2424 * grub-core/fs/fat.c: Fix handling of exfat contiguous files.
2425
145e2369
VT
24262013-10-10 Vladimir Testov <vladimir.testov@rosalab.ru>
2427
2428 * grub-core/gfxmenu/gui_list.c: New option `scrollbar_thumb_overlay`.
2429 * docs/grub.texi: Likewise.
2430
3530bc9d
VS
24312013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2432
2433 * util/getroot.c (make_device_name): Remove dos_part and bsd_part as
2434 it's mostly unused. Move vestiges to the callers.
2435
fb9f59c3
VS
24362013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2437
2438 * util/grub-mkpasswd-pbkdf2.c: Remove temporary buffers for hex
2439 version of salt and hash. Use grub_snprintf rather than snprintf.
2440
9be1c255
VS
24412013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2442
2443 * docs/grub.texi: Fix problem with braces.
2444
ed8c0887
VS
24452013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2446
2447 * conf/Makefile.extra-dist: Fix extra-dist list.
2448 * grub-core/Makefile.core.def: Likewise.
2449
f72ab14e
VS
24502013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2451
2452 * docs/grub.texi: Document disk names used on Windows and AROS.
2453
2fe53a22
VS
24542013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2455
2456 * grub-core/osdep/aros/getroot.c: Change to //: prefix as discussed
2457 with AROS devs.
2458 * grub-core/osdep/aros/hostdisk.c: Likewise.
2459
71c1d67a
VS
24602013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2461
2462 Avoid including hostfile.h when not necessarry as it pulls
2463 in OS-specific headers which may redefine generic names
2464 like "far".
2465
ad297ec7
VT
24662013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
2467
2468 * grub-core/gfxmenu/gui_list.c: New options for scrollbar padding:
2469 scrollbar_left_pad, scrollbar_right_pad, scrollbar_top_pad,
2470 scrollbar_bottom_pad
2471 * docs/grub.texi: Likewise.
2472
6e9e5dc9
VT
24732013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
2474
2475 * grub-core/gfxmenu/gui_list.c (list_destroy): Fixed memory leak.
2476
761c718b
VS
24772013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2478
2479 Move OS-dependent file definitions to include/grub/osdep/hostfile*.h.
2480
37149a2f
VS
24812013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2482
2483 * include/grub/emu/hostdisk.h (grub_hostdisk_linux_find_partition):
2484 Removed.
2485 * grub-core/osdep/linux/hostdisk.c (grub_hostdisk_linux_find_partition):
2486 Made static.
2487
3837a151
VS
24882013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2489
2490 * include/grub/emu/getroot.h (grub_util_find_hurd_root_device): Remove
2491 leftover.
2492
caca1c70
VS
24932013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2494
2495 Move OS-specific driver configuration to grub_util_fd_open. This
2496 moves OS-dependent parts from kern/emu/hostdisk.c to
2497 grub-core/osdep/*/hostdisk.c.
2498
f7676b70
VS
24992013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2500
2501 * util/grub-mkimage.c (generate_image): Use size_t instead of
2502 grub_size_t.
2503 * util/grub-mkimagexx.c (locate_sections): Likewise.
2504 (load_image): Likewise.
2505
22f98db2
VS
25062013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2507
2508 * util/misc.c (grub_util_write_image_at): Don't use PRIxGRUB_SIZE for
2509 size_t.
2510 (grub_util_write_image): Likewise.
2511
b102ce69
VS
25122013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2513
2514 * grub-core/osdep/basic/random.c: New file. Abort on an attempt to
2515 get random when no RNG is available.
2516 * grub-core/osdep/random.c: Use basic/random.c on OS out of whitelist.
2517
acbbe5cb
VS
25182013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2519
2520 * include/grub/util/lvm.h: Removed.
2521
2112fb3f
VS
25222013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2523
2524 * grub-core/kern/emu/misc.c (fsync) [__MINGW32__]: Move to ...
2525 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: ... here.
2526
79f78fbf
VS
25272013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2528
2529 * grub-core/osdep/windows/sleep.c: Add missing config.h.
2530
c2e6f705
VS
25312013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2532
2533 * grub-core/kern/emu/misc.c (grub_get_rtc): Remove (it's a leftover).
2534
aabe433a
VS
25352013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2536
2537 * grub-core/net/drivers/emu/emunet.c: Move to ..
2538 * grub-core/osdep/linux/emunet.c: ..here.
2539
9a2c903f
VS
25402013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2541
2542 * util/ieee1275/ofpath.c: Move to ...
2543 * grub-core/osdep/linux/ofpath.c: ..here, split stub into ...
2544 * grub-core/osdep/basic/ofpath.c: ..here.
2545
4a445f58
VS
25462013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2547
2548 Move password-querying (util-version) routines to grub-core/osdep.
2549
c1ca4244
VS
25502013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2551
2552 Move sleep routines to grub-core/osdep.
2553
672fa55e
VS
25542013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2555
2556 Move OS-dependent files to grub-core/osdep and document it.
2557
a5b0365a
VS
25582013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2559
2560 * grub-core/kern/emu/misc.c (canonicalize_file_name): Move to ...
2561 * grub-core/kern/emu/hostdisk_*.c (canonicalize_file_name): ... here.
2562
29072e99
VS
25632013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2564
2565 * grub-core/kern/arm/misc.S: Remove leftover ARM and THUMB.
2566
f8772ea7
VS
25672013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2568
2569 * util/misc.c: Remove leftover inclusion of malloc.h.
2570
a1a315e7
VS
25712013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2572
2573 * include/grub/setjmp.h: Remove leftover GRUBOF.
2574
cef86fef
VS
25752013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2576
2577 * util/raid.c: Fold into ...
2578 * util/getroot_linux.c: ... here. Make all functions static.
2579
c4cf25ee
VS
25802013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2581
2582 * grub-core/fs/zfs/zfs_lz4.c: Switch from ad-hoc endiannes and width
2583 macros to GRUB ones.
2584
53a5f5c2
VT
25852013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
2586
2587 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Fixed rare
2588 occasional bug. If there are too many boot entries or too low
2589 scrollbar height then we need to use another formula to calculate
2590 the position and size of the scrollbar thumb.
2591
de300af2
VS
25922013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2593
c4cf25ee 2594 * util/random_unix.c: Add NetBSD, Solaris and Mac OS X to verified list.
de300af2 2595
c5827364
VT
25962013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
2597
2598 * grub-core/gfxmenu/gui_list.c: New option `scrollbar-slice`.
2599 * docs/grub.texi: Likewise.
2600
dd2ed8b0
VT
26012013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
2602
2603 * grub-core/gfxmenu/gui_list.c: Draw the scrollbar in a separate
2604 viewport.
2605
7286c384
VT
26062013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
2607
ffdfc1f3
VT
2608 * grub-core/gfxmenu/gui_list.c (list_get_minimal_size): Corrected
2609 minimal width calculations.
7286c384 2610
ea547e14
VS
26112013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
2612
2613 * docs/grub.texi: Update note on colors on emu console.
2614
b726be76
VS
26152013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
2616
2617 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Give GRUB_ERR_BAD_FS
2618 for quadruple indirect rather than GRUB_ERR_NOT_IMPLEMENTED_YET as
2619 it's FS and not GRUB limitation.
2620
a5f6ade6
VS
26212013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
2622
2623 * grub-core/kern/arm/efi/startup.S: Remove thumb leftover.
2624
3b0f3aa2
VS
26252013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
2626
2627 * grub-core/kern/arm/efi/init.c: Rewrite timer fucntion.
2628
1db38304
ST
26292013-10-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
2630
2631 * util/grub.d/10_hurd.in: Use `version_find_latest` to sort gnumach
2632 kernels by version order.
2633
fb295fc0
VS
26342013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
2635
2636 * util/random_unix.c: Add kFreeBSD to the list of secure RNG.
2637
47345010
VS
26382013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
2639
2640 Add AROS hostdisk and getroot routines.
2641
bf25f879
VS
26422013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
2643
2644 Make cryptodisk and diskfilter probe data retrievable programmatically
2645 and not just printable.
2646
24ca4512
VS
26472013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
2648
2649 Split random retrieving code into separate files.
2650
c7c177f0
VS
26512013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2652
2653 * grub-core/kern/arm/dl.c (do_relocations): Accept and ignore
2654 R_ARM_V4BX.
2655
d71b45ae
VS
26562013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2657
2658 * grub-core/tests/video_checksum.c: Increase robustness to out of memory
2659 condition.
2660 * grub-core/tests/fake_input.c: Likewise.
2661 * grub-core/tests/cmdline_cat_test.c: Likewise.
2662
e44b9a83
VS
26632013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2664
2665 * grub-core/video/capture.c: Do not do finalization when .fini
2666 is called as there is explicit capture_end.
2667
4fa60739
VS
26682013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2669
2670 * grub-core/term/gfxterm.c: Add flag "functional" to skip input when
2671 changing windows to avoid crash.
2672
17c8bc37
VS
26732013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2674
2675 * grub-core/kern/arm/cache.c: Add v5 write-through cache support.
2676
9d4d7977
VS
26772013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2678
2679 * po/exclude.pot: Add several strings to exclude.
2680
0caa407c
VS
26812013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2682
2683 * tests/gettext_strings_test.in: Add getroot_*.c to exclude list.
2684
9ae393da
VS
26852013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2686
2687 * autogen.sh: Add ./util/grub-gen-widthspec.c and
2688 ./util/grub-gen-asciih.c to exclude list.
2689
498d5033
VS
26902013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2691
2692 * grub-core/gfxmenu/theme_loader.c (theme_set_string): Fix memory leak
2693 and don't mark error strings for translation.
2694
7d93298f
VS
26952013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2696
2697 * grub-core/disk/uboot/ubootdisk.c (uboot_disk_open): Use grub_error
2698 properly in case of missing block size.
2699
b2cae20c
VS
27002013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2701
2702 * grub-core/lib/arm/setjmp.S: Add missing license section.
2703
3896d6b4
VS
27042013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2705
2706 * po/swiss.sed: Add replacement for key names and for term computer.
2707
ebc1da55
VT
27082013-10-02 Vladimir Testov <vladimir.testov@rosalab.ru>
2709
2710 * grub-core/gfxmenu/theme_loader.c: New global options for the
2711 theme background image handling. desktop-image-scale-method,
2712 desktop-image-h-align, desktop-image-v-align.
2713 * grub-core/gfxmenu/view.c: Likewise.
2714 * include/gfxmenu_view.h: Likewise.
2715 * include/bitmap_scale.h: Proportional scale functions introduced.
2716 * grub-core/video/bitmap_scale.c: Likewise. Verification checks are
2717 put in a separate functions. GRUB_ERR_BUG is set for grub_error in
2718 cases of unexpected input variables for scale functions.
2719 * docs/grub.texi: Updated documentation for new options.
2720
c5739143
VS
27212013-10-02 Vladimir Serbinenko <phcoder@gmail.com>
2722
2723 * grub-core/video/readers/png.c: Support narrow (4-/2-/1-bpp) PNG.
2724
be74aeb3
VT
27252013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
2726
2727 * grub-core/tests/checksums.h: Corrected due to changes in
2728 bilinear interpolation function.
2729
d999ac72
VT
27302013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
2731
2732 * grub-core/video/bitmap_scale.c (scale_bilinear): Increased precision
2733 to eliminate artefacts in bilinear interpolation.
2734
2b131610
VS
27352013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2736
2737 * grub-core/video/readers/tga.c: Support paletted tga.
2738
de6e5ff8
VS
27392013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2740
2741 * grub-core/video/readers/jpeg.c (grub_jpeg_decode_data): Remove
2742 incorrect cbcr setting when in color mode.
2743
fa31ee9c
VS
27442013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2745
2746 * grub-core/video/readers/png.c: Support paletted images and clean up
2747 greyscale support.
2748
e84f8188
VS
27492013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2750
2751 * grub-core/term/terminfo.c (grub_terminfo_readkey): Fix
2752 usage of wrong table which resulted in mishandling of 4-byte
2753 sequences.
2754
27552013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2237daf2
VS
2756
2757 * grub-core/term/terminfo.c: Add Home and End key sequences.
2758
d72bff09
VS
27592013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
2760
2761 * grub-core/video/readers/png.c (grub_png_decode_image_header):
2762 Fix formula for computing total number of bytes.
2763
29648c5d
VS
27642013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
2765
2766 * grub-core/video/readers/tga.c: Reorganize to separate RLE and
2767 image processing, fix big-endian and support grayscale.
2768
4a876492
VS
27692013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
2770
2771 * grub-core/video/fb/video_fb.c (grub_video_fb_create_render_target):
2772 Correctly will with maximum transparency when using index color.
2773
3ccf16df
VS
27742013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
2775
2776 * grub-core/video/readers/png.c: Support grayscale
2777
27782013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
e9c492a0
VS
2779
2780 * grub-core/video/readers/jpeg.c: Support grayscale.
2781
3ccf16df 27822013-09-26 Jon McCune <jonmccune@google.com>
0340bdbc
JM
2783
2784 * grub-core/commands/loadenv.c: Support skipping signature check
2785 and variable names filtering.
2786
30b7f58f
VS
27872013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2788
2789 * grub-core/kern/emu/hostdisk_unix.c: Declare AROS as non-unix.
2790 * grub-core/kern/emu/hostfs.c: Likewise.
2791 * util/getroot_unix.c: Likewise.
2792
bab7b1eb
VS
27932013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2794
2795 * include/grub/emu/hostdisk.h (GRUB_FD_STAT_IS_FUNTIONAL): New define.
2796 Migrate all explicit defines to this new one.
2797
43b1c99d
VS
27982013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2799
2800 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Use
2801 grub_util_fd_strerror when using grub_util_fd_*.
2802 (grub_util_fd_open_device): Likewise.
2803 (grub_util_biosdisk_read): Likewise.
2804 (grub_util_biosdisk_write): Likewise.
2805 * grub-core/kern/emu/hostdisk_unix.c (grub_util_fd_open): New function.
2806 (grub_util_fd_strerror): Likewise.
2807 (grub_util_fd_sync): Likewise.
2808 (grub_util_fd_close): Likewise.
2809 * grub-core/kern/emu/hostdisk_windows.c (grub_util_fd_sync): Likewise.
2810 (grub_util_fd_close): Likewise.
2811 (grub_util_fd_strerror): Likewise.
2812 * include/grub/emu/hostdisk.h (grub_util_fd_close): Make into real
2813 function proto rather than macro.
2814 (grub_util_fd_sync): Likewise.
2815 (grub_util_fd_open): Likewise.
2816 (grub_util_fd_strerror): New proto.
2817
e8fd80bc
VS
28182013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2819
2820 * util/getroot.c (grub_util_biosdisk_is_present): Don't do stat on
2821 platforms on which it doesn't work.
2822
bf645fda
VS
28232013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2824
2825 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Move struct
2826 stat immediately to where it's used.
2827
5177ba14
VS
28282013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2829
2830 * util/getroot.c (grub_util_check_block_device): Move to ...
2831 * util/getroot_unix.c (grub_util_check_block_device): ... here.
2832 * util/getroot.c (grub_util_check_char_device): Move to ...
2833 * util/getroot_unix.c (grub_util_check_char_device): ... here.
2834
9db826e1
VS
28352013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2836
2837 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_close): Fix
2838 disk closing logic.
2839
49120085
AB
28402013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
2841
2842 * docs/grub.texi (Simple configuration): Document GRUB_ENABLE_CRYPTODISK.
2843
b3328b68
AB
28442013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
2845
2846 * docs/grub.texi (File name syntax): Document ZFS filenames
2847 (/volume@snapshot/...).
2848
3fff48ab
VS
28492013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2850
2851 * grub-core/kern/emu/hostdisk_windows.c (grub_util_get_windows_path):
2852 Always return full path. Fixes a problem with mkrelpath.
2853
39cfdaa9
PFS
28542013-09-23 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2855
2856 * util/grub-install.in: Add GPT PReP support.
2857 * util/grub-probe.c (probe): Support GPT partition type.
2858 (main): Support -t gpt_parttype.
2859
7c680e1f 28602013-09-23 Aleš Nesrsta <starous@volny.cz>
2861
2862 * grub-core/bus/usb/ehci.c: SMI disabled in all cases
2863
890bdabe
MM
28642013-09-23 Massimo Maggi <me@massimo-maggi.eu>
2865
2866 * grub-core/fs/zfs/zfs.c (check_pool_label): Check nvlist.
2867
9c262ff9
TH
28682013-09-23 Tim Hardeck <thardeck>
2869
2870 * util/grub.d/10_hurd.in: Filter out character for the class.
2871 * util/grub.d/10_kfreebsd.in: Likewise.
2872 * util/grub.d/10_linux.in: Likewise.
2873 * util/grub.d/20_linux_xen.in: Likewise.
2874
d755342a
MC
28752013-09-23 Melki Christian <Christian.melki@saabgroup.com>
2876
2877 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Fix the type of
2878 "changed".
2879
68b77707
JT
28802013-09-23 Josh Triplett <josh@joshtriplett.org>
2881
2882 * grub-core/boot/i386/pc/lnxboot.S: Re-add support for recording the
2883 boot partition.
2884
efa68bfa
VS
28852013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2886
2887 * Makefile.util.def (libgrubmods.a): Remove CFLAGS_POSIX as this lib
2888 doesn't use posix_wrap. Keep literal -fno-builtin however.
2889
d9104204
VS
28902013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2891
2892 * conf/Makefile.common (CPPFLAGS_LIBFDT): Remove leftover.
2893
c248781a 28942013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
28952013-09-23 neil
2896
5830df88 2897 * configure.ac: Do not enable -Wmissing-noreturn as its
2898 usefulness is limited and creates problems on some OS notably with
2899 code generated by bison.
2900
29012013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
29022013-09-23 neil
2903
2904 * configure.ac: Do not explicitly enable -Waddress as it's not
c248781a 2905 supported by all gcc and when it is, it's already enabled by -Wall.
2906
621bed69
VS
29072013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2908
2909 * grub-core/video/efi_gop.c (grub_video_gop_setup): Fix a typo which
2910 desactivated use of EDID at all.
2911
71764dc8 29122013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
29132013-09-23 neil
2914
2915 * grub-core/loader/multiboot.c (grub_multiboot_set_console): Always use
2916 video if no text is available.
2917
affce7d4 29182013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025
VS
29192013-09-23 neil
2920
2921 * configure.ac: Substitute TARGET_RANLIB.
2922
29232013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
29242013-09-23 neil
affce7d4
VS
2925
2926 * grub-core/genmod.sh.in: Remove ./ from TARGET_OBJ2ELF. Add quotes.
2927
2928 Based on patches from AROS.
2929
0e8daad0 29302013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025 29312013-09-23 neil
0e8daad0
VS
2932
2933 * grub-core/Makefile.am: Override STRIP and RANLIB.
2934 * configure.ac: compute TARGET_RANLIB.
2935 * INSTALL: Document TARGET_RANLIB
2936
2937 Based on patches from AROS.
2938
3f7d9c82
VS
29392013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2940
2941 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume
2942 that floppies are unpartitioned.
2943
bca8873a
VS
29442013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2945
2946 * util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:
2947 Define dummy grub_util_pull_lvm_by_command to decrease number of #if's.
2948
29492013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2950
2951 * grub-core/lib/posix_wrap/sys/types.h: Use OpenBSD approach: it's
2952 less nice but more portable.
2953 * grub-core/lib/posix_wrap/wchar.h: Likewise.
2954
a47a78be
VS
29552013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2956
2957 * include/grub/cryptodisk.h (grub_cryptodisk): Use grub_util_fd_t
2958 for cheat_fd.
2959 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Use grub_util_*
2960 functions.
2961 (grub_cryptodisk_cheat_insert): Likewise.
2962 (grub_cryptodisk_close): Likewise.
2963
e85a5d5c
VS
29642013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2965
2966 * include/grub/emu/misc.h: Remove leftover cygwin definitions.
2967 Use windows path for DEFAULT_DIRECTORY.
2968
dad9fa6b
VS
29692013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2970
2971 * include/grub/i386/setjmp.h: Remove useless #if MINGW where original
2972 difference was likely just gcc version, not anything mingw-related.
2973
7e518ca8
VS
29742013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2975
2976 Use Winapi on both cygwin and mingw32 to share more code between both.
2977
d68d0157
AB
29782013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
2979
2980 * util/grub-install.in: Add --grub-editenv option.
2981 * util/grub-install_header (grub_compress_file): Explicitly check for
2982 plain file to avoid cp error.
2983
775b284d
AB
29842013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
2985
2986 * docs/grub.texi (Device syntax): Document new LVM UUID based device
2987 names; fix LVM driver name (lvm, not lv).
2988 * util/grub-probe.c (probe_abstraction): Support lvmid/xxx device
2989 names.
2990
3ff4063d
VS
29912013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
2992
2993 * grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific
2994 files rather than one file with loads of #if's.
2995 * util/getroot.c: Likewise.
2996
287faafe
VS
29972013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
2998
2999 * grub-core/lib/posix_wrap/sys/types.h: Use stddef on *BSD.
3000
d1983764
VS
30012013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3002
3003 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Add windows and
3004 GNU/Hurd to the list of checked PRNG.
3005
15ce95c4
VS
30062013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3007
3008 * configure.ac: On FreeBSD use -melf_*_fbsd format.
3009
207862dd 30102013-09-21 Ales Nesrsta <starous@volny.cz>
3011
7c680e1f 3012 * grub-core/bus/usb/ehci.c: Corrected EHCI QH handling (async./sync.)
207862dd 3013
63653cfd
VS
30142013-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3015
3016 * grub-core/disk/diskfilter.c: Handle non-md UUIDs.
3017 * grub-core/disk/lvm.c: Add LVM UUIDs.
3018 * util/getroot.c: Use LVM UUIDs whenever possible.
3019
f5d3e7ef
AB
30202013-09-19 Andrey Borzenkov <arvidjaar@gmail.com>
3021
3022 * docs/grub.texi (Networking commands): Add documentation for
3023 network related commands.
3024
53c6b7d6
VS
30252013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3026
3027 * util/getroot.c (grub_util_open_dm): Check major rather than the name
3028 to determine if device is handled by devmapper.
3029 (convert_system_partition_to_system_disk): Likewise.
3030 (get_dm_uuid): Don't check explicitly if device is mapped, it's
3031 already done in grub_util_open_dm.
3032
e70d6736
LL
30332013-09-19 Leif Lindholm <leif.lindholm@linaro.org>
3034
3035 * kern/arm/cache.S: Correct access to ilinesz/dlinesz variables.
3036 Clean up stack manipulation (sync_caches_armv*)
3037
90379808
VS
30382013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3039
3040 * util/lvm.c: Remove since unused. Remove remaining references.
3041
386701a8
VS
30422013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3043
3044 Handle the case of partitioned LVM properly.
3045
3046 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
3047 Stop on meeting LVM, mpath or DMRAID.
3048 (grub_hostdisk_os_dev_to_grub_drive): Canonicalize os device.
3049 (read_device_map): Likewise.
3050 * util/getroot.c (convert_system_partition_to_system_disk): Assume that
3051 device is full disk rather than erroring out on LVM and similar cases.
3052
53070787
VS
30532013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3054
3055 * util/grub-mkconfig_lib.in: Keep supplied pkgdatadir if any.
3056
1bc783bd
VS
30572013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3058
3059 * grub-core/kern/mm.c (grub_mm_init_region): Skip regions less than
3060 4K before the end.
3061 Reported by: Leif Lindholm
3062
436ad5c3
PW
30632013-09-18 Pawel Wojtalczyk <eyak@wp.pl>
30642013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3065
3066 * grub-core/term/efi/console.c (grub_console_getkey): Accept VT100-style
3067 codes.
3068
607319c9
CW
30692013-09-18 Colin Watson <cjwatson@ubuntu.com>
3070
3071 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name_iter):
3072 Remove no-longer-true __attribute__ ((unused)) on disk parameter.
3073
d404d154
DR
30742013-09-18 Douglas Ray <dougray@cpan.org>
3075
3076 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Declare OpenBSD PRNG
3077 as secure.
3078
28851ef6
AN
30792013-09-18 Aleš Nesrsta <starous@volny.cz>
3080
3081 * docs/grub.texi: Fix broken link.
3082
897c3bc6
MC
30832013-09-18 Melki Christian <Christian.melki@saabgroup.com>
3084
3085 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Add condition
3086 to break endless loop.
3087
f1630459
VS
30882013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3089
3090 * util/grub-fstest.c: Fix several printf formats.
3091 * util/grub-mkimage.c: Likewise.
3092 * util/grub-mkimagexx.c: Likewise.
3093 * util/grub-script-check.c: Likewise.
3094
64463dfd
VS
30952013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3096
3097 * grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
3098 error.
3099
48972495
VS
31002013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3101
3102 * config.h.in [GRUB_BUILD]: Explicitly undefine ENABLE_NLS.
3103
5dd5e64b
VS
31042013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3105
3106 * util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan
3107 removed in current versions cygwin_conv_*.
3108
1c1f31e5
VS
31092013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3110
3111 * configure.ac: Disable efiemu runtime on cygwin.
3112
c546a259
VS
31132013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3114
3115 * conf/Makefile.extra-dist: Add missing util/grub-gen-asciih.c,
3116 util/grub-gen-widthspec.c and util/grub-pe2elf.c.
3117
81690478
VS
31182013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3119
3120 * util/grub-mkpasswd-pbkdf2.c (grub_password_get): Remove extraneous
3121 error message.
3122
6b87c10a
VS
31232013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3124
3125 * grub-core/lib/crypto.c (grub_password_get) [GRUB_UTIL]: Add
3126 windows variant.
3127 * util/grub-mkpasswd-pbkdf2.c: Add windows flavour for retrieving random
3128 data.
3129
8f0baaac
VS
31302013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3131
3132 * configure.ac: Add -Wl,-melf_i386 and -Wl,-melf_x86_64 systematically
3133 when on x86 and not cygwin.
3134 * conf/Makefile.common: Remove unsystematic -Wl,-melf_i386 and
3135 -Wl,-melf_x86_64.
3136
b224c266
VS
31372013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3138
3139 * configure.ac: Set CPP to build one when checkoing for freetype for
3140 build.
3141
506b336b
VS
31422013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3143
3144 * util/grub-mkfont.c [!GRUB_BUILD]: Define my_argp_state.
3145 [!GRUB_BUILD]: Remove has_argument.
3146
8c8c87b7
VS
31472013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3148
3149 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath) [_WIN32]:
3150 Replace with a dummy.
3151
7dc5ca13
VS
31522013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3153
3154 * configure.ac: Don't change host_os from mingw to cygwin.
3155
c3302aa5
VS
31562013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3157
3158 * configure.ac: Change target_os from windows to cygwin.
3159
7b780018
VS
31602013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3161
3162 Handle grub-pe2elf and grub-mkfont for cases when build != host.
3163
3164 * Makefile.am (build-grub-mkfont): Don't include gnulib.
3165 (build-grub-gen-asciih): Likewise.
3166 (build-grub-gen-widthspec): Likewise.
3167 * Makefile.util.def (grub-pe2elf): Remove.
3168 * config.h.in [GRUB_BUILD]: Use build rather than host constants.
3169 * configure.ac: Separate tests for build.
3170 Move ./build-grub-pe2elf to grub-core.
3171 Fix typo.
3172 * grub-core/Makefile.am (build-grub-pe2elf): New target.
3173 * grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
3174 defined.
3175 * include/grub/types.h [GRUB_BUILD]: Use build rather than host
3176 constants.
3177 * util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
3178 * util/grub-pe2elf.c: Simplify not to rely on getopt.
3179 * util/misc.c (program_name) [GRUB_BUILD]: Define to static string.
3180
984cfd8a
VS
31812013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3182
3183 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
3184 mingw32 as well based on grub_util_get_disk_size.
3185 * util/misc.c (grub_util_get_disk_size): Removed. all users switched to
3186 grub_util_get_fd_size.
3187 (sync): Removed.
3188 (fsync): Moved to ...
3189 * grub-core/kern/emu/misc.c (fsync): ... here.
3190
f82d79c9
VS
31912013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3192
3193 * include/grub/mm.h (grub_extend_alloc): Remove.
3194 * grub-core/loader/i386/pc/plan9.c: Use own version of
3195 grub_extend_alloc with appropriate types.
3196
fd7dd66d
VS
31972013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3198
3199 * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.
3200
43ffba7c
VS
32012013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3202
3203 * util/getroot.c: Include sys/wait.h only when we need waitpid.
3204
3c7eac44
VS
32052013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3206
3207 Fix dependencies on cygwin.
3208
3209 * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
3210 dependencies when used and defined.
3211 * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.
3212
bdb5ba47
VS
32132013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3214
3215 * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
3216 * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
3217
ed7fbf43
VS
32182013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3219
3220 * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
3221 implementation available to cause compile-time rather than runtime
3222 error.
3223
fc46e9fc
VS
32242013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3225
3226 * util/grub-fstest.c: Don't check for symlinks on windows.
3227
7f68269a
VS
32282013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3229
3230 * INSTALL: Mention unavailability of man pages when cross-compiling.
3231
8ed358e0
VS
32322013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3233
3234 * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
3235 and gcry_log_bug.
3236 * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
3237
fc97214f
VS
32382013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3239
3240 * INSTALL: Document cross-compilation.
3241 * acinclude.m4: Determine whether nm support -P and --defined-only.
3242 * configure.ac: Add TARGET_ to all variables pertaining to target
3243 that don't have it yet.
3244 * gentpl.py: Likewise.
3245 * grub-core/Makefile.am: Likewise.
3246 * grub-core/genmod.sh.in: Likewise.
3247 * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
3248 as well.
3249
ca1fb563
IB
32502013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
3251
3252 * configure.ac: Remove -Wempty-body. It's not essential and needs
3253 recent gcc.
3254
0031b229
IB
32552013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
3256
3257 * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
3258 * util/getroot.c: Likewise.
3259
54ea2f44
VS
32602013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3261
3262 * grub-core/disk/ahci.c: Add needed explicit cast.
3263 * grub-core/lib/backtrace.c: Likewise.
3264 * grub-core/net/ip.c: Likewise.
3265 * grub-core/net/tcp.c: Likewise.
3266 * grub-core/net/udp.c: Likewise.
3267
3c601f8c
VS
32682013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3269
3270 * grub-core/lib/posix_wrap/wchar.h: Fix typo.
3271
1d679dda
VS
32722013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3273
3274 * util/import_gcry.py: Add final newline in visibility.h.
3275
00c28dd9
VS
32762013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3277
3278 * conf/Makefile.common: Fix typo.
3279
32af299a
VS
32802013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3281
3282 * Makefile.util.def (grub-mkfont): Add missing libgnu.a.
3283
e733cf52
VS
32842013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3285
3286 * Makefile.am (widthspec.h): Fix typo.
3287 * util/grub-gen-widthspec.c: Likewise.
3288
c6b066f2
VS
32892013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3290
3291 Move ascii.h and widthspec.h generation to a separate build-time-only
3292 tool.
3293
ad1fe3f9 32942013-08-16 Grégoire Sutre <gregoire.sutre@gmail.com>
3295
3296 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
3297 Always fill bootdisk info and improve check for NetBSD disklabel.
3298
92a52dd4
VS
32992013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3300
3301 * conf/Makefile.extra-dist: Add util/bin2h.c.
3302 Reported by: floppym.
3303
b2e9d276
VS
33042013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3305
3306 * configure.ac: Make unifont mandatory for powerpc-ieee1275.
3307
7b966834
VS
33082013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3309
3310 * configure.ac: Disable unifont and starfield if no freetype was found.
3311
d5c1eef1
VS
33122013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3313
3314 * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
3315 on NetBSD and OpenBSD.
3316
66345b50 33172013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
03dafa17
VT
3318
3319 * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.
3320
66345b50 33212013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
224a55bb
VT
3322
3323 * grub-core/gfxmenu/gui_list.c: The number of color mappings is
3324 reduced. Inheritant options are processed during the theme loading.
3325
66345b50 33262013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
58ec39c6
VT
3327
3328 * grub-core/gfxmenu/gui_list.c: Minimal width fixed.
3329
369508b3
AS
33302013-08-14 Avik Sil <aviksil@in.ibm.com>
3331
3332 * grub-core/net/tftp.c: Send tftp ack packet before closing the socket.
3333
33342013-08-14 Avik Sil <aviksil@in.ibm.com>
412ce916
AS
3335
3336 * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
3337 using qemu.
3338
6f27a3f6
PFS
33392013-08-14 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3340
3341 * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
3342 remove-potcdate.sed.
3343
c6ed362a
AB
33442013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
3345
3346 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
3347 unused attribute from pull argument.
3348
5e7d9464
AB
33492013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
3350
3351 * util/getroot.c (grub_util_is_imsm): Fix descriptor and
3352 memory leak.
3353
dea55e2a
AB
33542013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
3355
3356 * util/getroot.c (pull_lvm_by_command): add --separator option
3357 to vgs call to disable padding of output to 10 characters.
3358
f0b94ded
VS
33592013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3360
3361 * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
3362 here ...
3363 * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
3364 here.
3365
b828fb5d
VS
33662013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3367
3368 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
3369 length.
3370
7c9d0c39
VS
33712013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3372
3373 Fix handling of build-time grub-bin2h and grub-mkfont when doing
3374 full Canadian cross. Tested with build=x86_64, host=arm,
3375 target=ppc-ieee1275.
3376
816719c8
VS
33772013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3378
3379 * configure.ac: Error if no $BUILD_CC could be found.
3380 Reported by: DevHC.
3381
2af2353b
VS
33822013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3383
3384 * grub-core/kern/i386/coreboot/init.c: Fix compilation on
3385 i386-multiboot.
3386
797abd0a
VS
33872013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3388
3389 * grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
3390 * grub-core/kern/mips/qemu_mips/init.c: Likewise.
3391
36e87d25
CW
33922013-08-13 Colin Watson <cjwatson@ubuntu.com>
3393
3394 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
3395 grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
3396 falling back to the partition device, otherwise a later call to this
3397 function may fail spuriously.
3398 Reported by Axel Beckert. Fixes Debian bug #708614.
3399
273349fe
GS
34002013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
3401
3402 * autogen.sh: Replace find -not by the POSIX-compliant find !.
3403
418f86c6
GS
34042013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
3405
3406 Prevent shadowing of stdlib's devname(3) on BSD.
3407
3408 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
3409 and devlast to diskname and disklast, respectively.
3410
c137aea0
CW
34112013-08-11 Colin Watson <cjwatson@ubuntu.com>
3412
3413 * util/grub-mkconfig.in: Fix detection of Emacs autosave files.
3414
272dc8df 34152013-08-08 Vladimir Testov <vladimir.testov@rosalab.ru>
b4743461
VT
3416
3417 * docs/grub.texi: Introduce terminal window position options:
3418 terminal-left: terminal window's left position
3419 terminal-top: terminal window's top position
3420 terminal-width: terminal window's width
3421 terminal-height: terminal window's height
3422 terminal-border: terminal window's border width
3423 * grub-core/gfxmenu/theme-loader.c: Likewise.
3424 * include/grub/gfxmenu_view.h: Likewise.
3425 * po/exlude.pot: Likewise.
3426 * grub-core/gfxmenu/view.c: Likewise.
3427 Also updated minimal window size.
3428 Also terminal_sanity_check function has been introduced.
272dc8df
VT
3429 * grub-core/tests/checksums.h: Update (terminal window height
3430 is adjusted now for low resolution screen)
b4743461 3431
748a4533
VS
34322013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3433
3434 * grub-core/tests/checksums.h: Update (1-pixel difference in marker
3435 position).
3436
fca5f944
VS
34372013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3438
3439 * po/exclude.pot: Add few recent exceptions.
3440
4f47d809
VS
34412013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3442
3443 * tests/grub_func_test.in: Add unicode.pf2.
3444
a62ae90c
VS
34452013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3446
3447 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
3448 standard rather than noral color, in line with other terminals.
3449
4ed41392
VS
34502013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3451
3452 * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
3453 analysis.
3454
3719fbc5
VS
34552013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3456
3457 * grub-core/loader/arm/linux.c: Change printf to dprintf.
3458
459b1d91
VS
34592013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3460
3461 * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
3462 inappropriate printf.
3463
f4e1ab9d
AB
34642013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
3465
3466 * .bzrignore: Remove grub-core/lib/dtc-grub,
3467 grub-core/Makefile.libfdt.def
3468 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
3469
fa471bfa
VS
34702013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3471
3472 * include/grub/video.h (grub_video_register): Keep double-linked as
3473 well as single-linked invariants.
3474 Reported by: qwertial.
3475
d65be02b
VS
34762013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3477
3478 * grub-core/commands/nativedisk.c (get_uuid): Handle
3479 GRUB_DISK_DEVICE_UBOOTDISK_ID.
3480
ba8bc620
VT
34812013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
3482
3483 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
3484 maximum of NW, N, NE heights instead of N's height and maximum of
3485 NW, W, SW widths instead of W's width. (So the box will be always
3486 correctly drawn)
3487
4f0ad029
GS
34882013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
3489
3490 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
3491 Fix misuse of variable count.
3492
43d53b72
LL
34932013-07-18 Leif Lindholm <leif.lindholm@arm.com>
34942013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
34952013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
5bac5d9a 3496
43d53b72
LL
3497 New ports to arm-uboot and arm-efi.
3498 Mostly by Leif Lindholm with some additions from
3499 Francesco Lavra and cleanup by Vladimir Serbinenko.
141430a2 3500
88f8d146
VS
35012013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
3502
3503 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
3504 and not before.
3505 Reported by: Leon Drugi.
3506
3f42504c
VS
35072013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
3508
3509 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
3510 Reported by: Paulo Flabiano Smorigo.
3511
d110499b
VT
35122013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
3513
3514 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
3515
a8674ad3
VT
35162013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
3517
3518 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
3519
286fe4b3
VS
35202013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3521
3522 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
3523
1bd57aa3
VS
35242013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3525
3526 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
3527
7a87d69f
AB
35282013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
3529
3530 * grub-core/net/bootp.c: Export net_* variables.
3531 * grub-core/net/net.c: Likewise.
3532
b2182299
VS
35332013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3534
3535 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
3536
795b3dc0
VS
35372013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3538
3539 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
3540
68714c43
VS
35412013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3542
3543 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
3544
af211bab
VS
35452013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3546
3547 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
3548
0036f02d
MM
35492013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3550
3551 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
3552 <= 0.
3553
6d0ddff3
MM
35542013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3555
3556 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
3557 functions.
3558
038016f4
MM
35592013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3560
3561 * grub-core/fs/zfs/zfs_lz4.c: New file.
3562 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
3563
776bdce2
MM
35642013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3565
3566 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
3567
c71dbd40
MM
35682013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3569
3570 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
3571 (check_pool_label): Likewise.
3572 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
3573
35742013-07-14 Massimo Maggi <me@massimo-maggi.eu>
53618046
MM
3575
3576 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
3577
8e67b50f
AB
35782013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
3579
3580 * docs/grub.texi (Commands): Document postition parameters
3581 for menuentry command.
3582
f5ae3717
AB
35832013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
3584
3585 * util/grub-mknetdir.in: Remove stray line from help output.
3586
9c28da2a
VS
35872013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3588
3589 Remove early sm712 init as there is no reason for it (the "watchdog"
3590 effect was due to wrong GPIO map).
3591
139072b8
VS
35922013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3593
3594 * grub-core/commands/pcidump.c: Remove static variables.
3595
c6a61bda
VS
35962013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3597
3598 * grub-core/commands/sleep.c: Refresh screen before sleeping.
3599
51369614
VS
36002013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3601
3602 * configure.ac: Move delimiter after the infos.
3603
efa8640a
VS
36042013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3605
3606 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
3607
6f80a7b2
VS
36082013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3609
3610 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
3611 not filling whole 8x16 space.
3612
a2371e19
VS
36132013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3614
3615 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
3616
64fce2d8
VS
36172013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3618
3619 * configure.ac: Indicate which liblzma is used if any.
3620
eb272d84
PW
36212013-06-21 Paul Wise <pabs3@bonedaddy.net>
36222013-06-21 Craig Sanders <savannah@taz.net.au>
3623
3624 * util/grub-reboot.in: Document submenu usage.
3625
a9e5abee
CW
36262013-06-25 Colin Watson <cjwatson@ubuntu.com>
3627
3628 * .bzrignore: Update with a number of new test-related files.
3629
e639c204
CW
36302013-06-25 Colin Watson <cjwatson@ubuntu.com>
3631
3632 * util/grub-script-check.c: Fail on scripts containing no
3633 commands, to guard against corrupted grub-mkconfig setups that
3634 produce no useful output.
3635 * tests/grub_script_no_commands.in: New test.
3636 * Makefile.util.def (grub_script_no_commands): Add.
3637 Reported by Hans Putter. Fixes Debian bug #713886.
3638
a4c89b17
AB
36392013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
3640
3641 * grub-core/disk/diskfilter.c: Forgot to remove comment
3642 from previous commit.
3643
5b06b53c
AB
36442013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
3645
3646 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
3647 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
3648
702da5c9
AB
36492013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
3650
3651 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
3652
aa62a5b7
AB
36532013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
3654
3655 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
3656 rescan diskfilter devices until nothing new is found.
3657
4aa237c8
VS
36582013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3659
3660 Fix casts when compiling coreboot-specific code for 64-bit EFI.
3661
93d8479b
VS
36622013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3663
3664 Don't try to detect cbfs on *-emu.
3665
837222cc
VS
36662013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3667
3668 * grub-core/term/gfxterm.c: USe right background color when scrolling.
3669
99c971af
VS
36702013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3671
3672 Add support for processed coreboot payload chainloading.
3673
e6930a45
VS
36742013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3675
3676 Enable coreboot information commands even when not loaded as
3677 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
3678
5027af38
VS
36792013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
3680
3681 Support for cbfs. Also factor out the part which is common
3682 for all archives to a separate module. This splits tar from cpio
3683 as they are very different but keeps cpio, cpio_be, odc and newc
3684 together since they're very similar.
3685
a5b55c4b
DM
36862013-06-15 David Michael <fedora.dm0@gmail.com>
3687
3688 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
3689 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
3690
0301a8b3
VS
36912013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
3692
3693 * tests/grub_script_eval.in: Really add the eval test.
3694
3d84cb17
VS
36952013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
3696
3697 Move flavour-specific parts out of common cpio.c file and
3698 rename remaining to cpio_common.c
3699
593e430c
AB
37002013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
3701
3702 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
3703 off new function grub_script_execute_new_scope. Change callers to use
3704 either of them as appropriate.
3705 * grub-core/commands/eval.c: New command eval.
3706 * docs/grub.texi (Commands): Document it.
3707
63c29849
AB
37082013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
3709
3710 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
3711 to fetch values when listing.
3712
cc284112
AB
37132013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
3714
3715 Fix make dist on non-pc.
3716
37172013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
b8578da6
FL
3718
3719 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
3720 without a device name.
3721
69544d1e
VS
37222013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3723
3724 Remove enable_executable_check as it's not needed anymore.
3725 Reported by: dougray.
3726
96dbe648
VS
37272013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3728
3729 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
3730 ambigouos RAID before discovering RAIDs on top of it.
3731 Reported by: bodom.
3732
ccfc0bdb
VS
37332013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3734
3735 Fix typo (failback vs fallback).
3736
f2587088
AB
37372013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
3738
3739 * util/grub.d/30_os-prober.in: Add support for probing EFI
3740 System Partition (as of os-prober 1.58).
3741
cec5cf0c
VS
37422013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
3743
3744 * configure.ac: Add yet another path to unifont. For parabola.
3745
e40b4596
JT
37462013-05-30 Josh Triplett <josh@joshtriplett.org>
3747
3748 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
3749 handling to copy the killed characters to the kill buffer as
3750 UCS4 stored as grub_uint32_t rather than as 8-bit characters
3751 stored as char. Eliminates UCS4 truncation and corruption
3752 observed when killing characters with Ctrl-u and yanking them
3753 back with Ctrl-y.
3754
fc4c4fdd
VS
37552013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3756
3757 Detach optional parts of gfxterm and integrate in with coreboot init.
3758
6570b205
VS
37592013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3760
3761 Move blit and fill dispatcher to appropriate files to decrease export
3762 and relocation overhead.
3763
b8323067
VS
37642013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3765
3766 * grub-core/font/font.c, include/grub/font.h: Inline simple font
3767 functions.
3768
3cc1878f
VS
37692013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3770
3771 * grub-core/Makefile.am: Fix compilation problem with some
3772 automake versions.
3773
4b80e43c
VS
37742013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3775
3776 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
3777
57e0c20c
VS
37782013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3779
3780 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
3781 automake versions.
3782
4fd42c53
VS
37832013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3784
3785 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
3786 SSDT.
3787
1e908b34
RS
37882013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
3789
3790 * grub-core/partmap/dfly.c: New partition map.
3791
1359e474
VS
37922013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3793
3794 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
3795 checking.
3796 Reported by: Francesco Lavra.
3797
17806392
AB
37982013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
3799
3800 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
3801 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
3802 false conditions.
3803 * conf/Makefile.common: define dist_grubconf_DATA
3804
cdce14fa
VS
38052013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3806
3807 Progressively skip menu elements on small terminals rather
3808 than crashing.
3809
c8d6cc3c
VS
38102013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3811
3812 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
3813 to avoid losing last column.
3814
a73b31ce
VS
38152013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3816
3817 * po/exclude.pot: Add missing string "%C".
3818
1202c764
VS
38192013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3820
3821 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
3822 after the test.
3823
50268344
VS
38242013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
3825
3826 * util/grub-install.in: Gettextize "Not found" message.
3827
62b15edf
VS
38282013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
3829
3830 Fix distfiles list.
3831 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
3832
38332013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
a9c0b699
PFS
3834
3835 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
3836 present.
3837 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
3838
709ad61b
VS
38392013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
3840
3841 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
3842
d128901a
VS
38432013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
3844
3845 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
3846 attribute since structure is not necessarily aligned.
3847
34b22f5c
AB
38482013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
3849
3850 * docs/grub.texi (Device syntax): Clarify description of network
3851 drives.
3852
0f7e980b
VS
38532013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3854
3855 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
3856 for vasprintf presence.
3857
30b03dc2
VS
38582013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3859
3860 * util/grub-install.in: Handle efibootmgr presence check.
3861 Reported by: Leif Lindholm.
3862
0dc11c08
VS
38632013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3864
3865 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
3866 new strings to translate.
3867
f8024c3f
VS
38682013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3869
3870 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
3871 yet another string (pun intended) to translate.
3872
b4c1da62
VS
38732013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3874
3875 * po/POTFILES-shell.in: Autogenerate it.
3876
0ef7478b
VS
38772013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3878
3879 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
3880
8200fa15
VS
38812013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3882
3883 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
3884 misnomer.
3885
091945b2
AB
38862013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
3887
3888 * docs/grub.texi (Network): Add description of net_default_interface,
3889 net_default_ip and net_default_mac. Rewrite variables description
3890 to emphasize that they are per-interface.
3891
0e7b2e32
VS
38922013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
3893
3894 New test: cmdline and cat.
3895
16f7c8f6
VS
38962013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
3897
3898 * grub-core/commands/cat.c: Show UTF-8 characters.
3899
3e912fda
VS
39002013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
3901
3902 * conf/Makefile.common: Poison float and double on non-emu.
3903
ee0220bc
VS
39042013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
3905
3906 * configure.ac: Don't disable extended registers on emu.
3907
89e0240c
VS
39082013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3909
3910 * configure.ac: Don't use extended registers on x86_64.
3911 Reported by: Peter Jones.
3912
e56d9637
VS
39132013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3914
3915 * grub-core/term/efi/console.c: Fix compile error.
3916
8098f655
VS
39172013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3918
3919 Compressed HFS+ support.
3920
16940e07
VS
39212013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3922
3923 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
3924 pixel".
3925
c5dbc13d
VS
39262013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3927
3928 Menu color test.
3929
011f8ae8
VS
39302013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3931
3932 * grub-core/tests/setjmp_test.c: New test.
3933
2aa072d7
VS
39342013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3935
3936 New variables 'net_default_*' to determine MAC/IP of default interface.
3937
43fe02cb
VS
39382013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3939
3940 * tests/gettext_strings_test.in: A test to check for strings not
3941 marked for translation.
3942
bed06142
VS
39432013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3944
3945 * autogen.sh: Exclude unused libgcrypt files from translation.
3946
fb2666b5
VS
39472013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3948
3949 Simplify few strings.
3950
d22840ec
VS
39512013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3952
3953 Mark few forgotten strings for translation.
3954
e34092fd
VS
39552013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3956
3957 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
3958 rather than printf.
3959
47cf82b4
VS
39602013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3961
3962 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
3963 rather than printf.
3964 * grub-core/video/readers/tga.c: Likewise.
3965
1eed0e6e
VS
39662013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3967
3968 * tests/priority_queue_unit_test.cc: New test.
3969
c5b7697b
VS
39702013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3971
3972 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
3973 than printf.
3974
5945c2f8
AB
39752013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
3976
3977 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
3978 variable for one time boot menu entry.
3979
fa292343
B
39802013-05-05 Bean <bean123ch@gmail.com>
3981
3982 * grub-core/commands/testspeed.c: New command testspeed.
3983
310d4214
VS
39842013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
3985
3986 Factor-out human-size printing.
3987
85002bf3
VS
39882013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3989
3990 Agglomerate more mallocs to speed-up gfxterm.
3991
22b06e96
VS
39922013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3993
3994 Speed-up gfxterm by slightly agglomerating mallocs.
3995
b7c036bc
VS
39962013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3997
3998 More video checks.
3999
92323d1f
VS
40002013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4001
4002 Speed-up gfxterm by saving intermediate results in index+alpha
4003 format.
4004
0fb356a3
VS
40052013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4006
4007 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
4008 test.
4009
44dea3f9
VS
40102013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4011
4012 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
4013 line of timeout as it may contain the rest of long line.
4014
14af86e4
VS
40152013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4016
4017 * grub-core/normal/main.c: Fix freed memory dereference.
4018
03f7c8c3
VS
40192013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4020
4021 Fix several memory leaks.
4022
c686014c
VS
40232013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4024
4025 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
4026
0788a695
VS
40272013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4028
4029 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
4030
daf01d61
VS
40312013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4032
4033 Fix test -a and -o precedence.
4034 Reported by: adrian15.
4035
82ae74d7
VS
40362013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4037
4038 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
4039
8cec7bd4
AB
40402013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
4041
4042 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
4043 and add it as source to functional_test module.
4044
aa73d688
VS
40452013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4046
4047 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
4048
c104b6f9
VS
40492013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4050
4051 New series of tests for gfxterm and gfxmenu.
4052
7391c4d5
VS
40532013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4054
4055 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
4056 the theme path relative to $prefix/themes.
4057
cff50118
VS
40582013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4059
4060 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
4061 Fix order bug.
4062 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
4063
7c332bdc
VS
40642013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4065
4066 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
4067 descriptor.
4068
a4f9a5ff
VS
40692013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4070
4071 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
4072 grub_gfxmenu_timeout_notifications.
4073 (grub_gfxmenu_view_destroy): Likewise.
4074
b5a2114d
VS
40752013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4076
4077 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
4078
a8905e8a
VS
40792013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4080
4081 Several fixes to ieee1275 and big-endian video.
4082
813c1622
VS
40832013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4084
4085 Add missing exports on mips.
4086
3f3e7326
VS
40872013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4088
4089 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
4090 if no unifont is found.
4091 Restore original keyboard.
4092
095accd1
VS
40932013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4094
4095 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
4096 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
4097
50361660
VS
40982013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4099
4100 First automated video test (running videotest and comparing results)
4101
cd0f6eec
VS
41022013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4103
4104 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
4105 instead of 2 to have full RGB/CMY test pattern.
4106
3f9634e5
VS
41072013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
4108
4109 Add few more tests.
4110
583e5b64
VS
41112013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
4112
4113 * include/grub/arc/arc.h: Account for missing "other" peripheral on
4114 ARCS. All users updated.
4115
aa7bcb99
VS
41162013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
4117
4118 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
4119
95ef1a54
VS
41202013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
4121
4122 * grub-core/partmap/amiga.c: Fix size of checksummed block.
4123
46546fc5
VS
41242013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4125
4126 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
4127 Reported by: qwertial.
4128
3476e0ef
VT
41292013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
4130
4131 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
4132 with syntax "XXX deg"/"XXX °".
4133
96f33fed
VS
41342013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4135
4136 Make PCI init in i386-qemu port more robust.
4137
41382013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
dc5a311a
VT
4139
4140 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
4141 cached view is reused.
4142 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
4143 open boot menus.
4144
c53b4e67
VS
41452013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4146
4147 Unify more code in grub-install_header.
4148
f7457fb2
VS
41492013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4150
4151 Add few new tests.
4152
e2f27a8c
VS
41532013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4154
4155 Enforce disabling of firmware disk drivers when native drivers kick in.
4156
ef9d8cd5
VS
41572013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4158
4159 * grub-core/commands/nativedisk.c: Customize the list of modules on
4160 platform. Don't try to search for disks already using native drivers.
4161
f7bf6c31
VS
41622013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4163
4164 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
4165 platforms.
4166
bdc4add8
VS
41672013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4168
4169 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
4170 handling of variables containing backslash.
4171
e9e46c9a
VS
41722013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4173
4174 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
4175 dereference.
4176 Reported by: qwertial.
4177
0e90dee8
VS
41782013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4179
4180 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
4181
e0aacf24
VS
41822013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4183
4184 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
4185 dereference.
4186 Reported by: qwertial.
4187
3c0003c3
VS
41882013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4189
4190 * docs/grub.texi: Add a comment about usefullness of nativedisk.
4191
adb7d667
VS
41922013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4193
4194 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
4195
7cd0df84
VS
41962013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4197
4198 New command `nativedisk'.
4199
02adbb93
VS
42002013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4201
4202 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
4203 * grub-core/loader/i386/bsd.c: Likewise.
4204
9fb0fd4f
VS
42052013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4206
4207 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
4208
bd69257a
VS
42092013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4210
4211 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
4212 grub_get_unaligned16 rather than shifts.
4213
178c2764
VS
42142013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4215
4216 * grub-core/kern/file.c: Use const char * rather than casting to
4217 non-const.
4218
eadfad24
VS
42192013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4220
4221 * grub-core/commands/probe.c: Add missing grub_device_close.
4222
9f73ebd4
VS
42232013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4224
4225 * INSTALL: Document linguas.sh.
4226
965fa829
VS
42272013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4228
4229 Remove POTFILES.in and regenerate it in autogen.sh.
4230
d417ddc4
VS
42312013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4232
4233 Move --directory/--override-directorry to grub-install_header and unify.
4234
f97ec546
VS
42352013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4236
4237 * grub-core/term/morse.c: Macroify dih and dah.
4238
b2d7470c
PFS
42392013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4240
4241 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
4242
141e2a78
VS
42432013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4244
4245 * grub-core/term/ns8250.c: Systematically probe ports by writing
4246 to SR before using them.
4247
1dd70ebd
PFS
42482013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4249
4250 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
4251 disks.
4252 (check_sas): Get sas_adress info.
4253
c796a107
VS
42542013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4255
4256 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
4257 ports.
4258
43168646
LD
42592013-04-27 Leon Drugi <eyak>
4260
4261 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
4262 BSS clearing.
4263
e7b8fd08
VS
42642013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4265
4266 Core compression test.
4267
17f9fd29
VS
42682013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4269
4270 Implement grub_machine_get_bootlocation for ARC.
4271
dc2a6c8b
VS
42722013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4273
4274 Improve AHCI detection and command issuing.
4275
f25a2ba6
VS
42762013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4277
4278 Fix pseries test.
4279
a6393224
VS
42802013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4281
4282 Make 'make check' work on emu.
4283
db99fbe8
VS
42842013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4285
4286 Replace libcurses with our own vt100 handling for the ease of testing
4287 and decreasing prerequisites.
4288
b24ca7cd
VS
42892013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4290
4291 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
4292
63314aa4
VS
42932013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4294
4295 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
4296 compile when not needed.
4297
c1b00fff
VS
42982013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4299
4300 * tests/pseries_test.in: New test.
4301
f93e89ef
VS
43022013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4303
4304 Add test to check that different boot mediums work.
4305
c4b456d3
VS
43062013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4307
4308 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
4309 ofw limited ISO support.
4310
5fe67f39
VS
43112013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4312
4313 * configure.ac: Fix loongson conditional.
4314
7f63a64f
VS
43152013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4316
4317 Enable mipsel-arc.
4318
b04b5990
VS
43192013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4320
4321 Add serial on ARC platform.
4322
88d2f302
VS
43232013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4324
4325 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
4326 commit.
4327
86eb23bc
VS
43282013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4329
4330 * tests/partmap_test.in: Add missing double semicolon.
4331
eec3bb75
VS
43322013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4333
4334 * util/grub-mkrescue.in: Fix loongson filename.
4335
e0810df3
VS
43362013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4337
4338 * util/grub-mkrescue.in: Move all files that don't have a location
4339 set in stone under /boot/grub. Use ISO hard links rather than copies
4340 to save some space.
4341
65a6b30b
VS
43422013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4343
4344 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
4345 bogus SLOF values.
4346
6aff0107
VS
43472013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4348
4349 Make check work on mips-arc.
4350
5e013e56
VS
43512013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4352
4353 * util/grub-mkrescue.in: Alias sashARCS as sash.
4354
d1989e2e
VS
43552013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4356
4357 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
4358 it's serial.
4359
1a25e72c
VS
43602013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4361
4362 * util/grub-install.in: Fix target fo qemu_mips.
4363 Fix extension on EFI.
4364
a59a9826
VS
43652013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4366
4367 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
4368 in front of chosen entry to mark it even if highlighting is lost.
4369
1a40f80c
VS
43702013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4371
4372 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
4373 gfxpayload=keep if cbfb is active.
4374
e343549c
VS
43752013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4376
4377 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
4378
45fbd9a2
VS
43792013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4380
4381 Add missing video ids to coreboot and ieee1275 video.
4382
ab1440bd
VS
43832013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4384
4385 * util/grub-mkrescue.in: Add mips-arc support.
4386
cdeb8324
VS
43872013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4388
4389 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
4390
8528c879
VS
43912013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4392
4393 Move mips-arc link address. Previous link address was chosen
4394 in belief that RAM on SGI platforms grows down while in fact it
4395 grows up from an unusual base.
4396
17fca573
VS
43972013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
4398
4399 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
4400 Fix a type which prevented CD-ROM and floppy boot.
4401
d178788e
VS
44022013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
4403
4404 Support coreboot framebuffer.
4405
4406 * grub-core/video/i386/coreboot/cbfb.c: New file.
4407
fe4c3e7e
VS
44082013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
4409
4410 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
4411 detecting too small regions.
4412
ec2dd179
VS
44132013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
4414
4415 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
4416
872dac83
VS
44172013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
4418
4419 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
4420 Remove dprintf.
4421 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
4422
90ec4b7f
VS
44232013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4424
4425 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
4426 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
4427 * grub-core/loader/powerpc/ieee1275/linux.c
4428 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
4429
f32555dd
VS
44302013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4431
4432 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
4433 Look for /boot-rom as well as /rom/boot-rom.
4434
38649799
VS
44352013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4436
4437 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
4438 handling when creating text_layer failed.
4439 * grub-core/video/video.c (grub_video_create_render_target):
4440 Set result to 0 on error.
4441 (grub_video_delete_render_target): Do not dereference NULL.
4442
aeace7f7
VS
44432013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4444
4445 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
4446 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
4447 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
4448 (grub_linux_load64): Mask out 2 high bits.
4449
4eafa175
AB
44502013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
4451
4452 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
4453 more place.
4454
daaa64bd
VS
44552013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4456
4457 Add support for pseries and other bootinfo machines to grub-mkrescue.
4458
4459 Tested by: Paulo Flabiano Smorigo.
4460
d0d2daa6
VS
44612013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
4462
4463 * util/grub-mkrescue.in: Add GPT for EFI boot.
4464
b193e100
VS
44652013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
4466
4467 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
4468 It improves performance in qemu.
4469
a0f8f3ac
VS
44702013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
4471
4472 * build-aux/snippet: Add missing gnulib files.
4473
284df0e2
AB
44742013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
4475
4476 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
4477
740201f3
AB
44782013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
4479
4480 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
4481
a7e03923
PJ
44822013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
44832013-04-15 Peter Jones <pjones@redhat.com>
4484
4485 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
4486 sectors.
4487 Based on patch by Peter Jones.
4488
25fc51a8
VS
44892013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4490
4491 Fix DMRAID partition handling.
4492
88017d47
VS
44932013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4494
4495 * tests/grub_cmd_date.in: Skip on sparc64.
4496
fa7d914e
VS
44972013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4498
4499 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
4500 firmware error messages.
4501
cbe57a48
VS
45022013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4503
4504 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
4505 source and destination differ.
4506
21aecce0
VS
45072013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4508
4509 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
4510 detection.
4511
25092d29
VS
45122013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4513
4514 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
4515 match config-util.h to avoid warnings and increase compatibility.
4516
79451522 45172013-04-14 Szymon Janc <szymon@janc.net.pl>
25092d29 45182013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
79451522
VS
4519
4520 Add option to compress files on install/image creation.
4521
78b7d77b
VS
45222013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4523
4524 * docs/grub-dev.texi: Rearrange menu to match the section order.
4525 Reported by: Bryan Hundven.
4526
cc2fa5ec
VS
45272013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4528
4529 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
4530
b49fe879
VS
45312013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4532
4533 Move GRUB out of system area when using xorriso 1.2.9 or later.
4534
5351da81
VS
45352013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4536
4537 * tests/grub_cmd_date.in: Add missing exit 1.
4538
c9d586ea
VS
45392013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4540
4541 * tests/partmap_test.in: Skip on sparc64.
4542
3f729741
VS
45432013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4544
4545 Support grub-shell on sparc64.
4546
8ca86b3a
VS
45472013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4548
4549 Support mkrescue on sparc64.
4550
aa1af9bb
VS
45512013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4552
4553 Allow IEEE1275 ports on path even if it wasn't detected automatically.
4554 Needed on OpenBIOS due to incomplete device tree.
4555
ac4fea79
VS
45562013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4557
4558 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
4559 would be otherwise excluded.
4560
45612013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
87206f2c
VS
4562
4563 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
4564 Inline name defines used only once.
4565
fe22b071
VS
45662013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
4567
4568 Fix memory leaks in ofnet.
4569 Reported by: Francesco Lavra.
4570
9d21381b
VS
45712013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4572
4573 * docs/man/grub-glue-efi.h2m: Add missing file.
4574
07aec23c
VS
45752013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4576
4577 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
4578
67ab8353
VS
45792013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4580
4581 Better support Apple Intel Macs on CD.
4582
ba44ca6d
VS
45832013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4584
4585 Replace stpcpy with grub_stpcpy in tools.
4586
bbdd6305
VS
45872013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4588
4589 Handle Japanese special keys.
4590 Reported by: Hiroyuki YAMAMORI.
4591 Codes supplied by: Hiroyuki YAMAMORI.
4592
8573d302
VS
45932013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4594
4595 * util/grub-mkimage.c: Document memdisk implying --prefix.
4596
d70dbab7
VS
45972013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4598
4599 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
4600 much we can do about it anyway.
4601
51a4c3e3
AN
46022013-04-12 Aleš Nesrsta <starous@volny.cz>
4603
4604 Fix handling of split transfers.
4605
92c8f58d
VS
46062013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4607
4608 * grub-core/net/http.c: Fix bad free.
4609
b7d17a49
VS
46102013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4611
4612 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
4613 than buffer size.
4614
a3d566d4
VS
46152013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4616
4617 Disable partmap check on i386-ieee1275 due to openfirmware issues.
4618
a936af56
VS
46192013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4620
4621 * tests/util/grub-shell.in: Fix it on powerpc.
4622
51212234
VS
46232013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4624
4625 Turn off QEMU ACPI-way since new releases don't have shutdown port
4626 anymore.
4627
a21eec9e
VS
46282013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4629
4630 * docs/grub.texi: Update coreboot status info.
4631
e3734b84
VS
46322013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4633
4634 * tests/grub_cmd_date.in: New test for datetime.
4635
f9d40055
VS
46362013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4637
4638 * tests/partmap_test.in: Fix missing qemudisk setting.
4639
dbc56d8f
VS
46402013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4641
4642 Support i386-ieee1275 grub-mkrescue and make check on it.
4643
a79b8a15
VS
46442013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4645
4646 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
4647 feature for it.
4648
48f39bb4
VS
46492013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4650
4651 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
4652 GRUB_CMDLINE_XEN_DEFAULT.
4653 Reported by: Marc Warne (GigaTux) <gigatux>
4654
053cfcdd
VS
46552013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4656
4657 Import new gnulib.
4658
93cd84df
VS
46592013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4660
4661 Use ACPI shutdown intests as traditional port was removed.
4662
f4b1fa4f
AB
46632013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
4664
4665 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
4666 distinction.
4667
49818a59
VS
46682013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4669
4670 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
4671 Fix few warining messages and leaks while on it.
4672
9277a306
AB
46732013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
4674
4675 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
4676 links under grub-core/lib/libgcrypt-grub/mpi.
4677
d5e2a158
VS
46782013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4679
4680 Fix ia64-efi image generation on big-endian machines. Deduplicate
4681 some code while on it.
4682 Reported by: Leif Lindholm.
4683
18866643
AB
46842013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
4685
4686 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
4687 as extra_dist.
4688
ca53deb8
AB
46892013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
4690
4691 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
4692
d4c4b8e1
BH
46932013-04-08 Bryan Hundven <bryanhundven@gmail.com>
4694
4695 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
4696 texinfo-5.1.
4697
47043f95
VS
46982013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4699
4700 * grub-core/normal/term.c: Few more fixes for menu entry editor
4701 rendering.
4702 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
4703
a3216068
VS
47042013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
4705
4706 * grub-core/normal/term.c: Few more fixes for menu entry editor
4707 rendering.
4708 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
4709
21026747
AB
47102013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
4711
4712 * conf/Makefile.extra-dist (EXTRA_DIST): Add
4713 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
4714
59624ca8
AB
47152013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
4716
4717 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
4718 instead of hardcoding grub.mo.
4719
1f44478c
FN
47202013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
4721
4722 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
4723
eeada7b1
VS
47242013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4725
4726 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
4727 grub-core/disk/geli.c.
4728
132867de
VS
47292013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4730
4731 * util/grub-mkfont.c: Prefer enum to #define.
4732
de73de17
VS
47332013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4734
4735 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
4736
1865baa7
VS
47372013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4738
4739 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
4740
ce7d92a9
VS
47412013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4742
4743 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
4744
52eab656
VS
47452013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4746
4747 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
4748
98b23b95
VS
47492013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4750
4751 * include/grub/bsdlabel.h: Use enums.
4752
0467a5dd
VS
47532013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4754
4755 Move GRUB_CHAR_BIT to types.h.
4756
16cc9f03
AB
47572013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
4758
4759 * docs/grub.texi: Document more user commands.
4760
3152aecb
AB
47612013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
4762
4763 * docs/grub.texi: Document menuentry --id option.
4764
c506fc30
FL
47652013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
4766
4767 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
4768
aa428238
VS
47692013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4770
4771 Unify file copying setup across different install scripts. Add
4772 options for performing partial install.
4773
efe0cdda
PJ
47742013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
47752013-04-04 Peter Jones <pjones@redhat.com>
4776
4777 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
4778
f75835bd
VS
47792013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4780
4781 Use TSC as a possible time source on i386-ieee1275.
4782
2cd5ce6c
VS
47832013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4784
4785 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
4786 Init err.
4787
c9625630
VS
47882013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4789
4790 * util/grub-setup.c (setup): Handle some corner cases.
4791
be008941
VS
47922013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4793
4794 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
4795
1a78d573
VS
47962013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
4797
4798 * grub-core/commands/verify.c: Save verified file to avoid it being
4799 tampered with after verification was done.
4800
db8ff59f
VS
48012013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
4802
4803 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
4804 reported width by one to compensate for curesor algorithm problem.
4805
91bf46b1
VS
48062013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
4807
4808 Fix screen corruption in menu entry editor and simplify the code
4809 flow while on it.
4810
a7b1d693
AB
48112013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
4812
4813 * util/grub-mount.c (fuse_init): Return error if fuse_main
4814 failed.
4815
31df9ad8
FL
48162013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
4817
4818 * include/grub/elf.h: Add missing ARM relocation codes and fix
4819 existing ones.
4820
07f392eb
VT
48212013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
4822
4823 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
4824
9efd73ec 48252013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
c3578acf
VT
48262013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
4827
4828 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
4829 into account when calculating radius.
4830
48312013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
9efd73ec
VT
4832
4833 * grub-core/gfxmenu/view.c: Fix off-by-one error.
4834
4985ddaa
VT
48352013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
4836
4837 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
4838
8c3635ff
RS
48392013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
4840
4841 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
4842 missing closing bracket.
4843
74a35e69
RS
48442013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
4845
4846 * INSTALL: Mention xorriso requirement.
4847
40f1c000
AB
48482013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
4849
4850 * grub-core/commands/verify.c: Fix hash algorithms values for
4851 the first three hashes - they start with 1, not with 0.
4852
e75fdee4
VS
48532013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
4854
4855 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
4856 Try terminating EFI services several times due to quirks in some
4857 implementations.
4858
33028f4c
CW
48592013-03-26 Colin Watson <cjwatson@ubuntu.com>
4860
4861 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
4862 skipping Event, Device, Processor, PowerRes, ThermalZone, and
4863 BankField extended opcodes.
4864 (get_sleep_type): Add minimal scope handling (just enough to
4865 handle setting the scope to the root path).
4866 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
4867 * include/grub/acpi.h: Add enumeration values for Event, Device,
4868 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
4869
33871a10
VT
48702013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
4871
4872 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
4873 memory leak.
4874
8990963a
VS
48752013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
4876
4877 * grub-core/disk/ahci.c: Give more time for AHCI request.
4878
daae8f9e
VS
48792013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
4880
4881 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
4882 command.
4883
6a7fb94b
VS
48842013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
4885
4886 Replace the region at 0 from coreboot tables to available in BSD
4887 memory map.
4888
ff99babd
VS
48892013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
4890
4891 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
4892 non-BIOS platforms.
4893
30d6b1b2
VS
48942013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
4895
4896 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
4897 platforms.
4898
6ccd0b31
VS
48992013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
4900
4901 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
4902 handling of multi-device filesystems.
4903
23c9cc04
VS
49042013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
4905
4906 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
4907 platforms.
4908
ce50dbd7
VS
49092013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
4910
4911 Add new 'proc' filesystem framework and put luks_script into it.
4912
d975e8d5
VS
49132013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4914
4915 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
4916 and qemu.
4917
e73ba5e8
VS
49182013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
4919
4920 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
4921
92750e4c
VS
49222013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
4923
4924 Add ability to generate newc additions on runtime.
4925
0ec45a68
VS
49262013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
4927
4928 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
4929 description.
4930
320abd43
VS
49312013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
4932
4933 * po/POTFILES.in: Regenerate.
4934
d7a6506e
VS
49352013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
4936
4937 * grub-core/commands/verify.c (hashes): Add several hashes
4938 from the spec.
4939
8fe05def
VS
49402013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
4941
4942 Slight improve in USB-related boot-time checkpoints.
4943
524e2766
VS
49442013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
4945
4946 * grub-core/commands/boottime.c: Fix copyright header.
4947
cc19857a
VS
49482013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
4949
4950 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
4951 coreboot tables content. Support for cbmemc.
4952
ef8810e9
VS
49532013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
4954
4955 Fix a conflict between ports structures with 2 controllers of
4956 same kind.
4957
e9dabdfa
VS
49582013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
4959
4960 * include/grub/boottime.h: Add missing file.
4961
f6df57d2
VS
49622013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4963
4964 Initialize USB ports in parallel to speed-up boot.
4965
d745dda7
VS
49662013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4967
4968 Fix USB devices not being detected when requested
4969 due to delayed attach.
4970
e5a2dd7b
VS
49712013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4972
e744219b
VS
4973 Implement boot time analysis framework.
4974
49752013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4976
4977 Remove get_endpoint_descriptor and change all functions needing
e5a2dd7b
VS
4978 descriptor to just receive it as argument rather than endpoint
4979 address.
4980
5dd6f587
VS
49812013-03-19 Aleš Nesrsta <starous@volny.cz>
4982
4983 Better estimate the maximum USB transfer size.
4984
2f1071d5
VS
49852013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
4986
4987 Resend a packet if we got the wrong buffer in status.
4988
46ecfc49
VS
49892013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4990
4991 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
4992 multiplication rather than division.
4993
ea811130
VS
49942013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4995
4996 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
4997 than divisions.
4998
d2789cf0
VS
49992013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5000
5001 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
5002 operations to have intended shifts and not divisions.
5003
a9c94590
VS
50042013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5005
5006 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
5007 intended shifts rather than division.
5008
84cfe81b
VS
50092013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5010
5011 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
5012 computation for some years before epoch. Avode confusing division
5013 while on it.
5014
21344ef6
VS
50152013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5016
5017 * grub-core/video/i386/pc/vbe.c
5018 (grub_video_vbe_print_adapter_specific_info): Replace division by
5019 shifts.
5020
3f2b4d1a
VS
50212013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5022
5023 Adjust types in gdb module to have intended unsigned shifts rather than
5024 signed divisions.
5025
3dac5878
VS
50262013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5027
5028 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
5029 maximum size is 4G - 1 on hfs
5030
5341c0fb
VS
50312013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5032
5033 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
5034
fc3ff2a2
VS
50352013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5036
5037 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
5038 function.
5039
81455e8e
AB
50402013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
5041
5042 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
5043 causing gcc error with gcc 4.7.1.
5044
efd4f117
NZ
50452013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
5046
5047 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
5048 dereference null pointer. While the code is technically correct, gcc
5049 may eliminate a null check if pointer is already dereferenced.
5050
e11645f4
NZ
50512013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
5052
5053 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
5054 OOM check.
5055 * grub-core/normal/term.c (read_terminal_list): Likewise.
5056
77468368
VS
50572013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
5058
5059 Lift up core size limits on some platforms. Fix potential memory
5060 corruption with big core on small memory systems. Document remaining
5061 limits.
5062
f6b58fe5
VS
50632013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
5064
5065 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
5066 gotoxy to 0,0.
5067
19ce697d
VS
50682013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5069
5070 Remove all trampoline support. Add -Wtrampolines when
5071 present. Remove symbols used for trampolines to make
5072 link fail if trampolines are present.
5073
73b5d90f
VS
50742013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5075
5076 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
5077 append out of its parent.
5078
cb758e96
VS
50792013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5080
5081 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
5082 parent.
5083
3188131f
VS
50842013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5085
5086 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
5087 all vars to a macro. All users updated.
5088
e42b2514
VS
50892013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5090
5091 * grub-core/disk/ieee1275/nand.c: Fix compilation on
5092 i386-ieee1275.
5093
83e1a1a1
VS
50942013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5095
5096 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
5097
1d5a880f
VS
50982013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5099
5100 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
5101
6e4146c4
VS
51022013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5103
5104 Move to more hookless approach in IEEE1275 devices handling.
5105
99fcda8a
VS
51062013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5107
5108 * grub-core/kern/term.c (grub_term_normal_color),
5109 (grub_term_highlight_color): Add back lost defaults.
5110
73bf57e2
VS
51112013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5112
5113 Make elfload not use hooks. Opt for flags and iterators instead.
5114
7f8c105f
VS
51152013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5116
5117 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
5118 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
5119
396d4091
VS
51202013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5121
5122 * grub-core/script/execute.c (gettext_append): Remove nested functions.
5123
51242013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5125
5126 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
5127 hook pass-through parameter. All users updated and unnested.
5128
74a27421
VS
51292013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5130
5131 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
5132 out of its parent.
5133
b46d4213
VS
51342013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5135
5136 * grub-core/fs/hfs.c: Remove nested functions.
5137
e114c3cc
VS
51382013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5139
5140 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
5141 the context through.
5142 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
5143
f9b7d780
VS
51442013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5145
5146 * util/grub-editenv.c (list_variables): Move print_var out of its
5147 parent.
5148
ca9c2608
VS
51492013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5150
5151 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
5152 function.
5153
5d983f5f
VS
51542013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5155
5156 * grub-core/gentrigtables.c: Make tables const.
5157
3056d3e7
VS
51582013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5159
5160 Remove nested functions from videoinfo iterators.
5161
e2303774
VS
51622013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5163
5164 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
5165 for 64-bit platforms.
5166
f42e3a2f
VS
51672013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5168
5169 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
5170 a FOR_CHILDREN macro.
5171
be174e5e
VS
51722013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5173
5174 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
5175 platform from firmware path.
5176
0789b672
VS
51772013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5178
5179 Enable linux16 on non-BIOS systems for i.a. memtest.
5180
5181 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
5182 correctly.
5183 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
5184
005a9c32
VS
51852013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5186
5187 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
5188 Fix end of table condition.
5189
ff2b3cd9
VS
51902013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5191
5192 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
5193 out of its parent.
5194
4fc40ff8
VS
51952013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5196
5197 * grub-core/fs/jfs.c: Remove nested functions.
5198
be42d97a
VS
51992013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5200
5201 * grub-core/fs/minix.c: Remove nested functions.
5202
99373ce4
VS
52032013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5204
5205 * grub-core/fs/iso9660.c: Remove nested functions.
5206
5aec2afe
VS
52072013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5208
5209 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
5210 of parent function.
5211
6c69e691
VS
52122013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5213
5214 * util/grub-fstest.c: Remove nested functions.
5215
43c91882
VS
52162013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5217
5218 * grub-core/loader/machoXX.c: Remove nested functions.
5219
4eb8b756
CW
52202013-02-27 Colin Watson <cjwatson@ubuntu.com>
5221
5222 Remove nested functions from disk and file read hooks.
5223
5224 * include/grub/disk.h (grub_disk_read_hook_t): New type.
5225 (struct grub_disk): Add read_hook_data member.
5226 * include/grub/file.h (struct grub_file): Likewise.
5227 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
5228 argument.
5229
5230 Update all callers.
5231
df6da5a5
AB
52322012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
5233
5234 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
5235 Fix off by one error in enumerating extended partitions.
5236
21aecde5
AB
52372013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
5238
5239 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
5240 memory leak if device name is not found.
5241
f1a19118
AB
52422013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
5243
5244 * grub-core/normal/menu_entry.c (update_screen): remove
5245 unused variable `off' which caused scroll down arrow to be always shown.
5246
958bfd20
AB
52472013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
5248
5249 * grub-core/normal/menu_entry.c (insert_string): fix off by one
5250 access to unallocated memory.
5251
b7b78edb
AB
52522013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
5253
5254 * Makefile.util.def: Add partmap/msdos.c to common library.
5255 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
5256 * grub-core/disk/ldm.c: Check for existence of
5257 GRUB_PC_PARTITION_TYPE_LDM.
5258
28d468d6
VS
52592013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
5260
5261 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
5262 sizes and display sector size.
5263
d55ffb02
VS
52642013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
5265
5266 Implement new command cmosdump.
5267
b5ea6ce0
VS
52682013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5269
5270 Support Openfirmware disks with non-512B sectors.
5271
5272 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
5273 size of the disk.
5274 * (grub_ofdisk_get_block_size): New function.
5275 * (grub_ofdisk_prepare): Use the correct block size.
5276 * (grub_ofdisk_read): Likewise.
5277 * (grub_ofdisk_write): Likewise.
5278 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
5279 New proto.
5280
cc0e476f
VS
52812013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
5282
5283 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
5284
c5dbdc33
VS
52852013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5286
5287 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
5288 on first error.
5289
3f078c0f
VS
52902013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5291
5292 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
5293 freeing it.
5294
66a93674
VS
52952013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5296
5297 Implement USBDebug (full USB stack variant).
5298
c9f0c134
VS
52992013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5300
5301 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
5302 unless they have unexpected values.
5303
cfe1288b
VS
53042013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5305
5306 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
5307 grub_print_error.
5308
e42b9969
VS
53092013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5310
5311 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
5312 zero-out of port structure.
5313
cf94fd62
VS
53142013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5315
5316 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
5317 of extended attributes.
5318
f81ef4b5
AB
53192013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
5320
5321 * util/grub-install.in: change misleading comment about
5322 device.map creation
5323
af18fdb4
VS
53242013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
5325
5326 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
5327 when menu highlight color isn't set.
5328
08bcec50
M
53292013-01-27 C. Masloch <pushbx@38.de>
5330
5331 Improve FreeDOS direct loading support compatibility.
5332
5333 * include/grub/i386/relocator.h (grub_relocator16_state):
5334 New member ebp.
5335 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
5336 variable.
5337 (grub_relocator16_boot): Handle %ebp.
5338 * grub-core/lib/i386/relocator16.S: Likewise.
5339 * grub-core/loader/i386/pc/freedos.c:
5340 Load BPB to pass kernel which partition to load from.
5341 Check that kernel file is not too large.
5342 Set register dl to BIOS unit number as well.
5343
7782b8a6
CW
53442013-01-22 Colin Watson <cjwatson@ubuntu.com>
5345
5346 * util/grub-reboot.in (usage): Document the need for
5347 GRUB_DEFAULT=saved.
5348 * util/grub-set-default.in (usage): Likewise.
5349 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
5350
e661c180
VS
53512013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5352
5353 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
5354 than defining WORDS_BIGENDIAN manually.
5355
1c22ca9a
VS
53562013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5357
5358 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
5359 invariants.
5360
d44892fe
CW
53612013-01-21 Colin Watson <cjwatson@ubuntu.com>
5362
5363 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
5364 nested.
5365 (blit_comb: add_device_width): Likewise.
5366
5fdbaed1
CW
53672013-01-21 Colin Watson <cjwatson@ubuntu.com>
5368
5369 Remove nested functions from USB iterators.
5370
5371 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
5372 (grub_usb_controller_iterate_hook_t): Likewise.
5373 (grub_usb_iterate): Add hook_data argument.
5374 (grub_usb_controller_iterate): Likewise.
5375 (struct grub_usb_controller_dev.iterate): Likewise.
5376
5377 Update all implementations and callers.
5378
4250985a
VS
53792013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5380
5381 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
5382 margin when not needed.
5383
7d8848f3
VS
53842013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5385
bc136973 5386 Make color variables global instead of it being per-terminal.
7d8848f3
VS
5387
53882013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5389
bc136973
VS
5390 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
5391 asterisk.
7d8848f3 5392
ed12a003
CW
53932013-01-21 Colin Watson <cjwatson@ubuntu.com>
5394
5395 Fix powerpc and sparc64 build failures caused by un-nesting memory
5396 map iterators.
5397
6a0db449
CW
53982013-01-21 Colin Watson <cjwatson@ubuntu.com>
5399
5400 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
5401 parameter declarations.
5402
ccd86b21
VS
54032013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5404
5405 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
5406
822b726b
VS
54072013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5408
5409 Improve spkmomdem reliability by adding a separator between bytes.
5410
115c2cc1
CW
54112013-01-21 Colin Watson <cjwatson@ubuntu.com>
5412
5413 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
5414 an Acer registration utility with several sightings in the wild.
5415 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
5416
fc524edf
CW
54172013-01-21 Colin Watson <cjwatson@ubuntu.com>
5418
5419 Remove nested functions from filesystem directory iterators.
5420
5421 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
5422 (struct grub_fs.dir): Add hook_data argument.
5423
5424 Update all implementations and callers.
5425
53d3e4e3
CW
54262013-01-21 Colin Watson <cjwatson@ubuntu.com>
5427
5428 * docs/grub.texi (Multi-boot manual config): Fix typo for
5429 "recommended".
5430
c821711f
LL
54312013-01-20 Leif Lindholm <leif.lindholm@arm.com>
5432
5433 * util/grub-mkimage.c (main): Postpone freeing arguments.output
5434 until after its use in generate_image.
5435
6a0debbd
CW
54362013-01-20 Colin Watson <cjwatson@ubuntu.com>
5437
5438 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
5439 initrd size to addr_min, since the initrd will be allocated after
5440 this address.
5441
f41e08db
AB
54422013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
5443
5444 * conf/Makefile.common: Fix autogen rules to pass definition
5445 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
5446
77529e0f
LL
54472013-01-20 Leif Lindholm <leif.lindholm@arm.com>
5448
5449 * include/grub/elf.h: Update ARM definitions based on binutils.
5450
b879aa7b
VS
54512013-01-20 Aleš Nesrsta <starous@volny.cz>
5452
5453 Split long USB transfers into short ones.
5454
8eb8284d
AB
54552013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
5456
5457 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
5458 is interrupted by ESC.
5459
08dad2dc
VS
54602013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5461
5462 * util/grub-script-check.c (main): Uniform the error message.
5463
6c724b85
CW
54642013-01-20 Colin Watson <cjwatson@ubuntu.com>
5465
5466 Remove nested functions from ELF iterators.
5467
25239370
CW
54682013-01-20 Colin Watson <cjwatson@ubuntu.com>
5469
5470 Remove nested functions from device iterators.
5471
5472 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
5473 (grub_arc_iterate_devs): Add hook_data argument.
5474 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
5475 (struct grub_ata_dev.iterate): Add hook_data argument.
5476 * include/grub/device.h (grub_device_iterate_hook_t): New type.
5477 (grub_device_iterate): Add hook_data argument.
5478 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
5479 (struct grub_disk_dev.iterate): Add hook_data argument.
5480 (grub_disk_dev_iterate): Likewise.
5481 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
5482 Likewise.
5483 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
5484 Likewise.
5485 * include/grub/partition.h (grub_partition_iterate_hook_t): New
5486 type.
5487 (struct grub_partition_map.iterate): Add hook_data argument.
5488 (grub_partition_iterate): Likewise.
5489 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
5490 (struct grub_scsi_dev.iterate): Add hook_data argument.
5491
5492 Update all callers.
5493
6c0314d6
CW
54942013-01-20 Colin Watson <cjwatson@ubuntu.com>
5495
5496 Fix typos for "developer" and "development".
5497
600dc5f1
VS
54982013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5499
5500 Add license header to spkmodem-recv.c.
5501
17334a6b
VS
55022013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
5503
5504 Rewrite spkmodem to use PIT for timing. Double the speed.
5505
7d462559
VS
55062013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5507
5508 Add new command pcidump.
5509
b78d6c32
VS
55102013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5511
5512 New terminal outputs using serial: morse and spkmodem.
5513
34f71cb8
VS
55142013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5515
5516 Improve bidi handling in entry editor.
5517
4542e71b
VS
55182013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5519
5520 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
5521 argument to prevent name collision.
5522
09fd6d82
CW
55232013-01-15 Colin Watson <cjwatson@ubuntu.com>
5524
5525 Remove nested functions from script reading and parsing.
5526
5527 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
5528 getline_data argument, passed to getline.
5529 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
5530 getline_data argument, passed to grub_parser_split_cmdline.
5531 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
5532 lexerstate->getline_data to lexerstate->getline.
5533 (grub_script_lexer_init): Add getline_data argument, saved in
5534 lexerstate->getline_data.
5535 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
5536 argument, passed to grub_script_parse.
5537 * grub-core/script/script.c (grub_script_parse): Add getline_data
5538 argument, passed to grub_script_lexer_init.
5539 * include/grub/parser.h (grub_parser_split_cmdline): Update
5540 prototype. Update all callers to pass appropriate getline data.
5541 (struct grub_parser.parse_line): Likewise.
5542 (grub_rescue_parse_line): Likewise.
5543 * include/grub/reader.h (grub_reader_getline_t): Add void *
5544 argument.
5545 * include/grub/script_sh.h (struct grub_lexer_param): Add
5546 getline_data member.
5547 (grub_script_parse): Update prototype. Update all callers to pass
5548 appropriate getline data.
5549 (grub_script_lexer_init): Likewise.
5550 (grub_normal_parse_line): Likewise.
5551
5552 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
5553 data argument.
5554 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
5555 static instead of nested. Rename to ...
5556 (grub_parser_execute_getline): ... this.
5557 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
5558 data argument.
5559 * grub-core/normal/main.c (read_config_file: getline): Make static
5560 instead of nested. Rename to ...
5561 (read_config_file_getline): ... this.
5562 (grub_normal_read_line): Add unused data argument.
5563 * grub-core/script/execute.c (grub_script_execute_sourcecode:
5564 getline): Make static instead of nested. Rename to ...
5565 (grub_script_execute_sourcecode_getline): ... this.
5566 * util/grub-script-check.c (main: get_config_line): Make static
5567 instead of nested.
5568
d0d4b8a0
CW
55692013-01-15 Colin Watson <cjwatson@ubuntu.com>
5570
5571 Remove nested functions from memory map iterators.
5572
5573 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
5574 argument, passed to hook.
5575 * grub-core/kern/i386/coreboot/mmap.c
5576 (grub_linuxbios_table_iterate): Likewise.
5577 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
5578 instead of nested.
5579 (grub_machine_mmap_iterate): Add hook_data argument.
5580 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
5581 Add hook_data argument, passed to hook.
5582 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
5583 Likewise.
5584 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
5585 Likewise.
5586 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
5587 Likewise.
5588 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
5589 Likewise.
5590 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
5591 Likewise.
5592 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
5593 Likewise.
5594 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
5595 (grub_machine_mmap_iterate): Likewise.
5596 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
5597 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
5598 prototype.
5599 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
5600 Remove NESTED_FUNC_ATTR from here and from all users.
5601 (grub_mmap_iterate): Update prototype.
5602 (grub_efi_mmap_iterate): Update prototype. Update all callers to
5603 pass appropriate hook data.
5604 (grub_machine_mmap_iterate): Likewise.
5605
5606 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
5607 static instead of nested.
5608 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
5609 Rename to ...
5610 (lsmmap_hook): ... this.
5611 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
5612 Likewise.
5613 (grub_efiemu_mmap_fill: fill_hook): Likewise.
5614 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
5615 heap_init): Likewise.
5616 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
5617 Rename to ...
5618 (mmap_iterate_hook): ... this.
5619 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
5620 Likewise.
5621 * grub-core/lib/ieee1275/relocator.c
5622 (grub_relocator_firmware_get_max_events: count): Likewise.
5623 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
5624 to ...
5625 (grub_relocator_firmware_fill_events_iter): ... this.
5626 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
5627 hook): Likewise. Rename to ...
5628 (grub_relocator_alloc_chunk_align_iter): ... this.
5629 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
5630 Rename to ...
5631 (generate_e820_mmap_iter): ... this.
5632 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
5633 Rename to ...
5634 (count_hook): ... this.
5635 (grub_linux_boot: hook): Likewise. Rename to ...
5636 (grub_linux_boot_mmap_find): ... this.
5637 (grub_linux_boot: hook_fill): Likewise. Rename to ...
5638 (grub_linux_boot_mmap_fill): ... this.
5639 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
5640 hook): Likewise. Rename to ...
5641 (grub_fill_multiboot_mmap_iter): ... this.
5642 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
5643 hook): Likewise. Rename to ...
5644 (count_hook): ... this.
5645 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
5646 hook): Likewise. Rename to ...
5647 (grub_fill_multiboot_mmap_iter): ... this.
5648 * grub-core/loader/powerpc/ieee1275/linux.c
5649 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
5650 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
5651 Likewise. Rename to ...
5652 (alloc_phys_choose): ... this.
5653 (determine_phys_base: get_physbase): Likewise.
5654 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
5655 find_hook): Likewise.
5656 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
5657 (malloc_hook: count_hook): Likewise.
5658 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
5659 Likewise. Rename to ...
5660 (lower_hook): ... this.
5661 (grub_mmap_get_upper: hook): Likewise. Rename to ...
5662 (upper_hook): ... this.
5663 (grub_mmap_get_post64: hook): Likewise. Rename to ...
5664 (post64_hook): ... this.
5665 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
5666 Likewise. Rename to ...
5667 (lower_hook): ... this.
5668 (grub_mmap_get_upper: hook): Likewise. Rename to ...
5669 (upper_hook): ... this.
5670 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
5671 (grub_mmap_iterate: fill_hook): Likewise.
5672 (fill_mask): Pass addr and mask within a single struct.
5673 (grub_cmd_badram: hook): Make static instead of nested. Rename
5674 to ...
5675 (badram_iter): ... this.
5676 (grub_cmd_cutmem: hook): Likewise. Rename to ...
5677 (cutmem_iter): ... this.
5678
22099030
VS
56792013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5680
5681 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
5682 delimit path in strings using quotes.
5683 * util/getroot.c (grub_guess_root_devices): Likewise.
5684 (grub_make_system_path_relative_to_its_root): Likewise.
5685 * util/grub-probe.c (probe): Likewise.
5686 * util/ieee1275/ofpath.c (find_obppath): Likewise.
5687 (xrealpath): Likewise.
5688
4a9950ec
VS
56892013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5690
5691 Fix compilation with older compilers.
5692
5693 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
5694 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
5695 declarations.
5696 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
5697 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
5698 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
5699 identifier with b.
5700 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
5701 * include/grub/crypto.h: Add type defines.
5702 * util/import_gcrypth.sed: Remove duplicate type defines.
5703
adcc6020
VS
57042013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5705
5706 New command list_trusted.
5707
5708 * grub-core/commands/verify.c (grub_cmd_list): New function.
5709
a4528937
CW
57102013-01-13 Colin Watson <cjwatson@ubuntu.com>
5711
5712 * util/grub-mkimage.c (generate_image): Fix "size of public key"
5713 info message.
5714
ca3a7446
CW
57152013-01-13 Colin Watson <cjwatson@ubuntu.com>
5716
5717 Remove nested functions from PCI iterators.
5718
5719 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
5720 passed to hook. Update all callers to pass appropriate hook data.
5721 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
5722 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
5723 Remove NESTED_FUNC_ATTR from here and from all users.
5724 (grub_pci_iterate): Update prototype.
5725 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
5726 instead of nested. Rename to ...
5727 (grub_cs5536_find_iter): ... this.
5728 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
5729 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
5730 Likewise.
5731 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
5732 Likewise.
5733 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
5734 Likewise.
5735 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
5736 Likewise.
5737 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
5738 * grub-core/video/radeon_fuloong2e.c
5739 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
5740 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
5741 find_card): Likewise.
5742 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
5743 Likewise.
5744
f8e98fee
VS
57452013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5746
5747 * grub-core/commands/verify.c: Mark messages for translating.
5748
055b36b6
VS
57492013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5750
5751 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
5752 fatal.
5753
f7ff879b
VS
57542013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5755
5756 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
5757 fatal.
5758
57592013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4d7219f9
VS
5760
5761 * autogen.sh: Do not try to delete nonexistant files.
5762 * util/import_gcrypth.sed: Add some missing header removals.
5763
01323d49
CW
57642013-01-12 Colin Watson <cjwatson@ubuntu.com>
5765
5766 Clean up dangling references to grub-setup.
5767 Fixes Ubuntu bug #1082045.
5768
5769 * docs/grub.texi (Images): Refer generally to grub-install rather
5770 than directly to grub-setup.
5771 (Installing GRUB using grub-install): Remove direct reference to
5772 grub-setup.
5773 (Device map) Likewise.
5774 (Invoking grub-install): Likewise.
5775 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
5776 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
5777 * util/grub-install.in (usage): Likewise.
5778
5779 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
5780 Apply to grub-bios-setup and grub-sparc64-setup rather than to
5781 grub-setup.
5782 * configure.ac: Remove grub_setup output variable.
5783
5784 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
5785 to grub-bios-setup.
5786 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
5787 grub-setup to grub-sparc64-setup.
5788
5e3b8dcb
VS
57892013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
5790
5791 Import gcrypt public-key cryptography and implement signature checking.
5792
535714bd
VS
57932013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5794
5795 * grub-core/fs/ntfs.c: Ue more appropriate types.
5796 * grub-core/fs/ntfscomp.c: Likewise.
5797 * include/grub/ntfs.h: Likewise.
5798
3e4f3566
VS
57992013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5800
5801 Support Apple FAT binaries on non-Apple platforms.
5802
5803 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
5804 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
5805 Likewise.
5806 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
5807 Apple FAT binaries.
5808
4dedb13f
VS
58092013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5810
5811 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
5812 sector devices.
5813
f8861eaf
CW
58142013-01-07 Colin Watson <cjwatson@ubuntu.com>
5815
5816 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
5817 explicitly zeroing elements.
5818 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
5819 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
5820 of elements in a structure already allocated using grub_zalloc.
5821 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
5822
86065b0a
CW
58232013-01-07 Colin Watson <cjwatson@ubuntu.com>
5824
5825 * docs/grub.texi (grub_cpu): New subsection.
5826 (grub_platform): Likewise.
5827
c6f1e92f
VS
58282013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
5829
5830 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
5831
f797ec85
VS
58322013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
5833
5834 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
5835 divisions.
5836
033d0b4b
VS
58372013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
5838
5839 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
5840 * grub-core/fs/ntfscomp.c: Likewise.
5841 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
5842 (grub_ntfs_comp): Likewise.
5843
21d1b9a0
VS
58442013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
5845
5846 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
5847 Rename to ...
5848 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
5849 of groups_per_block. All users updated.
5850
10ca8645
VS
58512013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
5852
5853 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
5854 grub_error properly.
5855 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
5856 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
5857
a4c3ed4c
VS
58582013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
5859
5860 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
5861 always in /boot/zfs.
5862 Reported by: Yuta Satoh.
5863
0b716507
YS
58642013-01-03 Yuta Satoh <nigoro>
5865
5866 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
5867 ${grub_probe}
5868
00c05e22
VS
58692013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
5870
5871 * configure.ac: Extend -Wno-trampolines to host.
5872
dadddb76
VS
58732013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
5874
5875 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
5876 entry->len = 0.
5877
54ce53ca
CW
58782013-01-03 Colin Watson <cjwatson@ubuntu.com>
5879
5880 * docs/grub.texi (Invoking grub-mkrelpath): New section.
5881 (Invoking grub-script-check): Likewise.
5882
8912efca
CW
58832013-01-03 Colin Watson <cjwatson@ubuntu.com>
5884
5885 * docs/grub.texi (Invoking grub-mount): New section.
5886 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
5887
c3fc8394
CW
58882013-01-02 Colin Watson <cjwatson@ubuntu.com>
5889
5890 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
5891 test failures, so that a failing unit test correctly causes 'make
5892 check' to fail.
5893
45d26abb
CW
58942013-01-02 Colin Watson <cjwatson@ubuntu.com>
5895
5896 Fix failing printf test.
5897
5898 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
5899 '$' in the correct order when collecting type information.
5900
971dd2c6
CW
59012013-01-02 Colin Watson <cjwatson@ubuntu.com>
5902
5903 * docs/grub.texi (configfile): Explain environment variable
5904 handling.
5905 (source): New section.
5906 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
5907
5c67ea6c
CW
59082012-12-31 Colin Watson <cjwatson@ubuntu.com>
5909
5910 Remove several trivially-unnecessary uses of nested functions.
5911
5912 * grub-core/commands/i386/pc/sendkey.c
5913 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
5914 instead of nested.
5915 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
5916 Rename to ...
5917 (legacy_file_getline): ... this.
5918 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
5919 Likewise.
5920 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
5921 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
5922 to ...
5923 (probe_dummy_iter): ... this.
5924 * grub-core/kern/i386/coreboot/mmap.c
5925 (grub_linuxbios_table_iterate: check_signature): Likewise.
5926 * grub-core/kern/parser.c (grub_parser_split_cmdline:
5927 check_varstate): Likewise. Mark inline.
5928 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
5929 an additional parameter.
5930 (find_long: fnd_long): Likewise. Pass two additional parameters.
5931 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
5932 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
5933 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
5934 Likewise. Rename to ...
5935 (grub_cmos_find_port_iter): ... this.
5936 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
5937 Rename to ...
5938 (find_rtc_iter): ... this.
5939
5940 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
5941 function directly into the function body, since it is only called
5942 once.
5943
33a68ac6
CW
59442012-12-30 Colin Watson <cjwatson@ubuntu.com>
5945
5946 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
5947 __attribute__ ((unused)).
5948 * grub-core/video/bochs.c (find_card): Likewise.
5949 * grub-core/video/cirrus.c (find_card): Likewise.
5950 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
5951 * grub-core/video/sis315pro.c (find_card): Likewise.
5952 * grub-core/video/sm712.c (find_card): Likewise.
5953
608b647a
CW
59542012-12-28 Colin Watson <cjwatson@ubuntu.com>
5955
5956 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
5957 Fixes Savannah bug #37821.
5958
fd49ceb3
CW
59592012-12-28 Colin Watson <cjwatson@ubuntu.com>
5960
5961 Apply program name transformations at build-time rather than at
5962 run-time. Fixes Debian bug #696465.
5963
5964 * acinclude.m4 (grub_TRANSFORM): New macro.
5965 * configure.ac: Create output variables with transformed names for
5966 most programs.
5967 * util/bash-completion.d/grub-completion.bash.in: Use
5968 pre-transformed variables for program names.
5969 * util/grub-install.in: Likewise.
5970 * util/grub-kbdcomp.in: Likewise.
5971 * util/grub-mkconfig.in: Likewise.
5972 * util/grub-mkconfig_lib.in: Likewise.
5973 * util/grub-mknetdir.in: Likewise.
5974 * util/grub-mkrescue.in: Likewise.
5975 * util/grub-mkstandalone.in: Likewise.
5976 * util/grub-reboot.in: Likewise.
5977 * util/grub-set-default.in: Likewise.
5978 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5979 * tests/util/grub-shell-tester.in: Remove unused assignment.
5980 * tests/util/grub-shell.in: Likewise.
5981 * util/grub.d/00_header.in: Likewise.
5982
7024b3c0
CW
59832012-12-28 Colin Watson <cjwatson@ubuntu.com>
5984
5985 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
5986
5987 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
5988 HAVE_RAW_DECL_GETS.
5989 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
5990
e3501b13
VS
59912012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
5992
5993 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
5994 Reported by: Eriks Latosheks <foresterlv>.
5995
b40c88a9
VS
59962012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
5997
5998 * docs/grub.texi (Network): Update instructions on generating netboot
5999 image.
6000
ce96d01c
VS
60012012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6002
6003 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
6004 around device name if necessarry.
6005
0f596201
PFS
60062012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6007
6008 * util/grub-install.in: Follow the symbolic link parameter added
6009 to the file command.
6010
600d5bdb
AB
60112012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
6012
6013 * util/grub-install.in: Remove stale TODO.
6014
64ebd2f4
PFS
60152012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6016
6017 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
6018 dynamic allocation for the bootpath buffer.
6019
74b2fe3e
DTB
60202012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
6021
6022 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
6023 window too small.
6024
969b804f
VS
60252012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6026
6027 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
6028 argument rather than font name. All users updated.
6029 (grub_gfxterm_set_window): Likewise.
6030
b9f5ebd6
VT
60312012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
6032
6033 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
6034 from working.
6035
258f43b7
VS
60362012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6037
6038 * util/getroot.c (convert_system_partition_to_system_disk): Support
6039 nbd disks.
6040
cc1ce5f9
VS
60412012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6042
6043 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
6044 infinite loop on corrupted FS.
6045
e77a16ca
VS
60462012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
6047
6048 Fix big-endian mtime.
6049
6050 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
6051 together sec and usec.
6052 (grub_ufs_dir): Use correct byteswapping for UFS time.
6053
d9c48c7b
VS
60542012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
6055
6056 Support big-endian UFS1.
6057
6058 * Makefile.util.def (libgrubmods): Add ufs_be.c
6059 * grub-core/Makefile.core.def (ufs1_be): New module.
6060 * grub-core/fs/ufs_be.c: New file.
6061 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
6062 the file.
6063
2f9f40ba
LL
60642012-11-28 Leif Lindholm <leif.lindholm@arm.com>
6065
6066 * include/grub/types.h: Fix functionality unaffecting typo in
6067 GRUB_TARGET_WORDSIZE conditional macro.
6068
48ff0889
PFS
60692012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6070
6071 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
6072
03711240
GS
60732012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
6074
6075 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
6076 that /netbsd appears first (when it exists).
6077
a31b11bd
CJ
60782012-10-12 Christoph Junghans <ottxor@gentoo.org>
6079
6080 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
6081 Fixes Savannah bug #37558.
6082
e8a5d5d4
CW
60832012-10-12 Colin Watson <cjwatson@ubuntu.com>
6084
6085 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
6086 description of extract_entries_configfile.
6087
60882012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
6089
6090 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
6091 preferred_address.
6092 (grub_cmd_linux): Likewise.
6093 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
6094 preferred_lifetime. Update all users.
6095
288c757d
CW
60962012-09-26 Colin Watson <cjwatson@ubuntu.com>
6097
6098 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
6099 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
6100
0d35da3f
CW
61012012-09-26 Colin Watson <cjwatson@ubuntu.com>
6102
6103 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
6104 errors from grub-probe to /dev/null, not stdout.
6105
b78c3127
VS
61062012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
6107
6108 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
6109 sector 1.
6110
473959f0
CW
61112012-09-24 Colin Watson <cjwatson@ubuntu.com>
6112
6113 * util/grub-install.in: Make the error message if $source_dir
6114 doesn't exist more useful.
6115
794c8c33
CW
61162012-09-22 Colin Watson <cjwatson@ubuntu.com>
6117
6118 Fix grub-emu build on FreeBSD.
6119
6120 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
6121 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
6122 headers on Linux.
6123 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
6124 implementation is currently Linux-specific.
6125 * util/getroot.c (exec_pipe): Define only on Linux or when either
6126 libzfs or libnvpair is unavailable.
6127 (find_root_devices_from_poolname): Remove unused path variable.
6128
86d08fdb
CW
61292012-09-19 Colin Watson <cjwatson@ubuntu.com>
6130
6131 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
6132 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
6133 should fit before end == 63.
6134
735abf54
CW
61352012-09-19 Colin Watson <cjwatson@ubuntu.com>
6136
6137 * util/grub-setup.c (write_rootdev): Remove unused core_img
6138 parameter. Update all callers.
6139 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
6140 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
6141 GRUB_SETUP_BIOS.
6142
140acd3c
VS
61432012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6144
6145 * util/grub-mkconfig_lib.in (grub_tab): New variable.
6146 (grub_add_tab): New function.
6147 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
6148 * util/grub.d/10_illumos.in: Likewise.
6149 * util/grub.d/10_kfreebsd.in: Likewise.
6150 * util/grub.d/10_linux.in: Likewise.
6151 * util/grub.d/10_netbsd.in: Likewise.
6152 * util/grub.d/10_windows.in: Likewise.
6153 * util/grub.d/10_xnu.in: Likewise.
6154 * util/grub.d/20_linux_xen.in: Likewise.
6155 * util/grub.d/30_os-prober.in: Likewise.
6156
7ddffdad
VS
61572012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6158
6159 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6160 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
6161 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
6162 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
6163 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
6164 ieee1275-nocursor.
6165 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
6166 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
6167
4e092454
VS
61682012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6169
6170 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
6171 le-conversion.
6172 Reported by: BURETTE, Bernard.
6173
735abf54 61742012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
6175
6176 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
6177 from comment.
6178
dfd39dbd
CW
61792012-09-14 Colin Watson <cjwatson@ubuntu.com>
6180
6181 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
6182 IEEE1275 machines. Fixes powerpc-emu compilation.
6183 * include/grub/terminfo.h: Likewise.
6184
3bfa763c
VS
61852012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6186
6187 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
6188 a const pointer.
6189 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
6190 const pointer.
6191 (efiemu_set_variable): Make vendor_guid a const pointer.
6192
250e475b
VS
61932012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6194
6195 Don't require grub-mkconfig_lib to generate manpages for programs.
6196
6197 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
6198 dependencies, don't add grub-mkconfig_lib.
6199 (program): Pass empty adddeps.
6200 (script): Pass grub-mkconfig_lib as adddeps.
6201
592fd0e4
VS
62022012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
6203
6204 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
6205 * util/getroot.c (grub_find_device): Likewise.
6206 (get_mdadm_uuid): Likewise.
6207 (grub_util_is_imsm): Likewise.
6208 (grub_util_pull_device): Likewise.
6209 * util/grub-probe.c (probe): Likewise.
6210
801a3027
BG
62112012-09-10 Benoit Gschwind <gschwind>
6212
6213 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
6214 (devs): Add devpath_8.
6215
c5052c81
PJ
62162012-09-08 Peter Jones <pjones@redhat.com>
6217
6218 * grub-core/Makefile.core.def (efifwsetup): New module.
6219 * grub-core/commands/efi/efifwsetup.c: New file.
6220 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
6221 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
6222 New define.
6223 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
6224
8e832f71
JS
62252012-09-05 Jiri Slaby <jslaby@suse.cz>
6226
6227 * configure.ac: Add SuSe path.
6228
f0f55752
CW
62292012-09-05 Colin Watson <cjwatson@ubuntu.com>
6230
6231 * NEWS: Fix typo.
6232
ecadc4c2
CW
62332012-09-05 Colin Watson <cjwatson@ubuntu.com>
6234
6235 * util/import_gcry.py: Sort cipher_files, to make build system
6236 generation more deterministic.
6237
64498f25
VS
62382012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6239
6240 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
6241 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
6242 (grub_set_datetime): Likewise.
6243
9cc836a2
VS
62442012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6245
6246 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
6247 warnings.
6248
bcfcea01
VS
62492012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6250
6251 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
6252
a4099485
VS
62532012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6254
6255 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
6256
265c162a
CW
62572012-09-04 Colin Watson <cjwatson@ubuntu.com>
6258
6259 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
6260 required for checkouts from bzr, but it may be useful for users or
6261 distributors wishing to update translations against a tarball
6262 distribution, and it can be helpful for the tarball to be a superset
6263 of what's in bzr.
6264
3d171e95
CW
62652012-09-04 Colin Watson <cjwatson@ubuntu.com>
6266
6267 * Makefile.am (EXTRA_DIST): Add
6268 grub-core/tests/boot/linux.init-mips.S,
6269 grub-core/tests/boot/linux.init-ppc.S, and
6270 grub-core/tests/boot/linux-ppc.cfg.
6271
f2c2503e
CW
62722012-09-04 Colin Watson <cjwatson@ubuntu.com>
6273
6274 * grub-core/mmap/mips/loongson: Remove empty directory.
6275
62762012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
6277
6278 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
6279 gone.
6280
ab2163d5
CW
62812012-09-04 Colin Watson <cjwatson@ubuntu.com>
6282
6283 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
6284 grub-sparc64-setup.
6285
ce938140
GS
62862012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
6287
6288 * configure.ac: Strengthen the test for working -nostdinc -isystem.
6289
529f58a5
GS
62902012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
6291
6292 * po/POTFILES.in: Regenerated.
6293
16cf79e9
GS
62942012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
6295
6296 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
6297 (NetBSD): New subsection.
6298
39b27f1e 62992012-07-22 Ales Nesrsta <starous@volny.cz>
6300
6301 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
6302 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
6303
a885261b
VS
63042012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6305
6306 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
6307 * util/grub.d/10_hurd.in: Add missing quoting.
6308 * util/grub.d/10_illumos.in: Likewise.
6309 * util/grub.d/10_kfreebsd.in: Likewise.
6310 * util/grub.d/10_linux.in: Likewise.
6311 * util/grub.d/20_linux_xen.in: Likewise.
6312
7bd29c01
VS
63132012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6314
6315 New command `lsefi'.
6316
6317 * grub-core/Makefile.core.def (lsefi): New module.
6318 * grub-core/commands/efi/lsefi.c: New file.
6319 * include/grub/efi/api.h: Add more GUIDs.
6320
ac625d8f
VS
63212012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6322
6323 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
6324 (grub_bsd_elf32_hook): Likewise.
6325 (grub_bsd_elf64_size_hook): Likewise.
6326 (grub_bsd_elf64_hook): Likewise.
6327 (grub_bsd_load_elf): Likewise.
6328
e73bb801
VS
63292012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6330
6331 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
6332 if hash function is unavailable.
6333 (dec_stream_header): Likewise.
6334
e81db8b5
VS
63352012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6336
6337 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
6338 filter state.
6339
d187a1c3
VS
63402012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6341
6342 Fix coreboot compilation.
6343
6344 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
6345 (grub_vga_text_init_real): ... this.
6346 (grub_vga_text_fini): Rename to ...
6347 (grub_vga_text_fini_real): ... this.
6348
91a05f64
VS
63492012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
6350
6351 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
6352
6af96df7
VS
63532012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6354
6355 * grub-core/lib/legacy_parse.c: Support clear and testload.
6356
4d569e12
VS
63572012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6358
6359 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
6360
073b57bb
VS
63612012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6362
6363 * grub-core/fs/ext2.c: Experimental support for 64-bit.
6364
a706f4cc
VS
63652012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6366
6367 * grub-core/net/tftp.c (ack): Fix endianness problem.
6368 (tftp_receive): Likewise.
6369 Reported by: Michael Davidsaver.
6370
e7850aa9
VS
63712012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6372
6373 * gentpl.py: Make mans depend on grub-mkconfig_lib.
6374
63752012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6376
6377 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
6378 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
6379 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
6380
35692881
VS
63812012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6382
6383 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
6384 efi_mmap_size.
6385 Reported by: Stuart Hayes.
6386
c35fc5bd
VS
63872012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
6388
6389 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
6390
6391 * grub-core/Makefile.core.def (mda_text): New module.
6392 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
6393 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
6394 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
6395 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
6396 here.
6397 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
6398 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
6399 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
6400 here.
6401 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
6402 to ..
6403 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
6404 ... here
6405 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
6406 here.
6407 * grub-core/term/i386/vga_common.c: Removed.
6408 * include/grub/i386/vga_common.h: Likewise.
6409 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
6410 (grub_vga_cr_bw_read): Likewise.
6411 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
6412 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
6413 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
6414 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
6415 grub_vga_cr_read/grub_vga_cr_write.
6416 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
6417
5f91f701
VS
64182012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6419
6420 * configure.ac: Bump version to 2.00.
6421 * grub-core/normal/main.c (features): Add feature_200_final.
6422
0c4f85f6
VS
64232012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
64242012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
6425
6426 * NEWS: Fix unclarity and language mistakes.
6427
f923ad22
VS
64282012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6429
6430 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
6431 additional size to 3 pages.
6432 Reported by: Stuart Hayes.
6433
d22029ba
VS
64342012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6435
6436 * NEWS: Add 2.00 entry.
6437
58eee08f
VS
64382012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6439
6440 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
6441 put explicit "/" for empty path.
6442 (wildcard_expand): Improve dprintf.
6443
c59bdff7
VS
64442012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6445
6446 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
6447 it's equal to currnode. This can happen with "" symlink.
6448
5e6a440a
YB
64492012-06-27 Yves Blusseau <blusseau@zetam.org>
6450
6451 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
6452 echo shell command by printf command.
6453
73a68bcb
VS
64542012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6455
6456 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
6457 the value returned by firmware is the maximal position, not diumension.
6458 (grub_terminfo_output_state): Use a more sane fallback.
6459
392a603b
VS
64602012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6461
6462 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
6463
42d0867f
VS
64642012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6465
6466 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
6467 frequency to 150 MHz.
6468
489509f4
VS
64692012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6470
6471 Apple fixes.
6472
6473 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
6474 __APPLE_
6475 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
6476 definition.
6477 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
6478
9f3fc883
VS
64792012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6480
6481 Handle slash in HFS label.
6482
6483 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
6484 (grub_hfs_dir): Tanslate slash.
6485 (grub_hfs_label): Don't translate slash.
6486
54853fd7
VS
64872012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6488
6489 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
6490 network protocol listing since it introduces problematic dependency on
6491 net module.
6492
4dc02ddf
VS
64932012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6494
6495 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
6496
c50c867d
VS
64972012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6498
6499 Init video early on yeeloong to avoid being rebooted by watchdog.
6500
6501 * grub-core/Makefile.am (gensm712): New target.
6502 (sm712_start.S): Likewise.
6503 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
6504 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
6505 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
6506 description.
6507 * include/grub/vga.h: Move registry definitions to...
6508 * include/grub/vgaregs.h: ... here.
6509
5f92c8a1
VS
65102012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6511
6512 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
6513 signedness.
6514
e9e6f111
VS
65152012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6516
6517 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
6518 platforms with firmware disk drivers in the core.
6519
754ad9eb
VS
65202012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6521
6522 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
6523 informative verbose message.
6524 (read_lv): Handle 64-bit segment size.
6525
315654c2
VS
65262012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6527
6528 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
6529
fb022c79
VS
65302012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6531
6532 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
6533 character but still remove trainling spaces.
6534 (grub_fat_label): Ignore archive flag.
6535
8645f72c
VS
65362012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6537
6538 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
6539 cast between linux_kernel_header and linux_kernel_params.
6540
36498496
VS
65412012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6542
6543 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
6544 type for size.
6545 (grub_raid6_recover_func_t): Likewise.
6546 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
6547 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
6548
0b5ea6b8
VS
65492012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6550
6551 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
6552
650cfcfe
GS
65532012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
6554
6555 Fix overflow.
6556
6557 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
6558 [__NetBSD__]: Add explicit cast before bitshift.
6559
8a4d6a44
VS
65602012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6561
6562 * configure.ac: Bump to 2.00~rc1.
6563
2fb97ed3
VS
65642012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6565
6566 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
6567 half of $a0.
6568
1fa097dc
VS
65692012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
65702012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
6571
6572 * docs/grub.texi: Fix search syntax.
6573 (Multi-boot manual config): Put msdos rather than GPT example.
6574 Grammar corrections.
6575
c890ba78
VS
65762012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6577
6578 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
6579
0f92dca7
VS
65802012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6581
6582 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
6583
3988c4a0
VS
65842012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6585
6586 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
6587 message on double free. Put the value of magic in case of mismatch.
6588
9e86d4c5
VS
65892012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6590
6591 Speed-up video on yeeloong.
6592
6593 * grub-core/video/sm712.c (framebuffer): Remove render_target and
6594 add cached_ptr.
6595 (grub_video_sm712_video_fini): Unmap cached_ptr.
6596 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
6597 (grub_video_sm712_set_active_render_target): Removed.
6598 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
6599 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
6600 sync caches.
6601
ed24c312
VS
66022012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6603
6604 Avoid flushing the same line multiple times on loongson.
6605
6606 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
6607 Step in 32 bytes and not 1 byte.
6608 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
6609 Likewise.
6610
d1718e7d
VS
66112012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6612
6613 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
6614 subvolumes.
6615
982f1909
VS
66162012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6617
6618 Implement flow control for http.
6619
6620 * grub-core/net/http.c (parse_line): Handle response 206.
6621 (http_receive): Stall if too many packets are in the queue.
6622 (http_establish): Fix range header.
6623 (http_seek): Fix double free.
6624 (http_close): Likewise.
6625 (http_packets_pulled): New function.
6626 (grub_http_protocol): Set http_seek
6627 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
6628 (ack_real): Set window depending on i_stall.
6629 (grub_net_send_tcp_packet): Likewise.
6630 (grub_net_tcp_stall): New function.
6631 (grub_net_tcp_unstall): Likewise.
6632 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
6633 (grub_net_tcp_unstall): Likewise.
6634
bd407d6e
VS
66352012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6636
6637 * grub-core/net/tftp.c: Decrease stall to 50 packets.
6638
c7564b8e
VS
66392012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6640
6641 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
6642
a3706162
VS
66432012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6644
6645 * tests/util/grub-shell.in: Fix a typo.
6646
b27069e0
VS
66472012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6648
6649 Implement flow control for tftp.
6650
6651 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
6652 packets but stop only if stop condition is satisfied.
6653 (grub_net_fs_read_real): Call packets_pulled after real read. Use
6654 `stall' instead of `eof' as stop condition.
6655 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
6656 (http_err): Likewise.
6657 * grub-core/net/tftp.c (ack): Replace the first argument with data
6658 instead of socket.
6659 (tftp_receive): Stall if too many packets are in wait queue.
6660 (tftp_packets_pulled): New function.
6661 (grub_tftp_protocol): Set packets_pulled.
6662 * include/grub/net.h (grub_net_packets): New field count.
6663 (grub_net_put_packet): Increment count.
6664 (grub_net_remove_packet): Likewise.
6665 (grub_net_app_protocol): New field `packets_pulled'.
6666 (grub_net): New field `stall'.
6667
6b9cfac6
VS
66682012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6669
6670 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
6671 sync part to handle them.
6672
f35abd81
VS
66732012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6674
6675 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
6676 * grub-core/net/drivers/ieee1275/ofnet.c
6677 (grub_ieee1275_net_config_real): Likewise.
6678
0e7ec820
VS
66792012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6680
6681 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
6682 the direct route for server/gateway.
6683
9d611a31
VS
66842012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6685
6686 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
6687 IP address to server name since we may not hame the DNS.
6688
418f45ab
VS
66892012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6690
6691 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
6692 freeing random buffer on failure.
6693 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
6694
44a0efc1
VS
66952012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6696
6697 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
6698
531e2241
VS
66992012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6700
6701 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
6702 reserved bytes.
6703 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
6704 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
6705 Handle malloc error correctly.
6706
cde393c9
VS
67072012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6708
6709 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
6710 blocks.
6711
538478d0
VS
67122012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6713
6714 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
6715 increment.
6716
9b55efe0
VS
67172012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6718
6719 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
6720 none is explicitly specified.
6721
9eb832c3
VS
67222012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6723
6724 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
6725 while reallocating.
6726
d6b7c7c9
VS
67272012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6728
6729 Respect netmask from bootp/dhcp.
6730
6731 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
6732 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
6733 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
6734 into ...
6735 (grub_net_add_ipv4_local): ... this.
6736 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
6737 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
6738 (grub_net_add_ipv4_local): New proto.
6739
67caf9eb
VS
67402012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6741
6742 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
6743 determining EFI memory map size.
6744
43657558
VS
67452012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6746
6747 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
6748
eb6d0dd3
VS
67492012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6750
6751 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
6752 when looking for partition separator.
6753
31230544
VS
67542012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6755
6756 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
6757 Escape commas.
6758
918a2517
VS
67592012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6760
6761 Restructure FAT driver to avoid hook in label reading as it hits a
6762 GCC bug.
6763
6764 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
6765 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
6766 (grub_fat_iterate_dir): Split into ...
6767 (grub_fat_iterate_init): ... this, ...
6768 (grub_fat_iterate_fini): ... this, ...
6769 (grub_fat_iterate_dir_next): ... and this. All users updated.
6770
9f1d654e
VS
67712012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6772
6773 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
6774 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
6775 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6776 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
6777 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
6778 New fields last_key and last_key_time.
6779 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
6780 extended key-esc into extended key-extended key.
6781
52f0f643
VS
67822012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6783
6784 Avoid unnecessary memcpy of whole video buffer.
6785
6786 * grub-core/video/fb/video_fb.c (dirty): New struct.
6787 (framebuffer): Add members current_dirty and previous_dirty.
6788 (dirty): New function.
6789 (grub_video_fb_fill_rect): Update dirty.
6790 (common_blitter): Likewise.
6791 (grub_video_fb_scroll): Likewise.
6792 (doublebuf_blit_update_screen): Copy only dirty part.
6793 (doublebuf_pageflipping_update_screen): Likewise.
6794 (grub_video_fb_doublebuf_blit_init): Init dirty.
6795 (doublebuf_pageflipping_init): Likewise.
6796 (grub_video_fb_setup): Likewise.
6797
e169a180
VS
67982012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6799
6800 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
6801 poll rate.
6802
48556879
VS
68032012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6804
6805 Fix wildcard regexp dot and other special characters handling.
6806 Reported by: Robert Mabee.
6807
6808 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
6809 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
6810 (split_path): Trigger expansion on '?'.
6811 (unescape): New function.
6812 (wildcard_expand): Unescape parts copied without globbing.
6813 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
6814 (grub_script_arglist_to_argv): Don't unescape expansions.
6815
0494408e
VS
68162012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6817
6818 * include/grub/net.h (grub_net_card): New member txbufsize.
6819 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
6820 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
6821 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
6822 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
6823 txbufsize.
6824 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
6825 compatible property to check for macs. Set
6826 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
6827 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
6828 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
6829 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
6830 (send_card_buffer): Use txbuf.
6831 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
6832 nested function out of the parent while on it.
6833
cc35fe8f
VS
68342012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6835
6836 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
6837 presence check.
6838 (grub_ieee1275_net_config_real): Fix config pointer.
6839
970a0a09
VS
68402012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6841
6842 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
6843 filename parsing to non-block devices.
6844
3e19bf87
VS
68452012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6846
6847 * grub-core/kern/device.c (grub_device_open): Remove dead code.
6848
c62d1a0c
VS
68492012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
6850
6851 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
6852 All users updated.
6853
ef76bec3
VS
68542012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
6855
6856 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
6857 UUID search command even if hints probing failed.
6858
68592012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
6860
6861 * po/POTFILES.in: Regenerated.
6862
70aaf305
VS
68632012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
6864
6865 Speed-up video on fuloong.
6866
6867 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
6868 New function.
6869 (grub_pci_device_unmap_range): Handle non-cached address.
6870 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
6871 add direct_ptr.
6872 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
6873 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
6874 (grub_video_sis315pro_set_active_render_target): Removed.
6875 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
6876 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
6877 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
6878 sync caches.
6879 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
6880 New proto.
6881
10400f0b
VS
68822012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
6883
6884 * docs/grub.texi (Multi-boot manual config): New section.
6885
ba67e2c6
VS
68862012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
6887
6888 Avoid slow read-back from VRAM.
6889
6890 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
6891 Move from here ...
6892 * grub-core/video/fb/video_fb.c
6893 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
6894 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
6895 (front_target): Remove front_target. Add pages.
6896 (grub_video_fb_init): Skip setting front_pages.
6897 (grub_video_fb_fini): Likewise.
6898 (doublebuf_blit_update_screen): Use pages.
6899 (grub_video_fb_doublebuf_blit_init): Likewise.
6900 (doublebuf_pageflipping_init): Allocate offscreen buffer.
6901 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
6902 (grub_video_fb_setup): Prefer doublebuffing.
6903
377c98cb
VS
69042012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
6905
6906 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
6907 gzio.
6908
eac49cff
VS
69092012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
6910
6911 Add loongson tests.
6912
6913 * tests/util/grub-shell.in: Handle loongson.
6914 * tests/partmap_test.in: Add loongson to the list of platform using ATA
6915 drivers.
6916 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
6917 Reboot instead of shutdown if REBOOT is defined.
6918
0321415e
VS
69192012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
6920
6921 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
6922 sized ports since unlike on real hardware qemu supports only 32-bit
6923 regs.
6924
3f2bdd8f
VS
69252012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
6926
6927 * Makefile.util.def (grub-mkrescue): Enable on loongson.
6928 * util/grub-mkrescue.in: Handle loongson.
6929
29a049c9
VS
69302012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
6931
6932 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
6933 Set is_part appropriately.
6934 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
6935 names. Canonicalize partition without full disk.
6936
4abde346
VS
69372012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
6938
6939 Revert usb-quiesce since it's wrong.
6940
6941 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
6942 (grub_ofdisk_init): Don't do quiesce.
6943
61f1d93b
VS
69442012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
6945
6946 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
6947 PowerMac workaround to Xserves as well.
6948 Information supplied by: Benjamin Herrenschmidt.
6949
a09eb541
VS
69502012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
6951
6952 Don't assume that beginning address is also the entry point on ppc.
6953
6954 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
6955 (grub_linux_boot): Use linux_entry.
6956 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
6957 (grub_linux_load64): Likewise.
6958
505b3c9b
VS
69592012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
6960
6961 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
6962
cbe0b4ef
VS
69632012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
6964
6965 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
6966 needlessly lose the console.
6967
3006e981
VS
69682012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
6969
6970 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
6971 space.
6972
4e5a96b0
VS
69732012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
6974
7da036bb
VS
6975 Remove non-functional EFI grub_get_rtc. Put a better fatal message
6976 than current grub_get_rtc() not implemented when booted with
6977 coreboot without TSC.
6978
6979 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
6980 Add machine/time.h to kernel headers on loongson.
6981 * grub-core/Makefile.core.def (kernel): Remove
6982 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
6983 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
6984 (grub_get_rtc): Likewise.
6985 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
6986 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
6987 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
6988 * grub-core/kern/i386/tsc.c (grub_tsc_init)
6989 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
6990 rather than installing known non-working time source.
6991 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
6992 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
6993 * include/grub/time.h: Don't include machine/time.h.
6994 * include/grub/efi/time.h: Removed.
6995 * include/grub/i386/efi/time.h: Likewise.
6996 * include/grub/i386/ieee1275/time.h: Likewise.
6997 * include/grub/powerpc/ieee1275/time.h: Likewise.
6998 * include/grub/sparc64/ieee1275/time.h: Likewise.
6999 * include/grub/x86_64/efi/time.h: Likewise.
7000
70012012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
7002
7003 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
7004
7005 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
7006 value.
7007 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
7008 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
7009 with dotless variants when any combining above is present.
7010
5561c22d
VS
70112012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7012
7013 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
7014 text and not binary.
7015
96f7e60e
VS
70162012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7017
7018 Stop polling as soon as we have the packet we were waiting for.
7019
7020 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
7021 All users updated.
7022 * grub-core/net/arp.c (have_pending): New var.
7023 (pending_req): Likewise.
7024 (grub_net_arp_send_request): Fill pending_req and use have_pending as
7025 stop indicator.
7026 (grub_net_arp_receive): Set have_pending.
7027 * grub-core/net/dns.c (recv_data): New field stop.
7028 (recv_hook): Set stop.
7029 (grub_net_dns_lookup): Init stop and use as stop condition.
7030 * grub-core/net/http.c (http_establish): Use headers_recv as stop
7031 condition.
7032 * grub-core/net/net.c (grub_net_poll_cards): New argument
7033 stop_condition. Stop when it goes true.
7034 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
7035 indicator.
7036 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
7037
3e747239
VS
70382012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7039
7040 Keep TX and RX buffers on EFI rather than always allocate new ones.
7041
7042 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
7043 card. All users updated.
7044 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
7045 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
7046 (get_card_packet): Likewise.
7047 (grub_efinet_findcards): Init new fields.
7048
f695e99a
VS
70492012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7050
7051 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
7052 compilation error on sparc64.
7053
9e5e66d1
VS
70542012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7055
7056 Use ITC on IA64 rather than broken routine based on daytime.
7057
7058 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
7059 ia64.
7060 (grub_get_rtc) [__ia64__]: Likewise.
7061 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
7062 (get_itc): New function.
7063 (grub_rtc_get_time_ms): Likewise.
7064 (grub_machine_init): Calibrate ITC.
7065 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
7066 Keep only on non-ia64. Don't export since it's broken and used only
7067 if TSC is unavailable.
7068
a1767404
VS
70692012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7070
7071 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
7072 even if it's used.
7073 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
7074 Skip if parent is unused.
7075
34b2bced
VS
70762012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7077
7078 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
7079
5e619f40
VS
70802012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7081
7082 Fix wildcard escaping.
7083
7084 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
7085 * grub-core/script/execute.c (wildcard_escape): .. to here.
7086 Don't escape dot.
7087 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
7088 * grub-core/script/execute.c (wildcard_unescape): .. to here.
7089 Don't escape dot.
7090 * grub-core/script/execute.c (gettext_append): Always escape.
7091 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
7092 * grub-core/script/yylex.l: Don't cut away the escaping.
7093 * tests/grub_script_echo1.in: Add tests with wildcard.
7094
c8ca5855
VS
70952012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7096
7097 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
7098 (ftdi_hw_configure): Likewise.
7099 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
7100 define.
7101 (real_config): Handle 1.5 stop bits.
7102 (pl2303_hw_configure): Likewise.
7103
7183452c
VS
71042012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7105
7106 * Makefile.am: Add ppc linux bootcheck.
7107 * grub-core/tests/boot/linux-ppc.cfg: New file.
7108 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
7109
f57c84cd
VS
71102012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7111
7112 * tests/grub_script_expansion.in: Skip network protocols.
7113
ecfc6207
VS
71142012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7115
7116 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
7117
8d03d284
VS
71182012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7119
7120 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
7121 --rom-directory.
7122 Add -graft-points.
7123
61c42af0
VS
71242012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7125
7126 ESCC serial driver for conducting sautomated tests in qemu.
7127 Not tested on real hardware.
7128
7129 * include/grub/serial.h (grub_serial_port): New field escc_desc.
7130 * grub-core/term/ieee1275/escc.c: New file.
7131 * grub-core/Makefile.core.def (escc): New module.
7132
08fd1291
VS
71332012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7134
7135 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
7136 invalid on error.
7137 (serial_hw_fetch): Don't read invalid handle.
7138 (serial_hw_put): Don't write into invalid handle.
7139
08dafeea
VS
71402012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7141
7142 Add a 1.5 stop bits value.
7143
7144 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
7145 * include/grub/serial.h (grub_serial_stop_bits_t): Add
7146 GRUB_SERIAL_STOP_BITS_1_5.
7147
9068fdcf
VS
71482012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7149
7150 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
7151 value rather than let it uninited.
7152
f4d5820f
VS
71532012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7154
7155 * grub-core/commands/wildcard.c (+check_file): New function.
7156 (wildcard_expand): Don't expand to non-existing files, expand with
7157 suffix and not attempt to expand if not needed.
7158
3d2de9a7
VS
71592012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7160
7161 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
7162 out of partitions containing other partitions.
7163
c5c81ff9
VS
71642012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7165
7166 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
7167 on some qemu versions with GRUB.
7168
7169 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
7170 define.
7171 (grub_openbsd_bootarg_pcibios): New struct.
7172 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
7173 Add PCIINFO.
7174
08a14e0b
VS
71752012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7176
7177 * tests/util/grub-shell.in: Trim firmware output on EFI.
7178
cede3ca3
VS
71792012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7180
7181 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
7182 and coreboot since it's already in kernel.
7183
558d3a60
VS
71842012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7185
7186 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
7187 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
7188 to here. New return value start. All users updated.
7189 Recursively scan linear mappings.
7190 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
7191 proto.
7192 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
7193 Use grub_util_get_dm_node_linear_info.
7194 * util/getroot.c (convert_system_partition_to_system_disk): Use
7195 grub_util_info rather than grub_dprintf.
7196 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
7197
60fde14d
VS
71982012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7199
7200 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
7201
7202 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
7203 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
7204
24bd8838
VS
72052012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7206
7207 * include/grub/types.h (grub_set_unaligned64): New function.
7208 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
7209 (setup): Likewise.
7210
7bc06a49
VS
72112012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7212
7213 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
7214 (grub_ofdisk_fini): Quiesce USB devices.
7215
49cea015
VS
72162012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7217
7218 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
7219 caches.
7220
8dcbe03b
VS
72212012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7222
7223 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
7224
5b258735
VS
72252012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7226
7227 * grub-core/disk/pata.c (grub_pata_pio_read)
7228 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
7229 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
7230
37ba07eb
VS
72312012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7232
7233 Extend automated tests to qemu-mips.
7234
7235 * Makefile.am: reorganise tests and enable qemu-mips.
7236 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
7237 * grub-core/tests/boot/linux.init-mips.S: New file.
7238 * tests/partmap_test.in: Handle ata0 disks.
7239 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
7240 non-pc i386.
7241
070038f8
VS
72422012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7243
7244 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
7245 ia64.
7246 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
7247 quotes while on it.
7248
004be2cd
VS
72492012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7250
7251 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
7252 (grub_halt): Likewise.
7253 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
7254
b1622487
VS
72552012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7256
7257 * grub-core/term/serial.c (grub_serial_register)
7258 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
7259 the behaviour in line with x86 platforms.
7260
b7b4ab33
VS
72612012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7262
7263 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
7264 (grub_ata_strncpy): Likewise.
7265 (grub_ata_identify): Add missing byteswaps.
7266
5e3535ae
VS
72672012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7268
7269 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
7270 byte-swap.
7271 (screen_read_char): Likewise.
7272 (grub_vga_text_cls): Likewise.
7273
c21b17e6
VS
72742012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7275
7276 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
7277 filenames.
7278 (make_file_path): Likewise.
7279
bf293dec
VS
72802012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7281
7282 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
7283 machines.
7284 Tested by: Paulo Flabiano Smorigo.
7285 Crucial information about API supplied by: Coleen <Last name unknown>.
7286 Reviewed by: Coleen <Last name unknown>.
7287
81f6ef0e
VS
72882012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7289
7290 * util/grub-mkimage.c: Disable -Wcast-align.
7291
7284143a
VS
72922012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7293
7294 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
7295 as they are fatal.
7296
b99f3e00
VS
72972012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7298
7299 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
7300
944f752d
VS
73012012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7302
7303 * util/grub-probe.c (escape_of_path): Fix double free.
7304
6cce6f38
VS
73052012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7306
7307 * grub-core/commands/videoinfo.c (hook): Show pitch.
7308
1e1eb50e
VS
73092012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7310
7311 * util/grub.d/20_linux_xen.in: Skip xen-syms.
7312
1c715b5a
VS
73132012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7314
7315 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
7316 (probe): Add ieee1275 to OFW devices.
7317
007ae52d
VS
73182012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7319
7320 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
7321
4557a36d
VS
73222012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7323
7324 Handle IBM OFW path.
7325
7326 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
7327 available.
7328 (of_path_of_scsi): Handle vdevice.
7329
efbeefe9
VS
73302012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
7331
7332 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
7333 Allocate in multiples of 16 to avoid adding a few bytes free region the
7334 windows bugs upon.
7335
15a940bb
VS
73362012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
7337
7338 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
7339 Allocate in multiples of 16 to avoid adding a few bytes free region the
7340 windows bugs upon.
7341 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
7342
6e5efd60
VS
73432012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7344
7345 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
7346 resolutions.
7347 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
7348 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
7349
0d3d137e
IS
73502012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
7351
7352 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
7353
45dbe300
VS
73542012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7355
7356 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
7357 resulted in \\ at the end of the line.
7358
6d8db947
VS
73592012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7360
7361 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
7362 (grub_parser_cmdline_state): Likewise.
7363 (grub_parser_split_cmdline): Likewise.
7364
de89d338
VS
73652012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7366
7367 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
7368 /dev/root and /dev/dm-*.
7369
00d41dee
VS
73702012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7371
7372 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
7373 fix partially stale display.
7374
f95d1f11
VS
73752012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7376
7377 * grub-core/normal/menu_entry.c (backward_char): Use right line for
7378 substraction.
7379
6297e197
VS
73802012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7381
7382 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
7383 Fix MBR remapping workaround.
7384 (grub_util_biosdisk_read) [__linux__]: Likewise.
7385
8a7ecad3
VS
73862012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
7387
7388 * util/grub-install.in: Check for ieee1275 and not ieee1276.
7389
2b34f944
VS
73902012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7391
7392 * configure.ac: Bump to beta6.
7393
684aef11
CW
73942012-05-31 Christer Weinigel <christer@weinigel.se>
7395
7396 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
7397
05b0bb91
VS
73982012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7399
7400 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
7401 (grub_cmd_linux): Likewise.
7402
bda36bfa
CW
74032012-05-31 Christer Weinigel <christer@weinigel.se>
7404
7405 Fix EHCI low-speed.
7406
7407 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
7408 (GRUB_EHCI_MULT_TWO): Likewise.
7409 (GRUB_EHCI_MULT_THREE): Likewise.
7410 (GRUB_EHCI_CMASK_MASK): New enum value.
7411 (GRUB_EHCI_SMASK_MASK): Likewise.
7412 (GRUB_EHCI_CMASK_OFF): Likewise.
7413 (GRUB_EHCI_SMASK_OFF): Likewise.
7414 (grub_ehci_pci_iter): Enable periodic schedule.
7415 (grub_ehci_parse_notrun): Likewise.
7416 (grub_ehci_restore_hw): Likewise.
7417 (grub_ehci_setup_qh): Set flags for low speed transfers.
7418 (grub_ehci_find_qh): Use periodic list for low speed.
7419 (grub_ehci_setup_transfer): Check periodic queue as well.
7420 (grub_ehci_check_transfer): Likewise.
7421 (grub_ehci_cancel_transfer): Cancel periodic transfer.
7422
e12bcb1c
PFS
74232012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
7424
7425 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
7426 parameter is used.
7427
bcc75fb3
PJ
74282012-05-31 Peter Jones <pjones@redhat.com>
7429
7430 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
7431 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
7432 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
7433
f19cb95e
VS
74342012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7435
7436 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
7437 uninited variable. Allocate at least setup_sects.
7438
a4e5ca80
VS
74392012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
7440
7441 Fix handling of EFI with big memory maps.
7442
7443 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
7444 (real_mode_mem): Likewise.
7445 (real_mode_target): Likewise.
7446 (real_mode_pages): Likewise.
7447 (prot_mode_pages): Likewise.
7448 (linux_params): New var.
7449 (linux_cmdline): Likewise.
7450 (free_pages): Don't set real mode variables.
7451 (allocate_pages): Don't allocate real mode memory.
7452 (grub_e820_add_region): Remove the limit.
7453 (grub_linux_boot): Allocate and copy real mode memory.
7454 (grub_linux_unload): Free linux_cmdline.
7455 (grub_cmd_linux): Use temporary storage for parameters.
7456 (grub_cmd_initrd): Likewise.
7457 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
7458 (linux_kernel_params): Make it 1K big.
7459
ddb73558
VS
74602012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
7461
7462 * Makefile.util.def: Remove -Wno-format.
7463 * grub-core/Makefile.core.def: Likewise.
7464
1c4afb60
VS
74652012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
7466
7467 * tests/cmp_unit_test.c: Add missing failure message.
7468 * tests/example_unit_test.c: Likewise.
7469 * tests/printf_unit_test.c: Likewise.
7470
941e3a6d
VS
74712012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
7472
7473 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
7474 relaxation of protective MBR requirements.
7475
b105df76
VS
74762012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
7477
7478 * configure.ac: Add condition for COND_HOST_XNU.
7479 * Makefile.util.def (10_xnu): New script.
7480 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
7481
84e1569e
VS
74822012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
7483
7484 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
7485 objconv bug.
7486
130c0f77
VS
74872012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
7488
7489 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
7490 Binary on other platforms stays identical.
7491
6fd0b143
VS
74922012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7493
7494 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
7495 Apple.
7496
0af1751d
VS
74972012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7498
7499 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
7500
176d5f7d
VS
75012012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7502
7503 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
7504 rather than defining size_t ourselves to avoid conflict.
7505
7de5e20a
VS
75062012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7507
7508 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
7509 initialisation to avoid __bzero reference.
7510
f7143efe
VS
75112012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7512
7513 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
7514 version.
7515 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
7516 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
7517 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
7518 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
7519 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
7520
e6ad0555
VS
75212012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7522
7523 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
7524 * grub-core/kern/misc.c: Likewise.
7525 * grub-core/loader/i386/xnu.c: Likewise.
7526 * include/grub/i386/tsc.h: Likewise.
7527 * include/grub/symbol.h: Likewise.
7528
4a5a3c4a
VS
75292012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7530
7531 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
7532 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
7533 on older compiler.
7534
037f6d90
VS
75352012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7536
7537 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
7538 Implement Apple flavour.
7539 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
7540
f7194551
VS
75412012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7542
7543 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
7544 (memmove) [__APPLE__]: Likewise.
7545 (memcpy) [__APPLE__]: Likewise.
7546 (memset) [__APPLE__]: Likewise.
7547 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
7548 (memmove) [__APPLE__]: Likewise.
7549 (memcpy) [__APPLE__]: Likewise.
7550 (memset) [__APPLE__]: Likewise.
7551
85a730ca
VS
75522012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7553
7554 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
7555 dependency discard.
7556
40e80b94
VS
75572012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7558
7559 * grub-core/normal/main.c (read_config_file): Provide config_file and
7560 config_directory.
7561 * util/grub.d/41_custom.in: Use config_directoy when available.
7562
9da59c32
VS
75632012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7564
7565 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
7566 (grub_bfs_dir): Likewise.
7567
2787ae53
PJ
75682012-05-27 Peter Jones <pjones@redhat.com>
7569
7570 The old code gives arguments to a printf function which can't work
7571 correctly, and the compiler complains.
7572
7573 * grub-core/tests/example_functional_test.c (example_test): Add
7574 missing text.
7575 * grub-core/tests/lib/test.c (add_failure): Rewrite.
7576 * include/grub/test.h (grub_test_assert_helper): New declaration.
7577 (grub_test_assert): Use grub_test_assert_helper.
7578
526ef13d
VS
75792012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7580
7581 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
7582 (exfctest): ... this to avoid overlong filenames.
7583 All users updated.
7584
20dd511c
VS
75852012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7586
7587 Handle "." and ".." on squashfs.
7588
7589 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
7590 Make inode numbers into stack.
7591 (grub_squash_read_symlink): Use stack.
7592 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
7593 (make_root_node): Fill stack.
7594 (grub_squash_open): Use stack.
7595
1d80c62a
VS
75962012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7597
7598 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
7599 freeing.
7600
d336f652
VS
76012012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7602
7603 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
7604 stderr on test calls.
7605
8b43f587
VS
76062012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7607
7608 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
7609
80a3dc3f
VS
76102012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7611
7612 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
7613
47e297d4
VS
76142012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7615
7616 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
7617 "..".
7618
df042ccb
VS
76192012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7620
7621 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
7622 (grub_hfsplus_iterate_dir): Add "." and "..".
7623
fc977f48
VS
76242012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7625
7626 * grub-core/fs/cpio.c (canonicalize): Handle "..".
7627 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
7628
f3250e5f
VS
76292012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7630
7631 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
7632 (find_path): Handle "." and "..".
7633
fd8ed4c5
VS
76342012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7635
7636 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
7637 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
7638 (grub_affs_iterate_dir): Handle hardlinks.
7639
4ce776d2
MG
76402012-05-26 Matthew Garrett <mjg@redhat.com>
7641
7642 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
7643 (grub_efi_console_fini): Likewise.
7644 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
7645 (grub_video_gop_fill_mode_info): Rename to ...
7646 (grub_video_gop_fill_real_mode_info): ... this.
7647 (grub_video_gop_fill_mode_info): New function.
7648 (grub_video_gop_setup): Setup double framebuffer.
7649 (grub_video_gop_get_info_and_fini): Use original framebuffer.
7650 Free offscreen.
7651 (grub_video_gop_swap_buffers): Copy framebuffer.
7652 (grub_video_gop_fini): Free offscreen buffer.
7653 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
7654 New enum.
7655 (grub_efi_gop_blt_pixel): New struct.
7656
683031ba
VS
76572012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
7658
7659 * gentpl.py: Remove error disabling for objconv.
7660
c2deb798
VS
76612012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
7662
7663 * configure.ac: Remove -Wunitialized as it's not available on older
7664 compilers.
7665
76662012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
7667
7668 Fix extent overflow comparator.
7669
7670 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
7671 (grub_hfsplus_read_block): Set type.
7672 (grub_hfsplus_cmp_extkey): Compare type.
7673
d6b1fd36
VS
76742012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
7675
7676 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
7677
0a9aa0f6
VS
76782012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
7679
7680 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
7681 than 0.
7682
8360e159
VS
76832012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
7684
7685 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
7686 (dejavu_bold_14.pf2): New target.
7687
501b9e4b
VS
76882012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
7689
7690 * configure.ac: Fix djvu font detection.
7691
7026b0e2
VS
76922012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
7693
7694 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
7695 ext* instead of ext2.
7696
c2a51ade
VS
76972012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
7698
7699 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
7700 name with \0.
7701
8f803a5d
JU
77022012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
7703
7704 * docs/grub-dev.texi: Remove dot from .png.
7705
13c6353f
VS
77062012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
7707
7708 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
7709 protective entry in any slot.
7710 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
7711 if protective entry is found in any slot.
7712
7713 Protective entry in non-first slot make no sense but is a widespread
7714 brain damage.
7715
4cf6be1b
VS
77162012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
7717
7718 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
7719
937d1c44
VS
77202012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
7721
7722 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
7723 with old reiserfs.
7724 (grub_reiserfs_open): Don't free root.
7725
021d90ec
VS
77262012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
7727
7728 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
7729 after freeing for safety.
7730
967b2b64
VS
77312012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7732
7733 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
7734 Reported by: Jordan Uggla.
7735
34274d02
JU
77362012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
7737
967b2b64
VS
7738 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
7739 actual implementation. Specifically, clarify that the grub menu will
7740 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
7741 passed.
34274d02 7742
dcaaae9d
BH
77432012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
7744
7745 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
7746 of r0.
7747
7086ad52
VS
77482012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7749
7750 Remove unjustified hard dependency of normal.mod on gfxterm.
7751
7752 * include/grub/term.h (grub_term_output): New member fullscreen.
7753 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
7754 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
7755 (grub_gfxterm): Set .fullscreen.
7756 * grub-core/normal/menu.c (menu_init): Use fullscreen.
7757 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
7758
37ed2c9b
VS
77592012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7760
7761 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
7762 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 7763 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 7764
a4469c88
VS
77652012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7766
7767 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
7768
4e461486
VS
77692012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7770
7771 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
7772 a bad FS.
7773
aa78f5c4
VS
77742012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7775
7776 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
7777 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
7778
197626b5
VS
77792012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7780
7781 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
7782 (grub_jfs_mount): Fill caseins.
7783 (grub_jfs_find_file): Respect caseins.
7784
8ad3f28c
VS
77852012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7786
7787 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
7788 through UTF-16.
7789
0c6c324e
VS
77902012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7791
7792 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
7793 New argument origpath. All users updated.
7794
c6666ba6
VS
77952012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7796
7797 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
7798 (read_attr): Ensure that we read start of possibly compressed block.
7799
e28e5fe5
VS
78002012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7801
7802 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
7803 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
7804 All users updated.
7805
5fc23ab2
VS
78062012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7807
7808 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
7809 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
7810 (dejavu.pf2): Replace with ...
7811 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
7812 this.
7813
79dbc21c
VS
78142012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7815
7816 * util/grub.d/20_linux_xen.in: Add missing line.
7817
d2fcfb0c
VS
78182012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7819
7820 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
7821 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
7822 (grub_utf16_to_utf8): Likewise.
7823
5560e9d6
VS
78242012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7825
7826 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
7827 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
7828 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
7829 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
7830 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
7831 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
7832
78332012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
7834
7835 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
7836 a bad FS.
7837
5560e9d6 78382012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
7839
7840 * grub-core/fs/udf.c (read_string): Bail out on size=0.
7841 (grub_udf_read_symlink): Handle read_string failure.
7842
5eae3175
VS
78432012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
7844
7845 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
7846 comment.
7847
c1ad82db
VS
78482012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
7849
7850 Fix handling of UDF symlinks.
7851
7852 * grub-core/fs/udf.c (read_string): New argument outbuf.
7853 All users updated.
7854 (grub_ufs_read_symlink): Rename to ...
7855 (grub_udf_read_symlink): ... this. All users updated.
7856 Handle symlinks with more than one component.
7857
33eca6e0
VS
78582012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
7859
7860 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
7861 symlinks. Replace leading colon with a slash.
7862
57f4a70b
VS
78632012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
7864
7865 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
7866 filename.
7867
38c8ee20
VS
78682012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
7869
7870 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
7871 match in inner node.
7872
2e57f28f
VS
78732012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
7874
7875 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
7876 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
7877 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
7878 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
7879 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
7880 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
7881 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
7882 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
7883 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
7884
fe8c2f11
VS
78852012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
7886
7887 Use grub-probe and not cmp to check that disk is empty.
7888
7889 * util/grub-install.in: Use grub-probe for zero-check.
7890 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
7891 (probe): Handle PRINT_ZERO_CHECK.
7892 (argp_parser): Handle -t zero_check.
7893
78942012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
7895
7896 Flush block cache on adding disk to device map.
7897
7898 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
7899 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
7900 adding.
7901 (read_device_map): Likewise.
7902 (open_device): Flush on opening.
7903
690434e8
VS
79042012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
7905
7906 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
7907 (handle_symlink): Fix off-by-one error.
7908 Canonicalize the target.
7909 (grub_cpio_dir): Canonicalize the name.
7910 Fix memory leak.
7911 Set directory.
7912 (grub_cpio_open): Canonicalize the name.
7913
742d2be6
VS
79142012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
7915
7916 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
7917 handling.
7918
3244fe96
VS
79192012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
7920
7921 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
7922 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
7923
8aeb1837
VS
79242012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
7925
7926 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
7927 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 7928 All users updated.
8aeb1837 7929
9133fd05
VS
79302012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
7931
7932 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
7933 counterpart.
7934
6d521c5b
VS
79352012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
7936
7937 Fix UFS1 big file support.
7938
7939 * grub-core/fs/ufs.c (INODE): Removed.
7940 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
7941 64-bit.
7942 (INODE_MODE): Simplify.
7943 (grub_ufs_inode): Use uint64_t for size and not int64_t.
7944 (grub_ufs_lookup_symlink): Don't use INODE.
7945
21b82e17
VS
79462012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7947
7948 Fix minixfs with non-power-of-two blocks since it's supported by minix.
7949
7950 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
7951 (grub_minix_data): Replace log_block_size with block_size.
7952 (grub_minix_read_file): Use block_size but avoid 64-bit division.
7953 (grub_minix_mount): Fill block_size.
7954
79552012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
7956
7957 * configure.ac: Bump to beta5.
7958
f417ed04
VS
79592012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7960
7961 Fix wrapped HFS+ handling.
7962
7963 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
7964 blocks_start. All users updated.
7965 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
7966 wrapping offset.
7967 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
7968
607d282b
VS
79692012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7970
7971 Fix long symlinks on reiserfs.
7972
7973 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
7974 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
7975 (grub_reiserfs_iterate_dir): Save size for non-directories.
7976 (grub_reiserfs_open): Don't reread stat block as we already know the
7977 size.
7978 (grub_reiserfs_read): Split into...
7979 (grub_reiserfs_read_real): ... and ...
7980 (grub_reiserfs_read): ...this.
7981
ae16024d
VS
79822012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7983
7984 Fix non-indexed JFS.
7985
7986 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
7987 (grub_jfs_data): New field namecomponentlen.
7988 (grub_jfs_mount): Fill namecomponentlen.
7989 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
7990
eea1e26e
VS
79912012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
7992
7993 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
7994 * tests/grub_script_echo1.in: Add tests.
7995
df760f77
VS
79962012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
7997
7998 * util/grub-install.in: Ignore empty devicetree directory.
7999
5efb817d
B
80002012-05-08 Bean <bean123ch@gmail.com>
8001
8002 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
8003 All users updated.
8004 (free_rsm): Free header as well.
8005 (free_old_fragments): Fix memory leak.
8006 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
8007 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
8008 (destroy_pq): Likewise.
8009 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
8010
668ea6d2
VS
80112012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8012
8013 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
8014 resulting hash as a precaution.
8015
1739b1fe
VS
80162012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8017
8018 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
8019 '_' in variable names.
8020 * grub-core/net/net.c (grub_net_network_level_interface_register):
8021 Likewise.
8022
6ae485aa
VS
80232012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8024
8025 Fix AFFS with non-512B blocks.
8026
8027 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
8028 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
8029 (grub_affs_data): Replace blocksize with log_blocksize.
8030 (grub_affs_read_block): Fix non-512B blocks.
8031 (grub_affs_read_symlink): Likewise.
8032 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
8033 (grub_affs_read): Fix non-512B blocks.
8034 (grub_affs_label): Likewise.
8035 (grub_affs_mtime): Likewise.
8036 (grub_affs_mount): Fix block detection routine.
8037
d20fab84
VS
80382012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8039
8040 Add filesystem mtime to AFFS.
8041
8042 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
8043 (aftime2ctime): New function.
8044 (grub_affs_dir): Use aftime2ctime.
8045 (grub_affs_label): Fix return value.
8046 (grub_affs_mtime): New function.
8047 (grub_affs_fs): Add mtime.
8048
e87b10f5
VS
80492012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
8050
8051 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
8052 UTF-8.
8053
7dceec9b
VS
80542012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
8055
8056 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
8057 UTF-8.
8058
2f48221f
VS
80592012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
8060
8061 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
8062
dacd85cf
VS
80632012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
8064
8065 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
8066 flags.
8067 (FLAGS_CASE_SENSITIVE): New enum value.
8068 (cache_entry): New struct.
8069 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
8070 cache_size and cache.
8071 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
8072 Add log_blocksize and fshelp_flags.
8073 (grub_sfs_read_extent): Handle non-512 blocks.
8074 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
8075 (grub_sfs_read_file): Handle non-512 blocks.
8076 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
8077 fshelp_flags.
8078 (grub_sfs_read_symlink): Handle non-512 blocks.
8079 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
8080 (grub_sfs_dir): Free cache.
8081 (grub_sfs_close): Likewise.
8082
24e9a854
VS
80832012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8084
8085 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
8086 filesystems.
8087
62ace64d
VS
80882012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8089
8090 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
8091
83b2e89c
VS
80922012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8093
8094 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
8095
75ccaea3
VS
80962012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8097
8098 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
8099 (grub_sfs_read_extent): Likewise.
8100 (grub_sfs_read_block): Likewise.
8101 (grub_sfs_mount): Likewise.
8102 (grub_sfs_iterate_dir): Likewise.
8103 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
8104 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
8105
1b8463f2
VS
81062012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8107
8108 Fix errors on compressed NTFS with 512B clusters.
8109
8110 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
8111 types.
8112 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
8113 not 0.
8114 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
8115 Relax check for inline extents.
8116 (ntfscomp): Return correct -1 on error and not 0.
8117
4f8e368f
VS
81182012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8119
8120 * util/grub-install.in: Fix handling of prefix containing spaces.
8121
6f5d5ee8
VS
81222012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8123
8124 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
8125 (grub_squash_read_data): Fix offset byte-swapping.
8126
ce41ab7a
VS
81272012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8128
8129 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
8130 per common usage and preffered in several parts of code.
8131 (grub_memcmp): Likewise.
8132 (grub_strncmp): Likewise.
8133 * include/grub/misc.h (grub_strcasecmp): Likewise.
8134 (grub_strncasecmp): Likewise.
8135 * Makefile.util.def (cmp_test): New test.
8136 (grub_script_strcmp): Likewise.
8137 * tests/cmp_unit_test.c: New file.
8138 * tests/grub_script_strcmp.in: Likewise.
8139 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
8140
49717bf4
VS
81412012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8142
8143 * include/grub/pci.h: Move enums into no-asm part.
8144
0a308f64
VS
81452012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8146
8147 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
8148
1796965f
ST
81492012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
8150
8151 * util/getroot.c (find_hurd_root_device): Try to make error message
8152 and comments to translators clearer.
8153
4e9b2819
VS
81542012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8155
8156 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
8157
076aeb50
VS
81582012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8159
8160 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
8161 btrfs.
8162
19424d94
VS
81632012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8164
8165 * docs/grub.cfg: Update.
8166
ebb73076
VS
81672012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8168
8169 * docs/grub.texi (PXE): Remove not present variables.
8170
9a1b669c
VS
81712012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8172
8173 * grub-core/net/net.c (defserver_set_env): New function.
8174 (defserver_get_env): Likewise.
8175 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
8176
d38bf7d3
VS
81772012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8178
8179 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
8180 entries.
8181
81822012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
8183
8184 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
8185 * grub-core/kern/emu/hostdisk.c: Likewise.
8186
e5e4ca48
ST
81872012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
8188
8189 Handle hurd userspace partitions.
8190
8191 * util/getroot.c (find_hurd_root_device): New function.
8192 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
8193
56bb5dd5
VS
81942012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8195
8196 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
8197 names.
8198 Reported by: Bastian Blank.
8199
9e8bc27a
VS
82002012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8201
8202 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
8203 crossing page boundary.
8204
aa01499d
VS
82052012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8206
8207 Fix B-tree search in BFS, especially in presence of non-ASCII
8208 characters.
8209
8210 * grub-core/fs/bfs.c (bfs_strcmp): New function.
8211 (find_in_b_tree): Use standard bsearch + btree algorithm.
8212
57006035
VS
82132012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8214
8215 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
8216 and so on.
8217
9d34bb85
MG
82182012-05-03 Matthew Garrett <mjg@redhat.com>
82192012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8220
8221 Suspend broadcom cards in order to stop their DMA.
8222
8223 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
8224 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
8225 (pci): Don't build on x86 EFI.
8226 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
8227 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
8228 New function.
8229 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
8230 stop_broadcom if running on EFI.
8231 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
8232 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
8233 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
8234 (grub_pci_find_capability): New proto.
8235
01aab997
VS
82362012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8237
8238 * docs/grub.texi: Remove dot from the extension as it apparently
8239 doesn't work with some makeinfo versions.
8240
fbd8dca6
VS
82412012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8242
8243 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
8244 with GRUB expectance.
8245
dab797f4
VS
82462012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8247
8248 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
8249
1516bfb4
VS
82502012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8251
8252 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
8253 zero after directory block since last entry may be not 0-terminated if
8254 it ends on block boundary. Use continue instead of if spanning whole
8255 loop.
8256
a3a0eace
VS
82572012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8258
8259 Support 4K sectors UDF inline files.
8260
8261 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
8262 (grub_udf_extended_file_entry): Likewise.
8263 (grub_fshelp_node): Name the anonymous union. Put block at the end.
8264 All users updated.
8265 (get_fshelp_size): New function.
8266 (grub_udf_read_icb): Read whole block.
8267 (grub_udf_iterate_dir): Likewise.
8268 (grub_udf_dir): Likewise.
8269 (grub_udf_open): Likewise.
8270
c82f16c1
VS
82712012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8272
8273 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
8274
59fd2aac
VS
82752012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8276
8277 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
8278 inline symlinks in addition to workaround.
8279
3b4afb4d
VS
82802012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8281
8282 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
8283
f45c794a
VS
82842012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8285
8286 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
8287
f25cecbd
VS
82882012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8289
8290 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
8291
bb9a34e8
VS
82922012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8293
8294 Fix reiserfs big seek times.
8295
8296 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
8297 exact. All users updated.
8298 (grub_reiserfs_read): Use nearest btree search for seeking.
8299 Fix return value on error.
8300
dc478aea
VS
83012012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8302
8303 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
8304 entries.
8305 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
8306 * docs/grub.texi: Update menuentry description.
8307
8db10f47
VS
83082012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8309
8310 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
8311 crash when embedding onto filesystem.
8312
bcb288ed
VS
83132012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8314
8315 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
8316 name.
8317
a626fdd7
VS
83182012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8319
8320 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
8321
b2f68477
VS
83222012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8323
8324 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
8325 commit.
8326
ba15b2af
B
83272012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
83282012-05-01 Bean <bean123ch@gmail.com>
8329
8330 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
8331
a188012e
VS
83322012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8333
8334 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
8335 Special behaviour for len = 0 to read whole file isn't used anywhere and
8336 can cause buffer ovewrflows in several places.
8337
f0a53ed2
VS
83382012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8339
8340 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
8341
5ed554f0
VS
83422012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8343
8344 Handle RAIDZ on non-512B sectors.
8345
8346 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
8347 max_children_ashift.
8348 (fill_vdev_info_real): Fill max_children_ashift.
8349 (read_device): Use max_children_ashift.
8350
ddc58357
VS
83512012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8352
8353 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
8354
e3282399
VS
83552012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8356
8357 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
8358 disk names.
8359 * docs/grub.texi: Update device.map parts.
8360
ee618bd4
VS
83612012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8362
8363 Don't scan into non-diskfilter devices having diskfilter names.
8364
8365 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
8366 (scan_disk): New argument accept_diskfilter. Fix recursion depth
8367 handling.
8368 (scan_disk_hook): New function.
8369
bdf88864
B
83702012-04-29 Bean <bean123ch@gmail.com>
8371
8372 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
8373 allocation.
8374
32745f51
MK
83752012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
8376
8377 * configure.ac: Detect starfield theme font path
8378 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
8379
bc95c8c0
VS
83802012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8381
8382 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
8383 geometry on serial consoles.
8384
147fbcab
VS
83852012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8386
8387 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
8388 because of network consoles.
8389
0f42c889
VS
83902012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8391
8392 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
8393 handling.
8394
4a3594c9
VS
83952012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8396
8397 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
8398 falls on Q syndrom.
8399
5cb53879
VS
84002012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8401
8402 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
8403 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
8404
b282dfe5
VS
84052012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8406
8407 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
8408 Allocate at lest 8192 for temporary buffer as required for lzo.
8409
daa59f47
VS
84102012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8411
8412 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
8413 to cluster_bits, since it's already added in.
8414 (grub_fat_read_data): Likewise.
8415
986748ce
VS
84162012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8417
8418 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
8419 as long as cluster size is multiple of 512 bytes.
8420
a20f6ad0
VS
84212012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
8422
8423 * util/grub-mkrescue.in: Fix locale directory.
8424
385f9abb
VS
84252012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
8426
8427 * grub-core/kern/emu/hostdisk.c (map): Make static.
8428
1c557d30
B
84292012-04-23 Bean <bean123ch@gmail.com>
8430
8431 * util/grub-fstest.c (fstest): Add missing break.
8432
524b5d3a
ST
84332012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
8434
8435 Fix hurd build.
8436
8437 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
8438 not define nr variable.
fe4824e9 8439 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
8440 find_root_devices_from_poolname, find_root_devices_from_libzfs,
8441 grub_find_device): Do not define.
524b5d3a 8442
9a06490c
VS
84432012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
8444
8445 Fix kfreebsd compile and behaviour.
8446
8447 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
8448 format-security.
8449 * util/getroot.c: Fix wait.h include.
8450 (grub_guess_root_devices): Error if grub_find_device fails.
8451 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
8452 (grub_util_get_dev_abstraction): Likewise.
8453 (grub_util_pull_device): Likewise.
8454 (grub_util_get_grub_dev): Likewise.
8455 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
8456
48143d96
VS
84572012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
8458
8459 Fix and unify wholedisk detection.
8460
8461 * util/getroot.c (convert_system_partition_to_system_disk): New argument
8462 is_part. All users updated.
8463 (device_is_wholedisk): Removed.
8464 (grub_util_biosdisk_get_grub_dev): Use is_part.
8465
ebbd24f3
VS
84662012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8467
8468 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
8469 mode.
8470
56f7aa1e
VS
84712012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8472
8473 * configure.ac: Bump to beta4.
8474
9c815e01
VS
84752012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8476
8477 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
8478 --fs-uuid --set UUID syntax.
8479
59e2651a
VS
84802012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8481
8482 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
8483 disunification.
8484
54e03cfc
VS
84852012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8486
8487 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
8488
81092a75
MK
84892012-04-18 Mads Kiilerich <mads@kiilerich.com>
8490
8491 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
8492
f8315e14
MG
84932012-04-18 Mike Gilbert <floppym@gentoo.org>
8494
8495 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
8496
1501ac21
B
84972012-04-18 Bean <bean123ch@gmail.com>
8498
8499 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
8500 place.
8501
cb7f944e
VS
85022012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8503
8504 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
8505 users updated.
8506 (grub_util_biosdisk_read): Handle Linux partitions not exactly
8507 corresponding to GRUB partitions.
8508 (grub_util_biosdisk_write): Likewise.
8509
b72d44a1
VS
85102012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8511
8512 Scan mdraid before LVM.
8513
8514 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
8515 (grub_diskfilter_register_front): ... this.
8516 (grub_diskfilter_register_back): New function.
8517 All users of grub_diskfilter_register updated.
8518
33d918b8
VS
85192012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8520
8521 * util/grub-install.in: Fix an automatic target detection bug.
8522
c6ca973d
VS
85232012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8524
8525 * util/grub-install.in: New option --efi-directory.
8526
b41be562
VS
85272012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
8528
8529 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
8530 boot services if we have no other choice.
8531
85322012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
8533
8534 * util/grub-mknetdir.in: Rename --override-directory to --directory and
8535 document it.
8536 * tests/util/grub-shell.in: Update to --directory.
8537
e0595a73
VS
85382012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
8539
8540 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
8541
4ed80652
VS
85422012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
8543
8544 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
8545 (grub_minix_read_file): Likewise.
8546 (grub_minix_read_inode): Likewise.
8547 (grub_minix_find_file): Likewise.
8548 (grub_minix_dir): Likewise.
8549
56008077
VS
85502012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
8551
8552 * util/grub-setup.c (setup): Fix partition handling and blocklist
8553 check.
8554
ee520775
VS
85552012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
8556
8557 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
8558 redundant buggy overlap check.
8559
16fc9293
VS
85602012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8561
8562 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
8563 and grub-mknetdir.
8564
9bab65c4
VS
85652012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8566
8567 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
8568 kh.loadflags on pre-2.00 kernels.
8569
3c491b47
VS
85702012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8571
8572 Terminate UNDI and PXE before launching the payload to avoid problems
8573 with DMA.
8574
8575 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
8576 (grub_loader_flags): ... this. All users updated.
8577 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
8578 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
8579 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
8580 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
8581 function.
8582 (grub_pxe_restore): Likewise.
8583 (fini_hnd): New var.
8584 (GRUB_MOD_INIT): Register shutdown hook.
8585 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
8586 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
8587 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
8588 (grub_loader_set): Rename second argument to flags.
8589
851ffada
VS
85902012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8591
8592 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
8593 written bytes.
8594 (grub_get_num_of_utf8_bytes): New function.
8595 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
8596 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
8597 executing it.
8598 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
8599 (grub_ucs4_to_utf8): Change return type.
8600
491c57a8
VS
86012012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8602
8603 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
8604 warning.
851ffada
VS
8605 * grub-core/fs/bfs.c (hop_level): Likewise.
8606 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 8607
756773df
VS
86082012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8609
8610 * grub-core/lib/adler32.c: Recode due to license unclearness.
8611
fd556a96
VS
86122012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8613
8614 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
8615 (test_header): Likewise.
8616
9f9d3f69
VS
86172012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8618
8619 Fix --help formatting.
8620
8621 * util/grub-mkconfig_lib.in (print_option_help): New function.
8622 (grub_fmt): Likewise.
8623 * util/grub-install.in: Use print_option_help and grub_fmt.
8624 * util/grub-kbdcomp.in: Likewise.
8625 * util/grub-mkconfig.in: Likewise.
8626 * util/grub-mknetdir.in: Likewise.
8627 * util/grub-mkrescue.in: Likewise.
8628 * util/grub-mkstandalone.in: Likewise.
8629 * util/grub-reboot.in: Likewise.
8630 * util/grub-set-default.in: Likewise.
8631 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8632
561ec77e
VS
86332012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8634
8635 * linguas.sh: Remove autogenerated *.po.
8636
7ec2b021
VS
86372012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8638
8639 * po/README: Move language fetcing to ...
8640 * linguas.sh: ... here.
8641 * po/README: Point to linguas.sh.
8642
a88f3270
VS
86432012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8644
8645 * po/README: Exclude ko.po due to disclaimer problems.
8646
d61357ce
VS
86472012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8648
8649 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
8650 len = 0.
8651 (grub_gettext_translate_real): Handle 0th string.
8652 (grub_gettext_translate): Ensure that "" isn't translated.
8653
505e41dc
VS
86542012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8655
8656 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
8657 TRANSLATORS comment.
8658 (grub_diskfilter_print_partmap): Propagate changing of error into
8659 warning.
8660
e44092db
VS
86612012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8662
8663 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
8664 to uint64_t to prevent overflow.
8665 (grub_diskfilter_lv): Increase start_extent and extent_count
8666 to uint64_t to prevent overflow.
8667
9b83956a
VS
86682012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8669
8670 * configure.ac: Increase version.
8671
da0d5b3f
VS
86722012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8673
8674 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
8675
8676 * po/Rules-translit: New file.
8677 * po/arabic.sed: Likewise.
8678 * po/cyrillic.sed: Likewise.
8679 * po/greek.sed: Likewise.
8680 * po/hebrew.sed: Likewise.
8681 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
8682 * po/Makefile.in.in: Add extra_dist4.
8683
ac66b453
VS
86842012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8685
8686 Handle big-endian minixfs (fixes minixfs tests on bigendian).
8687
8688 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
8689 modify names. Introduce MODE_BIGENDIAN.
8690 * grub-core/fs/minix_be.c: New file.
8691 * grub-core/fs/minix2_be.c: Likewise
8692 * grub-core/fs/minix3_be.c: Likewise.
8693 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
8694 minix3_be.
8695 * grub-core/Makefile.core.def (minix_be): New module.
8696 (minix2_be): Likewise.
8697 (minix3_be): Likewise.
8698
86992012-04-01 Felix <email@hamburg.de>
8700
8701 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
8702 (devs): Add MBP 2011.
8703
0a2d5a82
VS
87042012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8705
8706 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
8707
d1625889
VS
87082012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8709
8710 * grub-core/normal/cmdline.c (print_completion): New field
8711 prompt_len.
8712 (grub_cmdline_get): Handle width properly.
8713
6d36a236
VS
87142012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8715
8716 * grub-core/commands/lsacpi.c (options): Add missing terminator.
8717
9576977e
VS
87182012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8719
8720 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 8721 after 29th of February.
9576977e 8722
d73ff15d
VS
87232012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8724
8725 Fix exfat endianness handling.
8726
8727 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
8728 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
8729 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
8730 Byte-swap utf16 when necessary.
8731 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
8732
bbb39a45
AB
87332012-03-31 Anton Blanchard <anton@samba.org>
87342012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8735
8736 Fix btrfs endianness handling.
8737
8738 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
8739 (lower_bound): Make root uint64_t. Use root in le.
8740 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
8741 (find_path): Fix template key init.
8742 (grub_btrfs_dir): Fix mtime byteswap.
8743 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
8744
354e0af7
VS
87452012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8746
8747 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
8748 recursion_depth. Break infinite resursions. All users updated.
8749
4e75f21c
VS
87502012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8751
8752 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
8753 after free.
8754 Reported by: Peter Jones.
8755
25581802
AB
87562012-03-31 Anton Blanchard <anton@samba.org>
8757
8758 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
8759 8 bit values.
8760
08fbf92e
VS
87612012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
8762
8763 * util/grub-install.in: Fix nvram call for PreP.
8764
5d1182a6
VS
87652012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
8766
8767 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
8768 the error when some elements are missing into a warning.
8769
3f8cdd90
VS
87702012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
8771
8772 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
8773
51006716
CW
87742012-03-28 Colin Watson <cjwatson@ubuntu.com>
8775
8776 * docs/grub.texi (Invoking grub-probe): New section.
8777 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
8778
e1bd676b
VS
87792012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
8780
8781 Fix tab and wide character handling in editor and menu.
8782
8783 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
8784 agglomerate control characters with combining marks.
8785 (bidi_line_wrap): Allow break on tab.
8786 (grub_unicode_get_comb_start): New function.
8787 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
8788 and tab correctly.
8789 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
8790 with a space.
8791 * grub-core/normal/term.c (print_ucs4_terminal): New argument
8792 fixed_tab_size. All users updated.
8793 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
8794 (grub_term_getcharwidth): Handle \t.
8795 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
8796 and copy.
8797
22e6a774
VS
87982012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
8799
8800 Handle big-endian mdraid.
8801
8802 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
8803 * grub-core/Makefile.core.def (mdraid09_be): New module.
8804 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
8805 rather than grub_le_to_cpu* and grub_cpu_to_le*.
8806 * grub-core/disk/mdraid_linux_be.c: New file.
8807
3c0eae66
VS
88082012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
8809
8810 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
8811
b6cf74c9
VS
88122012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
8813
8814 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
8815 missing quotes which caused confusion among translators.
8816
83c93b9c
VS
88172012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
8818
8819 * util/grub-mkconfig_lib.in: Fix typo.
8820
ac6fd218
VS
88212012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
8822
8823 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
8824 spaces.
8825 * tests/grub_script_leading_whitespace.in: New file.
8826 * Makefile.util.def (grub_script_leading_whitespace): New test.
8827
ba287dd8
VS
88282012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
8829
8830 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
8831 to work.
8832
d2d58d0a
VS
88332012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
8834
8835 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
8836 starts with control character.
8837
0382d9bb
VS
88382012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
8839
8840 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
8841 overflow.
8842 (grub_gdb_outbuf): Likewise.
8843
d83ff9f9
VS
88442012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
8845
8846 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
8847 zero terminator. Fixes a crash.
8848
2282da4a
VS
88492012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
8850
8851 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
8852 beyond 4 GiB.
8853 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
8854 images independently of preffered adderss field.
8855
0ae4f0bd
VS
88562012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
8857
8858 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
8859 * grub-core/commands/regexp.c: Likewise.
8860 * grub-core/loader/i386/linux.c: Likewise.
8861 * grub-core/partmap/msdos.c: Likewise.
8862 * grub-core/script/execute.c: Likewise.
8863 * grub-core/term/gfxterm.c: Likewise.
8864
546fbe9b
VS
88652012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
8866
8867 Add variable parsing in $"..." and fix several mismatches with bash.
8868
8869 * Makefile.util.def (grub_script_gettext): New test.
8870 * grub-core/script/execute.c (parse_string): New function.
8871 (gettext_append): Likewise.
8872 (grub_script_arglist_to_argv): Use gettext_append.
8873 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
8874 * tests/grub_script_gettext.in: New file.
8875
9fdb2d7b
VS
88762012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
8877
8878 Fix handling of leading spaces in scripts.
8879
8880 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
8881 spaces.
8882 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
8883 other than skipping \r. All users updated.
8884 * tests/grub_script_echo1.in: Add space-related tests.
8885 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
8886
1a1ac4f6
VS
88872012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
8888
8889 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
8890
b63d89b6
VS
88912012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8892
8893 * configure.ac: Bump up the version to beta2.
8894
17f38c0f
VS
88952012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8896
8897 Fix gettext reload bugs (e.g. inability to disable gettext
8898 once enabled).
8899
8900 * grub-core/gettext/gettext.c: Encapsulate all static variables in
8901 main_context and secondary_context. All functions updated.
8902 (grub_gettext_translate): Rename to ...
8903 (grub_gettext_translate_real): ... this. Return NULL on failed
8904 translate.
8905 (grub_gettext_translate): Handle secondary context.
8906 (grub_gettext_delete_list): Close file and zero-out the context.
8907 (grub_mofile_open): Don't call grub_gettext_delete_list.
8908 Don't close file.
8909 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
8910 if locale="" to avoid pointless error message.
8911 (grub_gettext_env_write_lang): Update lang even if load fails.
8912 Handle secondary context.
8913 (grub_gettext_reread_prefix): New function.
8914 (read_main): Likewise.
8915 (read_secondary): Likewise.
8916 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
8917 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
8918 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
8919 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
8920
8e56f870
VS
89212012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8922
8923 * configure.ac: Decrease warning level to avoid spurious warnings and
8924 to be able to compile with GCC 4.2.
8925 * Makefile.util.def: Remove -Wno-error=logical-op.
8926
82f6d455
WB
89272012-03-10 William Bittner <william.bittner@gmail.com>
8928
8929 * util/import_unicode.py: Add missing brackets around string for
8930 python 3 support.
8931
1ecd61a4
VS
89322012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8933
8934 Fix efi chainloader on network root.
8935
8936 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
8937 network devices.
8938 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
8939 New function.
8940
14361ee8
VS
89412012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8942
8943 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
8944 unused show_text member.
8945 * docs/grub.texi: Document "text" property.
8946
922aabf3
VS
89472012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8948
8949 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
8950 in dprintf.
8951
ec316771
VS
89522012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8953
8954 Fix IMSM handling on Fedora.
8955
8956 * util/getroot.c (grub_util_is_imsm): New function.
8957 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
8958
0f021838
VS
89592012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8960
8961 * Makefile.am: Strip gold section.
8962 * conf/Makefile.common: Likewise.
8963 * gentpl.py: Likewise.
8964 * grub-core/Makefile.core.def: Likewise.
8965 * grub-core/genmod.sh.in: Likewise.
8966
1039c8eb
VS
89672012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8968
8969 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
8970 * util/grub.d/20_linux_xen.in: Likewise.
8971 Based on Debian patch.
8972
6dd412cd
VS
89732012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8974
8975 * util/grub.d/10_linux.in: Fix syntax error resulting in
8976 Richard Laager's patch.
8977 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
8978
3fd8bae5
VS
89792012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8980
8981 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
8982 dependencies.
8983
7eea1671
RL
89842012-03-10 Richard Laager <rlaager@wiktel.com>
8985
8986 * util/grub.d/10_linux.in: Fix ZFS root passing.
8987
e8e0566b
VS
89882012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8989
8990 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
8991 * grub-core/commands/xnu_uuid.c: Likewise.
8992 * grub-core/loader/efi/appleloader.c: Likewise.
8993 * grub-core/script/execute.c: Likewise.
8994 * grub-core/script/main.c: Likewise.
8995 * util/grub-mkfont.c: Likewise.
8996
1acc5b1f
VS
89972012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8998
8999 * util/grub-mkfont.c (options): Use more appropriate "select" that
9000 "set" for face index.
9001
35d70620
VS
90022012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9003
9004 * util/grub-editenv.c (options): Gettextize command summaries.
9005
c9eb96b5
VS
90062012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9007
9008 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
9009 "out of memory" error messagge.
9010
1f493136
VS
90112012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9012
9013 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
9014 of diskfilter for diskfilter on diskfilter support.
9015
6d790129
VS
90162012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9017
9018 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
9019
005f46c9
VS
90202012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9021
9022 * util/grub-install.in: Check for themes/starfield/theme.txt and not
9023 themes/starfield.
9024
c8f778a0
VS
90252012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9026
9027 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
9028
de1e64eb
VS
90292012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9030
9031 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
9032
c6d54211
VS
90332012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9034
9035 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
9036 of error message.
9037
dd390777
VS
90382012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
9039
9040 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
9041
5fd1c522
VS
90422012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
9043
9044 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
9045 message.
c6d54211 9046 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 9047
fae01f6c
VS
90482012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9049
9050 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
9051 Gettextize.
9052 * util/grub-mount.c (options): Likewise.
9053
292fdaff
VS
90542012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9055
9056 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
9057 gettextize.
9058 * grub-core/commands/search_wrap.c (options): Likewise.
9059
ecdbae77
VS
90602012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9061
9062 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
9063
52bfedfa
VS
90642012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9065
9066 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
9067 size calculation.
9068 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
9069 none is known.
9070
55b20e58
VS
90712012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9072
9073 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
9074 "temporary" since it's used in identifier and is limited in space.
9075
fda9d101
VS
90762012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9077
9078 * po/POTFILES.in: Regenerate. Include *.h since they contain
9079 translatable strings as well.
9080
6a0295e2
VS
90812012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9082
9083 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
9084 byte-swap on big-endian.
9085 Reported by: Lennart Sorensen
9086
807fb77c
VS
90872012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
9088
9089 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
9090 (allocate_pages): Improve dprintf.
9091 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
9092 code32_start. Fill code32_start and kernel_alignment in params.
9093 (grub_cmd_initrd): Use prot_init_space.
9094
61ac50ba
VS
90952012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9096
9097 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
9098
abdd26dd
VS
90992012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9100
9101 * util/grub-install.in: Add missing dot at the end of sentence.
9102
6e69da9c
VS
91032012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9104
9105 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
9106 * grub-core/commands/videotest.c: Likewise.
9107 * grub-core/loader/i386/linux.c: Likewise.
9108
4a929343
VS
91092012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9110
9111 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
9112 sentence.
9113 Reported by: Milo Casagrande.
9114
bb51c6c6
VS
91152012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9116
9117 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
9118 * grub-core/commands/gptsync.c: Likewise.
9119 * grub-core/commands/hashsum.c: Likewise.
9120 * grub-core/commands/i386/pc/sendkey.c: Likewise.
9121 * grub-core/commands/legacycfg.c: Likewise.
9122 * grub-core/io/gzio.c: Likewise.
9123 * grub-core/net/net.c: Likewise.
9124 * grub-core/term/gfxterm.c: Likewise.
9125 * grub-core/term/terminfo.c: Likewise.
9126 * grub-core/tests/test_blockarg.c: Likewise.
9127 * grub-core/video/video.c: Likewise.
9128 * util/grub-install.in: Likewise.
9129 * util/grub-mkfont.c: Likewise.
9130
b2b149cb
VS
91312012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9132
9133 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
9134
c7c080ad
VS
91352012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9136
9137 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 9138 Reported by: David Prévot.
c7c080ad 9139
f2e243c0
VS
91402012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9141
9142 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
9143 description.
9144
09963c76
VS
91452012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9146
9147 * util/grub-script-check.c (main): Fix a syntax error message which was
9148 unclear.
9149
a50514a8
VS
91502012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9151
9152 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
9153
4650daec
VS
91542012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9155
9156 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
9157 messages.
9158
91592012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
9160
9161 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
9162 without argument.
9163 * util/grub-mount.c (options): Likewise.
9164
bbc5a342
VS
91652012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9166
9167 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
9168
ef292a87
VS
91692012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9170
9171 * grub-core/net/http.c: Add TRANSLATORS comments.
9172 * grub-core/normal/cmdline.c: Likewise.
9173 * grub-core/normal/misc.c: Likewise.
9174 * grub-core/partmap/msdos.c: Likewise.
9175 * grub-core/parttool/msdospart.c: Likewise.
9176 * grub-core/script/execute.c: Likewise.
9177 * grub-core/script/main.c: Likewise.
9178 * grub-core/term/terminfo.c: Likewise.
9179 * grub-core/video/bitmap.c: Likewise.
9180 * util/grub-install.in: Likewise.
9181 * util/grub-mkimage.c: Likewise.
9182 * util/grub-mklayout.c: Likewise.
9183 * util/grub-setup.c: Likewise.
9184
0fc19bd0
VS
91852012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9186
9187 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
9188 with similar messages in grub-fstest.
9189
d95862ef
VS
91902012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9191
9192 * util/grub-install.in: Unify "option requires an argument" message
9193 with similar messages in other files.
9194 * util/grub-mkconfig.in: Likewise.
9195
b7308f90
VS
91962012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9197
9198 * util/grub-set-default.in: Replace printf with gettext_printf (the
9199 string in in question is already translated from grub-reboot)
9200
559dc587
VS
92012012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9202
9203 * configure.ac: Bump up the version to beta1.
9204
1a11761f
VS
92052012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9206
9207 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
9208 case when min_align = 0.
9209
24539abd
VS
92102012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9211
9212 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
9213 and fix a case when line_start overflows.
9214
32bd735b
VS
92152012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9216
9217 * util/grub-reboot.in (usage): Mention id posibility.
9218 * util/grub-set-default.in (usage): Likewise.
9219
1a2fd1e6
VS
92202012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9221
9222 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
9223 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
9224 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
9225 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
9226 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
9227 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9228 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9229
90eeab76
VS
92302012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9231
9232 * grub-core/commands/menuentry.c (options): Remove
9233 GRUB_ARG_OPTION_REPEATABLE.
9234 Reported by: Andreas Vogel
9235
5ad1be82
AV
92362012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
9237
9238 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
9239
cb055286
HE
92402012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
9241
9242 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
9243 error.
9244
93b1cd79
VS
92452012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9246
9247 Use sort -V by the idea of Georgi Georgiev.
9248
9249 * util/grub-mkconfig_lib.in (version_sort): New function.
9250 (version_test_numeric): Use version_sort.
9251
0cdc126c
VS
92522012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9253
9254 Use submenus in grub-mkconfig.
9255
9256 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
9257 * util/grub-mkconfig_lib.in (grub_quote): New function.
9258 (gettext_printf): Use gettext and not gettext_quoted to fix several
9259 messages.
9260 * util/grub.d/10_hurd.in: Use submenus.
9261 * util/grub.d/10_kfreebsd.in: Likewise.
9262 * util/grub.d/10_linux.in: Likewise.
9263 * util/grub.d/10_netbsd.in: Likewise.
9264 * util/grub.d/20_linux_xen.in: Likewise.
9265 * util/grub.d/30_os-prober.in: Likewise.
9266 * util/grub.d/10_illumos.in: Add missing quoting.
9267 * util/grub.d/10_windows.in: Likewise.
9268
d9bef9bc
VS
92692012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9270
9271 Fix menu title instability bug.
9272
9273 * grub-core/commands/menuentry.c (options): New option --id.
9274 (grub_normal_add_menu_entry): New argument id. All users updated.
9275 (grub_cmd_menuentry): Handle --id.
9276 (grub_menu_init): Accept unknown arguments.
9277 * grub-core/normal/main.c (features): Add feature_menuentry_id and
9278 feature_menuentry_options.
9279 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
9280 saved_entry.
9281 (get_entry_number): Match with id as well.
9282 * include/grub/menu.h (grub_menu_entry): New member id.
9283 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
9284 * util/grub.d/00_header.in: Define menuentry_id_option.
9285 * util/grub.d/10_hurd.in: Define id.
9286 * util/grub.d/10_illumos.in: Likewise.
9287 * util/grub.d/10_kfreebsd.in: Likewise.
9288 * util/grub.d/10_linux.in: Likewise.
9289 * util/grub.d/10_netbsd.in: Likewise.
9290 * util/grub.d/10_windows.in: Likewise.
9291 * util/grub.d/20_linux_xen.in: Likewise.
9292 * util/grub.d/30_os-prober.in: Likewise.
9293
92942012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
9295
9296 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
9297 "scope" with "body".
9298
7c8d0ce7
VS
92992012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9300
9301 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
9302 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
9303 prot_size and prot_file_size.
9304
49de079b
VS
93052012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9306
9307 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
9308 All users updated. If easily=1 require raid-5/-6 to be full.
9309 (is_node_readable): Likewise.
9310 (scan_devices): Scan incomplete but readable LVs at the end.
9311 (grub_diskfilter_memberlist): Pull missing devices.
9312 (insert_array): Skip scanning until device is complete or scan is
9313 done otherwise.
9314 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
9315 check.
9316 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
9317 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
9318
aff05d45
MG
93192012-03-03 Matthew Garrett <mjg@redhat.com>
93202012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9321
9322 Avoid EFI boot services when loading Linux.
9323
9324 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
9325 avoid_efi_bootservices. All users updated.
9326 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
9327 argument avoid_efi_bootservices. All users updated.
9328 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
9329 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
9330 align, min_align, relocatable, prefered_address. All users updated.
9331 Allocate avoiding boot services if kernel is relocatable.
9332 (grub_cmd_linux): Check if kernel is relocatable.
9333 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
9334 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
9335 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
9336 avoid_efi_boot_services.
9337 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
9338 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
9339 (linux_kernel_params): Likewise.
9340
3935dde2
MG
93412012-03-03 Matthew Garrett <mjg@redhat.com>
93422012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9343
9344 Use EDID on EFI.
9345
9346 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
9347 datasize_out.
9348 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
9349 modes. Set gop_handle.
9350 (grub_video_gop_get_edid): New function.
9351 (grub_gop_get_preferred_mode): Likewise.
9352 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
9353 (grub_video_efi_gop_adapter): Set .get_edid.
9354 * include/grub/efi/edid.h: New file.
9355 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
9356
32107ec0
VS
93572012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9358
9359 * util/grub-install.in: Load efivars unconditionally.
9360
e70a2c50
VS
93612012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9362
9363 * po/Rules-piglatin: Change suffix from .po-update-en to
9364 .po-update-en-piglatin.
9365
8f9cace1
VS
93662012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9367
9368 Add a pig farm.
9369
9370 * po/piglatin.sed: New file.
9371 * po/en@piglatin.header: Likewise.
9372 * po/Rules-piglatin: Likewise.
9373 * po/README: Add en@piglatin to autogenerated languages.
9374
8f95d002
VS
93752012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9376
9377 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
9378 "Command for ...".
9379 * grub-core/commands/hdparm.c (options): Use "Display" rather than
9380 "Check" since we don't check anything.
9381 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
9382 is 64-bit one.
9383 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
9384 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
9385 (grub_md_sha512_real): Likewise.
9386
805a8dcc
VS
93872012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9388
9389 * grub-core/commands/gptsync.c: Fix typographic quoting.
9390 * grub-core/commands/ieee1275/suspend.c: Likewise.
9391 * grub-core/commands/parttool.c: Likewise.
9392 * grub-core/commands/search_wrap.c: Likewise.
9393 * grub-core/commands/videoinfo.c: Likewise.
9394 * grub-core/gfxmenu/gui_label.c: Likewise.
9395 * grub-core/hello/hello.c: Likewise.
9396 * grub-core/kern/emu/main.c: Likewise.
9397 * grub-core/net/net.c: Likewise.
9398 * grub-core/normal/menu.c: Likewise.
9399 * grub-core/normal/menu_text.c: Likewise.
9400 * grub-core/normal/misc.c: Likewise.
9401 * util/grub-editenv.c: Likewise.
9402 * util/grub-install.in: Likewise.
9403 * util/grub-kbdcomp.in: Likewise.
9404 * util/grub-mkconfig.in: Likewise.
9405 * util/grub-mknetdir.in: Likewise.
9406 * util/grub-mkrescue.in: Likewise.
9407 * util/grub-mkstandalone.in: Likewise.
9408 * util/grub-reboot.in: Likewise.
9409 * util/grub-set-default.in: Likewise.
9410 * util/grub-setup.c: Likewise.
9411 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9412
40211ab8
VS
94132012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9414
9415 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
9416 * grub-core/commands/keystatus.c: Likewise.
9417 * grub-core/commands/loadenv.c: Likewise.
9418 * grub-core/commands/probe.c: Likewise.
9419 * grub-core/commands/regexp.c: Likewise.
9420 * grub-core/commands/true.c: Likewise.
9421 * grub-core/commands/videoinfo.c: Likewise.
9422 * grub-core/disk/cryptodisk.c: Likewise.
9423 * grub-core/disk/ldm.c: Likewise.
9424 * grub-core/disk/loopback.c: Likewise.
9425 * grub-core/disk/luks.c: Likewise.
9426 * grub-core/fs/zfs/zfsinfo.c: Likewise.
9427 * grub-core/kern/disk.c: Likewise.
9428 * grub-core/kern/emu/hostdisk.c: Likewise.
9429
0c7d99c7
VS
94302012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9431
9432 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
9433 * util/grub-install.in: Add missing quote in the comment.
9434
e7d2559b
VS
94352012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9436
9437 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
9438 * grub-core/commands/lsmmap.c: Likewise.
9439 * grub-core/commands/minicmd.c: Likewise.
9440 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
9441 * grub-core/commands/regexp.c: Likewise.
9442 * grub-core/gdb/gdb.c: Likewise.
9443 * grub-core/term/gfxterm.c: Likewise.
9444 * util/grub-mkconfig.in: Likewise.
9445 * util/grub-mkfont.c: Likewise.
9446 * util/grub-mklayout.c: Likewise.
9447 * util/grub-mknetdir.in: Likewise.
9448 * util/grub-mkrescue.in: Likewise.
9449 * util/grub.d/30_os-prober.in: Likewise.
9450
49ce9e50
VS
94512012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9452
9453 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
9454 with "Direct color" and "Packed" with "Packed pixel".
9455 (grub_cmd_videoinfo): Simplify legend.
9456
e4b791fa
VS
94572012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9458
9459 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
9460 absolutely unclear error message.
9461
fd1265cb
VS
94622012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9463
9464 * util/grub-mkstandalone.in: Remove confusing leftover print.
9465
8822a8a0
VS
94662012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9467
9468 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
9469 comments.
9470 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
9471 (GRUB_MOD_INIT): Likewise.
9472 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
9473 VGA mode.
9474 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
9475 comments.
9476 * util/grub-install.in (usage): Likewise.
9477 Spell ID in whole letters.
9478 Add missing ending dot.
9479 Quote variables.
9480 * util/grub-reboot.in: Fix capitalisation.
9481 * util/grub-set-default.in: Likewise.
9482
937fd0cc
VS
94832012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9484
9485 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
9486 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
9487 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
9488 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
9489 Disable -Werror for -Wdeprecated-declarations.
9490 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
9491 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
9492 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
9493 (grub_util_get_grub_dev): Make luks handling dependent on
9494 HAVE_DEVICE_MAPPER and not __linux__.
9495 (get_win32_path): Fix format security.
9496 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
9497 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
9498 Don't try grub_find_zpool_from_dir.
9499 (grub_make_system_path_relative_to_its_root) [!__linux__]:
9500 #ifdef-out paresdir.
9501
1bab1ae3
VS
95022012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9503
9504 * util/grub-pe2elf.c (usage): Add missing noreturn.
9505 (write_section_data): Rename name to shname to avoid shadowing.
9506 (write_symbol_table): Rename name to symname to avoid shadowing.
9507 Fix write_reloc_section call.
9508
ef023e42
VS
95092012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9510
9511 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
9512 to ensure that it's after the last byte of .text.
9513
48afcb75
VS
95142012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9515
9516 * util/ieee1275/ofpath.c (my_isdigit): New function.
9517 (trailing_digits): Use my_isdigit.
9518 (strip_trailing_digits): Likewise.
9519
88d51eff
VS
95202012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9521
9522 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
9523 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
9524
17edc2ba
VS
95252012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9526
9527 * grub-core/kern/i386/pc/startup.S: Define __start.
9528
ad5518d7
VS
95292012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9530
9531 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
9532 strip already transforms he format.
9533
9e95e1bf
VS
95342012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9535
9536 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
9537
9cc3ee5c
VS
95382012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9539
9540 * util/grub-install.in: Add missing gettext init.
9541 * util/grub-kbdcomp.in: Likewise.
9542 * util/grub-mkconfig.in: Likewise.
9543 * util/grub-mknetdir.in: Likewise.
9544 * util/grub-mkrescue.in: Likewise.
9545 * util/grub-mkstandalone.in: Likewise.
9546 * util/grub-reboot.in: Likewise.
9547 * util/grub-set-default.in: Likewise.
9548 * util/grub.d/00_header.in: Likewise.
9549 * util/grub.d/10_hurd.in: Likewise.
9550 * util/grub.d/10_windows.in: Likewise.
9551 * util/grub.d/30_os-prober.in: Likewise.
9552 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9553
49e08a06
VS
95542012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9555
9556 * po/Rules-swiss: Fix header comment.
9557
3809cb41
AV
95582012-02-29 Andreas Vogel <anvoit>
9559
9560 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
9561 resulted in leak of arguments.
9562
fa6ec573
VS
95632012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9564
9565 * grub-core/boot/i386/pc/startup_raw.S: Use separate
9566 reed_solomon_size const definition instead of computing it since
9567 Apple assembler doesn't support the later.
9568
22899b9c
VS
95692012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9570
9571 * gentpl.py (kernel): Rewrite Apple part.
9572
a132afc3
VS
95732012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9574
9575 * include/grub/kernel.h (FOR_MODULES): Check module magic.
9576
9d742bd4
VS
95772012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9578
9579 * util/grub-mkimagexx.c (locate_sections): Support non-standard
9580 ELF section gap.
9581 (load_image): Likewise.
9582
f04a9a21
VS
95832012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9584
9585 * configure.ac: Fix a typo in previous commit.
9586
46cf439c
VS
95872012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9588
9589 Don't add -Wl,-N on Apple platform.
9590
9591 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
9592 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
9593
c4c48c54
VS
95942012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9595
9596 * grub-core/Makefile.core.def (lzma_decompress): Use
9597 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
9598
31a12124
VS
95992012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9600
9601 * grub-core/genmod.sh.in: Rewrite the Apple part.
9602
4f3aa1af
VS
96032012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9604
9605 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
9606 comparison.
9607
7bd8b0c7
VS
96082012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9609
9610 * acinclude.m4 (grub_CHECK_PIC): New test.
9611 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
9612
97304d7c
VS
96132012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9614
9615 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
9616 to avoid the warning.
9617
fb883812
VS
96182012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9619
9620 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
9621 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
9622 after. All users updated.
9623
a121c964
VS
96242012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9625
9626 Use the common size routine in hostfs so we can read disks as well.
9627
9628 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
9629 (grub_util_get_fd_size): ... this. Return size in bytes.
9630 All users updated.
9631 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
9632 grub_util_get_fd_size.
9633
c66d6410
VS
96342012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9635
9636 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
9637 Add blocksize retrieval.
9638
dfc8aeb0
VS
96392012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9640
9641 * configure.ac: Restore CFLAGS after efiemu check.
9642
403e25a5
VS
96432012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9644
9645 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
9646 Apple bug.
9647
382775d1
VS
96482012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9649
9650 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
9651
6fd4e6e4
VS
96522012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9653
9654 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
9655 (grub_cmd_halt): Likewise.
9656
bea359d6
VS
96572012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9658
9659 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
9660 for local arithmetics.
9661 Break %sp init into 2 instructions.
9662 Add 0 byte at the end.
9663
32eb6ee1
VS
96642012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9665
9666 * grub-core/disk/diskfilter.c (read_segment): Initialise err
9667 before loops.
9668
e8377389
VS
96692012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9670
9671 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
9672 for context.
9673
8cb17de7
VS
96742012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9675
9676 * grub-core/disk/ldm.c (make_vg): Init part.name.
9677 (grub_ldm_detect): Silence spurious warning.
9678 (grub_util_is_ldm): Likewise.
9679
595717e6
VS
96802012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9681
9682 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
9683 sane value to avoid a spurious warning.
9684
c4b7e588
VS
96852012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9686
9687 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
9688 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
9689
59824957
VS
96902012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9691
9692 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
9693 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
9694
70115b99
VS
96952012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9696
9697 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
9698 hardcoding the relevant info.
9699
56733740
VS
97002012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9701
9702 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
9703 missing const qualifiers.
9704 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
9705
43481481
VS
97062012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9707
9708 * util/getroot.c [__APPLE__]: Add missing includes.
9709 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
9710
3cb38f01
VS
97112012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9712
9713 * util/grub-mkimage.c (generate_image): Silence spurious warning.
9714
d9dbf11e
VS
97152012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9716
9717 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
9718 avoid conflicts.
9719
0c42a45d
VS
97202012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9721
9722 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
9723
46c34eb0
VS
97242012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9725
9726 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
9727 and grub_file_close call.
9728
99ce1597
VS
97292012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9730
9731 Add LZSS Mach-O support (needed for new xnu kernelcache).
9732
9733 * grub-core/Makefile.core.def (xnu): Add file lzss.c
9734 * grub-core/loader/lzss.c: New file.
9735 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
9736 on Mach-O open failure.
9737 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
9738 Don't free cmdsXX in uncompressedXX is set.
9739 (grub_macho_file): Init new fields.
9740 New argument is_64bit. All users updated.
9741 Handle compressed. Error out if no suitable architecture is found.
9742 Don't close file.
9743 (grub_macho_open): New argument is_64bit. All users updated.
9744 * grub-core/loader/macho32.c: Add defines for new fields.
9745 * grub-core/loader/macho64.c: Likewise.
9746 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
9747 (grub_macho_parse): Handle compressed.
9748 Defer actual processing if compressed.
9749 (grub_macho_cmds_iterate): Decompress if compressed. New argument
9750 "filename". All users updated.
9751 (grub_macho_size): New argument "filename". All users updated.
9752 (grub_macho_get_entry_point): Likewise.
9753 (grub_macho_load): Handle compressed.
9754 * include/grub/macho.h (grub_macho_lzss_header): New struct.
9755 (GRUB_MACHO_LZSS_OFFSET): New define.
9756 (grub_decompress_lzss): New proto.
9757 * include/grub/machoload.h (grub_macho_file): New fields to handle
9758 compressed.
9759 (grub_macho_contains_macho64): Remove proto.
9760 (grub_macho_contains_macho32): Likewise.
9761 * util/grub.d/30_os-prober.in: Use kernel cache if available.
9762
ebd17d6f
VS
97632012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9764
9765 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
9766
2702b4e4
VS
97672012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
9768
9769 Fix make dist.
9770
9771 * Makefile.am (starfield_theme_files): New var.
9772 (starfield_DATA): Use starfield_theme_files.
9773 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
9774 Add bootcheck-related files.
9775 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
9776 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
9777 and font_char_metrics.txt.
9778 * grub-core/Makefile.core.def (kernel): Update extra_dist.
9779 (setjmp): Add lib/ia64/longjmp.S.
9780 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
9781 * po/POTFILES.in: Regenerate.
9782 * po/Rules-swiss: use DISTFILES.common.extra2 and not
9783 DISTFILES.common.extra1.
9784 * util/devicemap.c: Removed.
9785 * grub-core/lib/i386/relocator_backward.S: Likewise.
9786 * util/import_gcry.py: Remove unused files. Add extra_dist for
9787 ChangeLog.
9788
cf1adfdf
VS
97892012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
9790
9791 * grub-core/gettext/gettext.c (grub_mofile_open): Call
9792 grub_gettext_delete_list before changing grub_gettext_max to avoid
9793 running out of array bounds.
9794
97952012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
9796
9797 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
9798 grub_vga_text_init/grub_vga_text_fini.
9799
cf1adfdf 98002012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
9801
9802 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
9803
541d92e9
VS
98042012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9805
9806 * configure.ac: Bump to 2.00~beta0.
9807
7931dddf
VS
98082012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9809
9810 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
9811 missing initialisation.
9812
f1b16fa3
VS
98132012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9814
9815 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
9816
83ddae23
VS
98172012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9818
9819 Support v2 xnu boot arguments.
9820
9821 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
9822 New argument fsbfreq_out.
9823 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
9824 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
9825 be used.
9826 * grub-core/loader/machoXX.c (grub_macho_load): New argument
9827 darwin_version.
9828 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
9829 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
9830 (grub_xnu_boot_params): Rename to ...
9831 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
9832 (grub_xnu_boot_params_v2): New struct.
9833
dc693fe6
VS
98342012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9835
9836 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
9837 zeroing of CRC field before computing CRC.
9838
5a6e39c2
VS
98392012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9840
9841 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
9842 Change order of allocations to decrease fragmentation.
9843
6c21f5d7
VS
98442012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9845
9846 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
9847
cfe456dc
CW
98482012-02-27 Colin Watson <cjwatson@ubuntu.com>
9849
9850 Use write-combining MTRR to speed up video with buggy BIOSes.
9851
9852 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
9853 (cpuid): New define.
9854 (rdmsr): Likewise.
9855 (wrmsr): Likewise.
9856 (mtrr_base): Likewise.
9857 (mtrr_mask): Likewise.
9858 (grub_vbe_enable_mtrr_entry): New function.
9859 (grub_vbe_enable_mtrr): Likewise.
9860 (grub_vbe_disable_mtrr): Likewise.
9861 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
9862 control off to BIOS.
9863 (grub_video_vbe_init): Fill mtrr.
9864 (grub_video_vbe_fini): Disable mtrr.
9865 (grub_video_vbe_get_info_and_fini): Likewise.
9866 (grub_video_vbe_setup): Enable mtrr.
9867
e3c78337
CW
98682012-02-27 Colin Watson <cjwatson@ubuntu.com>
9869
9870 * include/grub/partition.h (grub_partition_map): Change prototype of
9871 embed to take a maximum value for nsectors.
9872 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
9873 * include/grub/fs.h (grub_fs): Likewise.
9874 * grub-core/partmap/msdos.c (embed_signatures): New array.
9875 (pc_partition_map_embed): Check for and avoid sectors matching any
9876 of the signatures in embed_signatures, up to max_nsectors.
9877 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
9878 returned sector map to max_nsectors.
9879 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
9880 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
9881 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
9882 * util/grub-setup.c (setup): Allow for the embedding area being
9883 split into multiple blocklists. Tell dest_partmap->embed the
9884 maximum number of sectors we care about.
9885
98862012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9887
9888 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
9889 Specify blocklist_install and reserver_first_sector for all fs.
9890 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
9891 blocklists.
9892
984b973f
VS
98932012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9894
9895 * util/grub-install.in: Clarify strings.
9896 Fix source dir check.
9897
f122e0d6
RL
98982012-02-27 Richard Laager <rlaager@wiktel.com>
9899
9900 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
9901 "zfs" and "fuse.zfs" as synonyms.
9902
071114bb
VS
99032012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9904
9905 * configure.ac: Put platform and target_cpu substitutions back since
9906 they are used for directories.
9907
817e6abc
RL
99082012-02-27 Richard Laager <rlaager@wiktel.com>
99092012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9910
9911 * util/grub.d/10_linux.in: Add ZFS-related arguments.
9912 * util/grub.d/20_linux_xen.in: Likewise.
9913
897b7419
RL
99142012-02-27 Richard Laager <rlaager@wiktel.com>
9915
9916 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
9917 with full paths.
9918
a414bd15
RL
99192012-02-27 Richard Laager <rlaager@wiktel.com>
9920
9921 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
9922 unescape.
9923
30ac48c4
VS
99242012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9925
9926 Don't use insecure popen in getroot.
9927
9928 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
9929 (exec_pipe): ... here.
9930 (find_root_devices_from_poolname): Use exec_pipe.
9931
53f13848
VS
99322012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9933
9934 Remove platform and target_cpu replacement.
9935
9936 * configure.ac: Remove platform and target_cpu substitutions.
9937 * tests/util/grub-shell.in: Use modinfo.
9938 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
9939 explicitly.
9940
90cb2803
VS
99412012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9942
9943 Autodetect platform in grub-install but allow override.
9944
9945 * util/grub-install.in: Autodetect platform. Support --target and
9946 --directory. Read platform from modinfo.sh.
9947
b9136427
VS
99482012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9949
9950 Support btrfs multi-volume probe.
9951
9952 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
9953 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
9954 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
9955 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
9956 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
9957 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
9958 grub_find_root_devices_from_btrfs if on btrfs.
9959
c36e5cd1
VS
99602012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9961
9962 Remove any awareness of *.c util files about target.
9963
9964 * Makefile.util.def (grub-setup): Split to ...
9965 (grub-bios-setup): ... and this.
9966 (grub-sparc64-setup): ... and this.
9967 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
9968 * docs/man/grub-setup.h2m: Split into ...
9969 * docs/man/grub-sparc64-setup.h2m: ... this.
9970 * docs/man/grub-bios-setup.h2m: ... and this.
9971 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
9972 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
9973 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
9974 (grub_target_addr_t): Remove.
9975 (grub_target_size_t): Remove.
9976 (grub_target_ssize_t): Remove.
9977 * util/grub-install.in: Use new grub-*-setup.
9978 * util/grub-mkimagexx.c (Elf_Word): New define.
9979 (Elf_Half): Likewise.
9980 (Elf_Section): Likewise.
9981 (ELF_ST_TYPE): Likewise.
9982 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
9983 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
9984
584b2f8a
VS
99852012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9986
9987 Replace grub_target_addr with more appropriate types.
9988
9989 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
9990 grub_target_addr with grub_addr.
9991 * grub-core/commands/iorw.c (grub_cmd_read): Replace
9992 grub_target_addr with grub_port.
9993 (grub_cmd_write): Likewise.
9994 * grub-core/commands/memrw.c (grub_cmd_read): Replace
9995 grub_target_addr with grub_addr.
9996 (grub_cmd_write): Likewise.
9997 * grub-core/video/efi_uga.c (find_line_len): Likewise.
9998
5a0dc6fb
VS
99992012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10000
10001 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
10002 const qualifier for vendor_guid.
10003
786aff6e
VS
100042012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10005
10006 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
10007 const qualifier.
10008 (efiemu_memequal): Likewise.
10009 (find_variable): Likewise.
10010
49017b17
VS
100112012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10012
10013 Fix missing console prototype on qemu-mips.
10014
10015 * include/grub/mips/qemu_mips/console.h: New file.
10016
c5988629
MG
100172012-02-27 Matthew Garrett <mjg@redhat.com>
100182012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10019
10020 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
10021 * include/grub/efi/efi.h: Likewise.
10022 * include/grub/efi/api.h: Add guid for EFI-specified variables.
10023 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
10024 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
10025 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
10026 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
10027 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
10028
e33f8d69
MG
100292012-02-27 Matthew Garrett <mjg@redhat.com>
10030
10031 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
10032
fb312cd9
VS
100332012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10034
10035 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
10036 error.
10037
7134247c
VS
100382012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10039
10040 * configure.ac: Remove inappropriate use of program_transform_name
10041 on grubdir and bootdir but allow explicit specification of those
10042 variables.
10043
6a313124
VS
100442012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10045
10046 * util/grub-mknetdir.in (grub_prefix): Removed.
10047 (subdir): Use @bootdirname@ and @grubdirname@.
10048
2311c5ca
VS
100492012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10050
10051 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
10052
7d5d60f7
VS
100532012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10054
10055 * po/POTFILES.in: Regenerated.
10056
8151bc82
VS
100572012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10058
10059 Remove improper use of program_transform_name on pkglibrootdir.
10060
10061 * configure.ac (pkglibrootdir): Removed.
10062 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
10063 * util/grub-mkimage.c: Likewise.
10064
b4a6a533
VS
100652012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10066
10067 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
10068 warning.
10069
668f304f
VS
100702012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10071
10072 * util/grub-install.in: Use file identifier if no UUID is available
10073 or user explicitly prompted for it.
10074
665f2341
NP
100752012-02-27 Navdeep Parhar <nparhar@gmail.com>
10076
10077 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
10078 (freebsd_get_zfs): New function.
10079 (grub_freebsd_boot): Pass zfs UUID.
10080 (grub_cmd_freebsd): Set zfs UUID.
10081
8151bc82 100822012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
10083
10084 * conf/Makefile.common (platformdir): Base on pkglibdir and not
10085 pkglibrootdir.
10086
e4c498a1
MG
100872012-02-27 Mike Gilbert <floppym@gentoo.org>
10088
10089 Add configure flag to control libzfs integration.
10090
10091 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
10092
1e9a9a3f
VS
100932012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10094
10095 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
10096 device.
10097 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
10098 small devices.
10099
036985b8
VS
101002012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10101
10102 Remove grub_{modname}_init and grub_{modname}_fini. They should never
10103 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
10104 be used on non-modules.
10105
10106 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
10107 Rename to grub_boot_init.
10108 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
10109 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
10110 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
10111 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
10112 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
10113 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
10114 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
10115 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
10116 includes.
10117 (grub_machine_init): Remove empty inits.
10118 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
10119 includes.
10120 (grub_machine_init): Remove empty inits.
10121 * grub-core/term/arc/console.c: Remove explicit proto.
10122 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
10123 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
10124 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10125 grub_at_keyboard_fini.
10126 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
10127 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
10128 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10129 grub_gfxterm_fini.
10130 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
10131 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
10132 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10133 grub_vgatext_fini.
10134 * grub-core/term/ieee1275/console.c: Remove explicit proto.
10135 * grub-core/term/serial.c (GRUB_MOD_INIT)
10136 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
10137 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10138 grub_serial_fini.
10139 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
10140 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
10141 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10142 grub_terminfo_fini.
10143 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
10144 (GRUB_MOD_FINI): Likewise.
10145 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
10146 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
10147 (GRUB_MOD_FINI) [LOONGSON]: Rename to
10148 grub_video_radeon_fuloong2e_fini.
10149 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
10150 [LOONGSON]: Rename to grub_video_sis315pro_init.
10151 (GRUB_MOD_FINI) [LOONGSON]: Rename to
10152 grub_video_sis315pro_fini.
10153 * grub-core/video/sm712.c (GRUB_MOD_INIT)
10154 [LOONGSON]: Rename to grub_video_sm712_init.
10155 (GRUB_MOD_FINI) [LOONGSON]: Rename to
10156 grub_video_sm712_fini.
10157 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
10158 (grub_at_keyboard_fini): Likewise.
10159 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
10160 Don't declare grub_{modname}_init.
10161 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
10162 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
10163 New proto.
10164 (grub_keylayouts_fini) [!EMU]: Likewise.
10165 * include/grub/serial.h (grub_serial_init) [!EMU]:
10166 New proto.
10167 (grub_serial_fini) [!EMU]: Likewise.
10168 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
10169 New proto.
10170 (grub_terminfo_fini) [!EMU]: Likewise.
10171 * include/grub/video.h (grub_font_init) [!EMU]:
10172 New proto.
10173 (grub_font_fini) [!EMU]: Likewise.
10174 (grub_gfxterm_init) [!EMU]: Likewise.
10175 (grub_gfxterm_fini) [!EMU]: Likewise.
10176 (grub_video_sm712_init) [!EMU]: Likewise.
10177 (grub_video_sm712_fini) [!EMU]: Likewise.
10178 (grub_video_sis315pro_init) [!EMU]: Likewise.
10179 (grub_video_sis315pro_fini) [!EMU]: Likewise.
10180 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
10181 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
10182
d5534665
VS
101832012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10184
10185 Make nand a prefix for nand devices.
10186
10187 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
10188
10133b5f
VS
101892012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10190
10191 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
10192 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
10193
8e307a62
VS
101942012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10195
10196 * include/grub/env.h (grub_env_find): Remove prototype.
10197 * grub-core/kern/env.c (grub_env_find): Make static.
10198 (grub_env_set): Remove useless set.
10199
a4c65f34
VS
102002012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10201
10202 * grub-core/kern/i386/realmode.S: Remove useless align.
10203
d87893d5
VS
102042012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10205
10206 * include/grub/dl.h (grub_dl_load_file): Don't export.
10207
50159add
VS
102082012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10209
10210 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
10211 grub_dprintf.
10212
b2582b84
VS
102132012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10214
10215 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
10216 grub_errors.
10217 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
10218 not reloading whole superblock but only the part which is really needed.
10219 Remove useless grub_errors.
10220 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
10221 grub_errors.
10222
e2a83395
VS
102232012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10224
10225 Don't export grub_get_rtc.
10226
10227 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
10228 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
10229
e7d2a906
VS
102302012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10231
10232 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
10233
6cf1363b
VS
102342012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10235
10236 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 10237 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 10238
eece3349
VS
102392012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10240
10241 Remove prio_list.
10242
10243 * include/grub/list.h (grub_prio_list): Removed.
10244 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
10245 GRUB_COMMAND_PRIO_MASK.
10246 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
10247 GRUB_COMMAND_FLAG_ACTIVE.
10248 (grub_prio_list_insert): Removed.
10249 (grub_prio_list_remove): Likewise.
10250 (GRUB_AS_PRIO_LIST): Likewise.
10251 (GRUB_AS_PRIO_LIST_P): Likewise.
10252 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
10253 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
10254 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
10255 * grub-core/kern/command.c (grub_register_command_prio): Inline
10256 the prio_list code.
10257 (grub_unregister_command): Likewise.
10258
94f064b4
VS
102592012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10260
10261 Fix interrupt mixup from previous commit.
10262
10263 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
10264 (grub_realidt): New var.
10265 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
10266 Load idt.
10267 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
10268 New declaration.
10269 (grub_relocator16_boot): Set grub_relocator16_idt.
10270 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
10271 (LOCAL(realidt)): ... this.
10272 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
10273 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
10274 (grub_realidt): New variable.
10275
27317084
VS
102762012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10277
10278 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
10279 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
10280 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
10281 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
10282 Gettextize.
10283 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
10284 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
10285 * po/POTFILES.in: Regenerate.
10286
47b40053
VS
102872012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10288
10289 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
10290 errors.
10291
2b343101
VS
102922012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10293
10294 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
10295 \0.
10296 (add_length): Likewise.
10297
ff27c3dd
LK
102982012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
102992012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
10300
10301 GDB serial and backtrace support.
10302
10303 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
10304 (prot_to_real): Likewise.
10305 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
10306 * grub-core/Makefile.core.def (backtrace): New module.
10307 (gdb): Likewise.
10308 * grub-core/gdb/cstub.c: New file.
10309 * grub-core/gdb/gdb.c: Likewise.
10310 * grub-core/gdb/i386/idt.c: Likewise.
10311 * grub-core/gdb/i386/machdep.S: Likewise.
10312 * grub-core/gdb/i386/signal.c: Likewise.
10313 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 10314 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
10315 * include/grub/backtrace.h: Likewise.
10316 * include/grub/gdb.h: Likewise.
10317 * include/grub/i386/gdb.h: Likewise.
10318
103192012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
10320
10321 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
10322 New function.
10323 (add_length): Likewise.
10324 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
10325 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
10326 proto.
10327 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
10328 __argp_get_display_len.
10329
ff27c3dd 103302012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
10331
10332 $"..." support in scripts.
10333
10334 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
10335 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
10336 * grub-core/script/yylex.l: Likewise.
10337 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
10338 value.
10339
ff27c3dd 103402012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
10341
10342 * gentpl.py: Remove obsolete pkglib_DATA handling.
10343
ff27c3dd 103442012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
10345
10346 Don't transform PACKAGE_TARNAME following a discussion on autoconf
10347 mailing list.
10348
10349 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
10350 * util/grub-kbdcomp.in: Likewise.
10351 * util/grub-mkconfig.in: Likewise.
10352 * util/grub-mkconfig_lib.in: Likewise.
10353 * util/grub-mknetdir.in: Likewise.
10354 * util/grub-mkrescue.in: Likewise.
10355 * util/grub-mkstandalone.in: Likewise.
10356 * util/grub-reboot.in: Likewise.
10357 * util/grub-set-default.in: Likewise.
10358 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10359
ff27c3dd 103602012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
10361
10362 Remove GRUB_PREFIX.
10363
10364 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
10365 * util/grub.d/00_header.in: Compute prefix in the only place it's still
10366 used for backward compatibility.
10367
ff27c3dd 103682012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
10369
10370 Add new all_video module.
10371
10372 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
10373 * grub-core/Makefile.core.def (all_video): New module.
10374 * grub-core/genmoddep.awk: Generate dependency of all_video from
10375 video.lst.
10376 * grub-core/lib/fake_module.c: New file.
10377 * grub-core/normal/main.c (features): Add feature_all_video_module.
10378 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
10379 don't do explicit search again.
47454da5 10380 insmod all_video in load_video if available.
22c7ce85 10381
ff27c3dd 103822012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
10383
10384 Another round of string clarification and adding TRANSLATORS comments.
10385
ff27c3dd 103862012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
10387
10388 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
10389
ff27c3dd 103902012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
10391
10392 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
10393 to grub_ssize_t.
10394 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
10395 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
10396
ff27c3dd 103972012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
10398
10399 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
10400 trailing newline implicitly. All users updated.
10401
ff27c3dd 104022012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
10403
10404 Implement serial on IEEE1275 and EFI.
10405
10406 * docs/grub.texi (Platform-specific limitations): Fix the columen video
10407 on emu. Mention arc and emu as the only platforms without serial
10408 support.
10409 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
10410 ieee1275 platforms.
10411 * grub-core/term/efi/serial.c: New file.
10412 * grub-core/term/ieee1275/serial.c: Likewise.
10413 * grub-core/term/serial.c (grub_serial_find): Disable direct port
10414 specification if no ns8250 driver is available.
10415 (grub_cmd_serial): Likewise.
10416 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
10417 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
10418 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
10419 (grub_efi_parity_type_t): New type.
10420 (grub_efi_stop_bits_t): Likewise.
10421 (grub_efi_serial_io_interface): New struct.
10422 * include/grub/serial.h (grub_serial_port): Make 'broken' field
10423 available for all interfaces.
10424 Add EFI and IEEE1275 fields.
10425 (grub_ofserial_init): New proto.
10426 (grub_efiserial_init): Likeiwse.
10427 * util/grub.d/00_header.in: Don't check for the presence of serial
10428 module.
10429
ff27c3dd 104302012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
10431
10432 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
10433 name as if it was an alias.
10434
114076ef
VS
104352012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
10436
10437 * grub-core/commands/lsacpi.c (options): Fix typo.
10438
6a656b0e
VS
104392012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
10440
10441 Convert grub-emu to argp.
10442
10443 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
10444 emu.
10445 * util/argp_common.c: Rename to ...
10446 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
10447 Add missing includes.
10448 * grub-core/kern/emu/main.c: Convert to argp.
10449 * po/POTFILES.in: Regenerate.
10450 * util/grub-install.in (usage): Make first letter lowcase in messages
10451 for uniformity.
10452 * util/grub-setup.c (options): Likewise.
10453
1e3f8ae8
VS
104542012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10455
10456 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
10457 Put back accidently commented-out code.
10458
ed167a80
VS
104592012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10460
10461 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
10462 loop check using Brent algorithm.
10463 (grub_hfsplus_btree_search): Likewise.
10464
6753c0ec
VS
104652012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10466
10467 * util/grub-install.in: Fix usage of wrong device for PreP install.
10468
4e27343f
VS
104692012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10470
10471 * conf/Makefile.common (CFLAGS_GNULIB): Add
10472 -Wno-unsafe-loop-optimizations.
10473 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
10474 on tools.
10475 * grub-core/commands/legacycfg.c: Add pragma to skip
10476 -Wunsafe-loop-optimizations.
10477 (check_password_md5_real): Fix loop counter type.
10478 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
10479 reading.
10480 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
10481 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
10482 loop condition.
10483 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
10484 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
10485 * grub-core/net/net.c (grub_net_route_address): Add safety loop
10486 condition.
10487 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
10488 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
10489 avoid possible infinite loops.
10490 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
10491 and -Wunsafe-loop-optimizations.
10492 * grub-core/script/yylex.l: Likewise.
10493 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
10494 (print_glyphs): Avoid infinite loops.
10495 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
10496
697f18b0
GS
104972012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
10498
10499 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
10500 to avoid infinite loop.
10501 (disp_acpi_rsdt_table): Likewise.
10502
274416e8
VS
105032012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10504
10505 * grub-core/font/font.c (grub_font_load): Add support for default
10506 path for fonts ($prefix/fonts).
10507 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
10508 for checking if string is a path.
10509 * grub-core/normal/main.c (features): Add feature_default_font_path.
10510 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
10511 * util/grub.d/00_header.in: Use default directory if possible.
10512 * util/grub-install.in: Install unicode.pf2.
10513
b3e08622
VS
105142012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10515
10516 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
10517 * po/Rules-swiss: New file.
10518 * po/swiss.sed: Likewise.
10519
fe42ce09
VS
105202012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
10521
10522 * grub-core/fs/btrfs.c (find_device): Fix typos.
10523 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
10524 * util/grub-mkrelpath.c (argp_parser): Likewise.
10525 Reported by: Yuri Chornoivan.
10526
72f1d065
DO
105272012-02-23 Dalet Omega <daletomega@gmail.com>
10528
10529 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
10530 for usual informative messages.
10531
c5884973
DO
105322012-02-23 Dalet Omega <daletomega@gmail.com>
10533
10534 Starfield theme.
10535
10536 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
10537 * conf/Makefile.common: Define starfielddir.
10538 * configure.ac: Configure starfield.
10539 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
10540 * themes/starfield/README: Likewise.
10541 * themes/starfield/blob_w.png: Likewise.
10542 * themes/starfield/boot_menu_c.png: Likewise.
10543 * themes/starfield/boot_menu_e.png: Likewise.
10544 * themes/starfield/boot_menu_n.png: Likewise.
10545 * themes/starfield/boot_menu_ne.png: Likewise.
10546 * themes/starfield/boot_menu_nw.png: Likewise.
10547 * themes/starfield/boot_menu_s.png: Likewise.
10548 * themes/starfield/boot_menu_se.png: Likewise.
10549 * themes/starfield/boot_menu_sw.png: Likewise.
10550 * themes/starfield/boot_menu_w.png: Likewise.
10551 * themes/starfield/slider_c.png: Likewise.
10552 * themes/starfield/slider_n.png: Likewise.
10553 * themes/starfield/slider_s.png: Likewise.
10554 * themes/starfield/src/blob_nw.xcf: Likewise.
10555 * themes/starfield/src/bootmenu/: Likewise.
10556 * themes/starfield/src/bootmenu/center.xcf: Likewise.
10557 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
10558 * themes/starfield/src/bootmenu/side.xcf: Likewise.
10559 * themes/starfield/src/slider_c.xcf: Likewise.
10560 * themes/starfield/src/slider_n.xcf: Likewise.
10561 * themes/starfield/src/slider_s.xcf: Likewise.
10562 * themes/starfield/src/terminalbox/: Likewise.
10563 * themes/starfield/src/terminalbox/center.xcf: Likewise.
10564 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
10565 * themes/starfield/src/terminalbox/side.xcf: Likewise.
10566 * themes/starfield/starfield.png: Likewise.
10567 * themes/starfield/terminal_box_c.png: Likewise.
10568 * themes/starfield/terminal_box_e.png: Likewise.
10569 * themes/starfield/terminal_box_n.png: Likewise.
10570 * themes/starfield/terminal_box_ne.png: Likewise.
10571 * themes/starfield/terminal_box_nw.png: Likewise.
10572 * themes/starfield/terminal_box_s.png: Likewise.
10573 * themes/starfield/terminal_box_se.png: Likewise.
10574 * themes/starfield/terminal_box_sw.png: Likewise.
10575 * themes/starfield/terminal_box_w.png: Likewise.
10576 * themes/starfield/theme.txt: Likewise.
10577
17d73325
VS
105782012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
10579
10580 * util/grub.d/00_header.in: Add missing export theme.
10581
dbebaf92
VS
105822012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10583
10584 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
10585 already included.
10586 Reported by: Eren D.
10587
3d68bffb
VS
105882012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10589
10590 * conf/Makefile.common (grubdatadir): Removed.
10591 (Makefile.am): Move eveything grubdata to pkgdata.
10592
4b59234d
VS
105932012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10594
10595 * grub-core/commands/acpihalt.c (get_sleep_type):
10596 Remove unused variable.
10597
463dcadc
VS
105982012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10599
10600 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
10601 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
10602 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
10603 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
10604 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
10605 i18n with gettext no-op.
10606 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
10607 GRUB_ACPI_OPCODE_STRING_CONST.
10608 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
10609 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
10610
e5b90c82
VS
106112012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10612
10613 * po/POTFILES.in: Regenerate.
10614
2a704ca9
VS
106152012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10616
10617 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
10618 -Wno-error=missing-noreturn.
10619
84f9d341
VS
106202012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10621
10622 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
10623 condition to avoid possibly infinite loops.
10624 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
10625 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
10626
d46683f9
VS
106272012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10628
10629 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
10630 condition to avoid possibly infinite loops.
10631
c44866b2
VS
106322012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10633
10634 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
10635 on show_error.
10636
96790539
VS
106372012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10638
10639 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
10640
1ba7e295
VS
106412012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10642
10643 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
10644
21ffe8f1
VS
106452012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10646
10647 * util/bin2h.c (usage): Add missing attribute noreturn.
10648
0ccb6b3c
VS
106492012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10650
10651 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
10652 if the size isn't divisible by 512.
10653
b00d7fb6
VS
106542012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10655
10656 Make list_push and list_remove functions rather than inline functions
10657 to decrease size and avoid aliasing violations.
10658
10659 * include/grub/list.h (grub_list_push): Move to ...
10660 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
10661 * include/grub/list.h (grub_list_remove): Move to ...
10662 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
10663
9d369087
VS
106642012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10665
10666 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
10667 and -Wunused-result.
10668
af0250d9
VS
106692012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
10670
10671 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
10672 Reported by: Seth Goldberg
10673
aad32b14
VS
106742012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
10675
10676 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
10677
ac96441c
ST
106782012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
10679
10680 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
10681 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
10682 command line.
10683 * docs/grub.texi (Simple configuration): Document
10684 GRUB_CMDLINE_GNUMACH.
10685
106862012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
10687
10688 * conf/Makefile.common (platform_SCRIPTS): New variable.
10689 (platform_PROGRAMS): Likewise.
10690 * gentpl.py: Mark *,module and *.image for install.
10691 * grub-core/gdb_grub.in: Add a notice of expected environment.
10692 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
10693 (gmodule.pl): Likewise.
10694
ac96441c 106952012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
10696
10697 Replace grub_checkkey with grub_getkey_noblock.
10698
10699 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
10700 (grub_getkey_noblock): ... this. All users updated.
10701
ac96441c 107022012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
10703
10704 * grub-core/kern/emu/console.c: Move to ...
10705 * grub-core/term/emu/console.c: ...here.
10706 (grub_ncurses_getkey): Fix return value if no key is detected.
10707
e51b5666
VS
107082012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10709
10710 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
10711 (grub_unit_test_fini): Likewise.
10712 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
10713
107142012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10715
10716 * include/grub/test.h (GRUB_UNIT_TEST)
10717
d9a62292
VS
107182012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10719
10720 * grub-core/script/execute.c (grub_script_break): Clarify logic.
10721 Better error handling.
10722 (grub_script_return): Likewise.
10723 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
10724
77c9182f
VS
107252012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10726
10727 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
10728 rimplicit redifinition.
10729
edb13cf9
VS
107302012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10731
10732 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
10733 GRUB.
10734
a9e9dc7c
VS
107352012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10736
10737 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
10738 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
10739 prompt here.
10740
b4ba8e02
VS
107412012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10742
10743 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
10744 as GRUB_ERR_BUG. Don't malloc if no device is available.
10745
dded5540
VS
107462012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10747
10748 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
10749 Mark calling with invalid term as GRUB_ERR_BUG.
10750
0cf69874
VS
107512012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10752
10753 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
10754 packets rather than raising an error.
10755
59bfe502
VS
107562012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10757
10758 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
10759 in if.
10760
db5fc596
VS
107612012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10762
10763 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
10764 diagnostic to dprintf.
10765 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
10766
e4b7f404
VS
107672012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10768
10769 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
10770 device name.
10771
e7b02f9e
VS
107722012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10773
10774 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
10775 (grub_ntfs_iterate_dir): Likewise.
10776
0331e102
VS
107772012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10778
10779 Efiemu stylistic fixes and gettext.
10780
10781 * grub-core/efiemu/i386/loadcore32.c
10782 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
10783 * grub-core/efiemu/i386/loadcore64.c
10784 (grub_arch_efiemu_relocate_symbols64): Likewise.
10785 * grub-core/efiemu/i386/pc/cfgtables.c
10786 (grub_machine_efiemu_init_tables): Likewise.
10787 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
10788 (grub_efiemu_loadcore_initXX): Add a filename argument.
10789 All users updated.
10790 Improved error message.
10791 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
10792 Add a filename argument.
10793 All users updated.
10794 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
10795 Reclassify double relocation as GRUB_ERR_BUG.
10796
306fc074
VS
107972012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10798
10799 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
10800 handling.
10801
794d8ef2
VS
108022012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10803
10804 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
10805 on partition.
10806
108072012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
10808
10809 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
10810
794d8ef2 108112012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
10812
10813 Improve string. Gettextize.
10814
78dde88e
VS
108152012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
10816
10817 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
10818 utils.
10819 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
10820
4786a90f
VS
108212012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
10822
10823 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
10824 [GRUB_UTIL]: New function.
10825 (insert_array) [GRUB_UTIL]: Store partmaps.
10826 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
10827 partmaps.
10828 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
10829 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
10830 (probe_abstraction): Print diskfilter and not raid.
10831 Reported by: Lennart Sorensen
10832
0b6225bd
VS
108332012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
10834
10835 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
10836 * util/grub-mkimagexx.c (MASK3): New define.
10837 (add_value_to_slot_20b): Use MASK3.
10838 (add_value_to_slot_21): Likewise.
10839 (relocate_addresses): Fix format specification.
10840 (load_image): Explicitly init symtab_section.
10841
b055f8f6
VS
108422012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
10843
10844 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
10845 (grub_util_biosdisk_get_grub_dev): Fix format specification.
10846
b77c2fb7
VS
108472012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
10848
10849 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
10850 on powerpc.
10851 Reported by: Lennart Sorensen
10852
e3ec28ab
VS
108532012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
10854
10855 * gentpl.py: Add missing license header.
10856 * docs/grub.texi: Update copyright year.
10857
c8d9ead6
GS
108582012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
10859
10860 Source grub-mkconfig_lib from the build directory at build time.
10861 Suggested by: Vladimir Serbinenko.
10862
10863 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
10864 * util/grub-install.in: Define pkgdatadir if not already set, and source
10865 grub-mkconfig_lib from there.
10866 * util/grub-kbdcomp.in: Likewise.
10867 * util/grub-mkconfig.in: Likewise.
10868 * util/grub-mknetdir.in: Likewise.
10869 * util/grub-mkrescue.in: Likewise.
10870 * util/grub-mkstandalone.in: Likewise.
10871 * util/grub-reboot.in: Likewise.
10872 * util/grub-set-default.in: Likewise.
10873 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10874
ebcecdf1
VS
108752012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10876
10877 Increase warning level.
10878
10879 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
10880 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
10881 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
10882 (TARGET_CFLAGS): Likewise.
10883 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
10884 * grub-core/Makefile.core.def (decompressor_xz): Add
10885 -Wno-unreachable-code.
10886 (normal): Add -Wno-redundant-decls.
10887 (xzio): Add -Wno-unreachable-code.
10888 (lzopio): Add -Wno-redundant-decls -Wno-error.
10889 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
10890 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
10891 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
10892 * grub-core/kern/dl.c: Add exception to -Wcast-align.
10893 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
10894 * grub-core/kern/i386/coreboot/init.c: Add exception to
10895 -Wsuggest-attribute=noreturn.
10896 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
10897 * grub-core/kern/ia64/dl_helper.c: Likewise.
10898 * grub-core/kern/mips/dl.c: Likewise.
10899 * grub-core/kern/sparc64/dl.c: Likewise.
10900 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
10901 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
10902 (memcmp): Likewise.
10903 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
10904 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
10905 * grub-core/loader/mips/linux.c: Likewise.
10906 * grub-core/loader/multiboot_elfxx.c: Likewise.
10907 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
10908 * grub-core/video/sm712.c: Add exception to -Wcast-align.
10909 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
10910 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
10911 fixme.
10912 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
10913 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
10914 Fix prototype.
10915
37bb97fe
VS
109162012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10917
10918 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
10919 address.
10920
29a3550b
VS
109212012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10922
10923 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
10924 Avoid improper use of strings.
10925 (grub_cmd_legacy_initrdnounzip): Likewise.
10926
dfdffd0d
VS
109272012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10928
10929 * include/grub/emu/misc.h (grub_util_warn): Add missing format
10930 attribute.
10931 (grub_util_info): Likewise.
10932 (grub_util_error): Likewise.
10933
102fae4a
VS
109342012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10935
10936 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
10937 * util/grub-fstest.c (fstest): Likewise.
10938
7e94d044
VS
109392012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10940
10941 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
10942 (grub_md_sha512_real): Likewise.
10943 (grub_util_get_geli_uuid): Likewise.
10944 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
10945 (grub_util_biosdisk_open): Fix format specification.
10946 Respect format security.
10947 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
10948 (xrealloc): Likewise.
10949 (xasprintf): Likewise.
10950
5ebd9769
VS
109512012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10952
10953 * util/import_gcry.py: Include grub/crypto.h in init.c.
10954
495fc8c1
VS
109552012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10956
10957 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
10958 (generate_image): Make prefix a const char *.
10959 Fix format specifications. Respect format security.
10960 Avoid void * arithmetics.
10961 Avoid shadowing.
10962 (argp_parser): Remove unused variable. Respect format security.
10963 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
10964 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
10965 (count_funcs): Remove unused variable.
10966 (relocate_addresses): Fix format specification.
10967 Disable x86-64 with elf32. Remove unused variables.
10968 (add_fixup_entry): Avoid shadowing.
10969 (make_reloc_section): Fix format specification.
10970 Use assert.
10971 (locate_sections): Fix format specifications.
10972 (load_image): Avoid shadowing.
10973
043c2ea3
VS
109742012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10975
10976 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
10977 Fix format specifications. Respect format security.
10978 Don't translate already translated grub_errmsg.
10979 (argp_parser): Remove unused variable
10980
3ec65a81
VS
109812012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10982
10983 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
10984
a4d9fe4a
VS
109852012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10986
10987 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
10988 (main): Likewise. Use xmalloc. Respect format security.
10989
15b81d49
VS
109902012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10991
10992 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
10993 a const char *.
10994 (argp_parser): Remove unused variable.
10995
31731fc0
VS
109962012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10997
10998 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
10999 (add_pixel): Make static.
11000 (add_font): Likewise.
11001 (write_string_section): Make name and str a const char *.
11002 (write_be16_section): Make name a const char *.
11003 (print_glyphs): Make static.
11004 (write_font_ascii_bitmap): Likewise.
11005 (write_font_width_spec): Likewise.
11006 (write_font_pf2): Likewise.
11007 (argp_parser): Remove unused variable.
11008 Respect format security.
11009 (main): Avoid shadowing. Respect format security.
11010
0809527b
VS
110112012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11012
11013 * util/grub-editenv.c (argp_parser): Make static.
11014 (create_envblk_file): Use xmalloc.
11015 (open_envblk_file): Likewise.
11016 Resepect format security.
11017 (set_variables): Respect format security.
11018
45b0c8b7
VS
110192012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11020
11021 * util/getroot.c (grub_find_device): Respect format security.
11022 (get_mdadm_uuid): Remove unused variable.
11023 (grub_util_pull_device): Dont call gettext on already translated
11024 grub_errmsg.
11025 (find_system_device): Remove unused variable.
11026 (grub_util_get_grub_dev): Likewise.
11027 (grub_make_system_path_relative_to_its_root): Respect format security.
11028
1b024b4e
VS
110292012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11030
11031 * util/grub-fstest.c (execute_command): Make first argument
11032 a const char *.
11033 (read_file): Avoid shadowing.
11034 Reuse underlying error message if device open fails.
11035 (cmd_cmp): Respect format security.
11036 (root): Make const char *.
11037 (fstest): Remove args argument and use global copy.
11038 Respect format security.
11039 (argp_parser): Make static.
11040 (main): Make default_root const char *.
11041
5d1d4e28
VS
110422012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11043
11044 * util/grub-mount.c (root): Make const char *.
11045 (execute_command): Make first argument a const char *.
11046 (fuse_init): Respect format security.
11047 (argp_parser): Make static. Remove unused variable.
11048 (main): Make default_root a const char *.
11049 Respect format security.
11050
36eb7379
VS
110512012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11052
11053 * util/grub-probe.c (probe): Don't call gettext on already translated
11054 grub_errmsg.
11055 Remove unused variables.
11056 (argp_parser): Remove unused variable.
11057
76fb2ea9
VS
110582012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11059
11060 * util/grub-script-check.c (argp_parser): Remove unused variable.
11061 (main): Rename read to curread to avoid shadowing.
11062
56c98584
VS
110632012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11064
11065 * util/misc.c (grub_util_write_image_at): Fix format specification.
11066 (grub_util_write_image): Likewise.
11067 (grub_script_execute_argument_to_string): Removed (unused).
11068 (grub_script_execute_menuentry): Likewise.
11069 (grub_putchar): Likewise.
11070
164ebb48
VS
110712012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11072
11073 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
11074 (FUNCTION) [GRUB_UTIL]: Likewise.
11075 (VARIABLE) [GRUB_UTIL]: Likewise.
11076
44318d61
VS
110772012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11078
11079 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
11080 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
11081
31a26002
VS
110822012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11083
11084 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
11085 buffer.
11086
110872012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11088
11089 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
11090 (LzmaEnc_SaveState): Removed (unused).
11091 (LzmaEnc_RestoreState): Likewise.
11092 (LzmaEnc_InitPriceTables): Made static.
11093 (LzmaEnc_Construct): Likewise.
11094 (LzmaEnc_FreeLits): Likewise.
11095 (LzmaEnc_Destruct): Likewise.
11096 (LzmaEnc_Init): Likewise.
11097 (LzmaEnc_InitPrices): Likewise.
11098 (LzmaEnc_Finish): Likewise.
11099 (LzmaEnc_PrepareForLzma2): Removed (unused).
11100 (LzmaEnc_MemPrepare): Likewise.
11101 (LzmaEnc_GetNumAvailableBytes): Likewise.
11102 (LzmaEnc_GetCurBuf): Likewise.
11103 (LzmaEnc_CodeOneMemBlock): Likewise.
11104
6fa67967
VS
111052012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11106
11107 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
11108 (grub_util_ldm_embed): Likewise.
11109
9a7428e6
VS
111102012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11111
11112 * util/grub-editenv.c (print_var): Rename name to varname to
11113 avoid shadowing.
11114 (main): Rename index to curindex to avoid shadowing.
31a26002 11115 Make filename a const char *.
9a7428e6 11116
4f96abd1
VS
111172012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11118
11119 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
11120 to arg_getline to avoid shadowing.
11121
44d10dad
VS
111222012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11123
11124 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
11125 disk_ to avoid shadowing.
11126
340ba63e
VS
111272012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11128
11129 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
11130 curindex to avoid shadowing.
11131 Make static.
11132 (MatchFinder_GetNumAvailableBytes): Make static.
11133
22965bce
VS
111342012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11135
11136 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
11137 avoid shadowing.
11138
7b5784d4
VS
111392012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11140
11141 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
11142 argument from encrypt to do_encrypt to avoid shadowing.
11143
6f48ca01
VS
111442012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11145
11146 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
11147 incorrect nesting of #if's.
11148
a4ea2dff
VS
111492012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11150
11151 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
11152 checks which are always false on some platforms.
11153 (grub_cmd_lsacpi): Likewise.
11154 * grub-core/kern/misc.c (grub_strtoul): Likewise.
11155 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
11156 Likewise.
11157
def9fc1b
VS
111582012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11159
11160 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
11161 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
11162
a67b2a04
VS
111632012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11164
11165 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
11166 re_dfa_t to avoid breaking alignment invariants.
11167 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
11168 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
11169
44c6828d
VS
111702012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11171
11172 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
11173 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
11174
bebe0dd0
VS
111752012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11176
11177 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
11178 Fix declaration.
11179
a9cdb3cf
VS
111802012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11181
11182 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
11183 conserve alignment invariants.
11184 (grub_ehci_ehcc_read16): Likewise.
11185 (grub_ehci_oper_read32): Likewise.
11186 (grub_ehci_oper_write32): Likewise.
11187 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
11188 Conserve alignment invariants.
11189
ccc3b1b8
VS
111902012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11191
11192 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
11193 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
11194 declarations.
11195
987fbd95
VS
111962012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11197
11198 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
11199 Remove unused variable.
11200
0df363f3
VS
112012012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11202
11203 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
11204 Remove set in if.
11205
b2c0c4a6
VS
112062012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11207
11208 * include/grub/net.h: Remove double declarations.
11209
690c531f
VS
112102012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11211
11212 Remove "payload" command in ia64 Linux loader since I couldn't
11213 find any evidence of it being used for anything.
11214 Replace "relocate" command with an environment variable
11215
11216 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
11217 fields.
11218 (ia64_boot_payload): Removed.
11219 (last_payload): Likewise.
11220 (RELOCATE_OFF): Likewise.
11221 (RELOCATE_ON): Likewise.
11222 (RELOCATE_FORCE): Likewise.
11223 (relocate): Likewise.
11224 (free_pages): Don't free payloads.
11225 (grub_load_elf64): Use common error messages.
11226 Use "linux_relocate" variable.
11227 Increase the space after boot_params.
11228 (grub_cmd_payload): Removed.
11229 (grub_cmd_relocate): Likewise.
11230 (grub_cmd_fpswa): Improve messages.
11231 (cmd_payload): Removed.
11232 (cmd_relocate): Likewise.
11233 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
11234 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
11235
01783768
VS
112362012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11237
11238 Convert UHCI to DMA framework.
11239
11240 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
11241 (grub_uhci_pci_iter): Fill new members
11242 (grub_alloc_td): Use P2V and V2P functions.
11243 (grub_free_queue): Likewise.
11244 (grub_alloc_qh): Likewise.
11245 (grub_uhci_setup_transfer): Likewise.
11246 (grub_uhci_check_transfer): Likewise.
11247
43206939
VS
112482012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11249
11250 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
11251 Remove assignment in if while on it.
11252
571e140e
VS
112532012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11254
11255 * util/grub-mkstandalone.in: Fix modules directory.
11256
a9d96eeb
VS
112572012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11258
11259 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
11260 on i386-pc target.
11261 (argp_parser): Accept "auto" as compression specification.
11262
e4e37e8d
VS
112632012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11264
11265 Fix `help' with unloaded modules.
11266
11267 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
11268 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
11269 (grub_dyncmd_dispatcher): Small stylistic fix.
11270 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
11271 explicit help is requested.
11272
e1ea3ade
VS
112732012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11274
11275 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
11276 Explicitly init restart while on it.
11277
27556881
VS
112782012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11279
11280 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
11281 uninited variable.
11282
d65f6b36
VS
112832012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11284
11285 * util/grub-mknetdir.in: Use . rather than source for POSIX
11286 compatibility.
11287
0a1e473c
VS
112882012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11289
11290 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
11291
ce6647c8
VS
112922012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11293
11294 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
11295 variable.
11296
66747894
VS
112972012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11298
11299 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
11300 without quotes.
11301
71645f6e
VS
113022012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11303
11304 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
11305
0e1c1f61
VS
113062012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11307
11308 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
11309 iteration of partitions.
11310
9c4b5c13
VS
113112012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11312
11313 Improve gettext support. Stylistic fixes and error handling fixes while
11314 on it.
11315
215c90cb
VS
113162012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
11317
11318 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
11319 part. Instead setup the correct stack in RM.
11320 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
11321 for stack.
11322 * include/grub/i386/relocator_private.h: New file.
11323
b5c1f9bf
VS
113242012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11325
11326 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
11327 argument.
11328 * util/grub-fstest.c (options): Add missing DEVICE part.
11329
b525fd83
VS
113302012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11331
11332 Clarify and unify messages.
11333
11334 * grub-core/commands/hashsum.c (options): Unify messages.
11335 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
11336 literal-only message as translatable.
11337 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
11338 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
11339 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
11340 commands.
11341 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
11342 key, not the key used to unlock. Clarify what it's used for.
11343 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
11344 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
11345 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
11346 * util/grub-editenv.c (options): Unify "verbose" message.
11347 * util/grub-fstest.c (read_file): Unify error message.
11348 (fstest): Add quotes around commands.
11349 (options): Unify "verbose" message.
11350 * util/grub-install.in: Add quotes around variable name.
11351 * util/grub-kbdcomp.in: Unify error message.
11352 * util/grub-mkfont.c (main): Likewise.
11353 * util/grub-mkrescue.in: Likewise.
11354 * util/grub-mklayout.c (options): Unify "verbose" message.
11355 * util/grub-mkstandalone.in: Unify help and verbose messages.
11356 * util/grub-mount.c (options): Unify "verbose" message.
11357 * util/grub-probe.c (options): Likewise.
11358 * util/grub-script-check.c (options): Likewise.
11359 * util/grub-setup.c (setup): Unify no-terminator message.
11360 (options): Use DEVICE and not DEV.
11361 Unify "verbose" message.
11362 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
11363
0ae70393
VS
113642012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11365
11366 Improve and unify messages.
11367
11368 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
11369 name. All users updated.
11370 Print filename in error.
11371 (read_device_map): Print filename in error.
11372 * util/getroot.c (grub_guess_root_devices): Print filename in error.
11373 (grub_util_get_os_disk): Likewise.
11374 (grub_util_biosdisk_get_grub_dev): Likewise.
11375 (grub_util_check_block_device): Likewise.
11376 (grub_util_check_char_device): Likewise.
11377 (grub_make_system_path_relative_to_its_root): Likewise.
11378 * util/grub-editenv.c (create_envblk_file): Likewise.
11379 (open_envblk_file): Likewise.
11380 (write_envblk): Likewise.
11381 * util/grub-fstest.c (cmd_cp): Likewise.
11382 (cmd_cat): Likewise.
11383 (cmd_cmp): Likewise.
11384 * util/grub-menulst2cfg.c (main): Likewise.
11385 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
11386 (write_font_width_spec): Likewise.
11387 (write_font_pf2): Likewise.
11388 * util/grub-mkimage.c (generate_image): New argument outname.
11389 All users updated.
11390 Remove unreacheable message.
11391 (options): Unify messages.
11392 (help_filter): Likewise.
11393 * util/grub-mklayout.c (usage): Removed (unused).
11394 (main): Print filename in error.
11395 * util/grub-mkrescue.in: Fix wrong quoting.
11396 * util/grub-setup.c (setup): Print filename in error.
11397 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
11398 (check_sas): Likewise.
11399 * util/misc.c (grub_util_get_fp_size): Removed.
11400 (grub_util_get_image_size): Print filename in error.
11401 (grub_util_read_at): Removed.
11402 (grub_util_read_image): Print filename in error.
11403 (grub_util_load_image): Likewise.
11404 (grub_util_write_image_at): New argument filename. All users updated.
11405 Print filename in error.
11406 (grub_util_write_image): New argument filename. All users updated.
11407 Print filename in error.
11408 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
11409 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
11410
0a96117d
VS
114112012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11412
11413 * grub-core/Makefile.core.def (pxechain): New module.
11414 * grub-core/loader/i386/pc/pxechainloader.c: New file.
11415 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
11416 function.
11417 (grub_pc_net_config_real): Use grub_pxe_get_cached.
11418 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
11419
aca002f7
VS
114202012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11421
11422 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
11423 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
11424 * include/grub/err.h (grub_error_saved): New struct.
11425 (grub_errmsg): Make array size explicit.
11426 * include/grub/misc.h (grub_error_save): New function.
11427 (grub_error_load): Likewise.
11428 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
11429 (grub_error_push): Update `errno' member name.
11430 (grub_error_pop): Likewise
11431 * grub-core/net/tftp.c (tftp_data): New member save_err.
11432 (tftp_receive): Save error.
11433 (tftp_open): Restore error.
11434
a51dab13
VS
114352012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11436
11437 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
11438 to real mode down to execute A20-related code in protected mode as
11439 intended.
11440
eb6e6649
GS
114412012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
11442
11443 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
11444 NULL when the argument `level' has an unexpected value.
11445
92cd0f6e
VS
114462012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11447
11448 Move platform-dependent files from $prefix to $prefix/$platform.
11449
11450 * config.h.in (GRUB_TARGET_CPU): New definition.
11451 (GRUB_PLATFORM): Likewise.
11452 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
11453 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
11454 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
11455 * grub-core/kern/dl.c (grub_dl_load): Likewise.
11456 * grub-core/normal/autofs.c (read_fs_list): Likewise.
11457 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
11458 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
11459 * grub-core/normal/term.c (read_terminal_list): Likewise.
11460 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
11461 $prefix/locale.
11462 (grub_gettext_init_ext): Likewise.
11463 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
11464 grub_platform.
11465 * util/grub-install.in: Update directories.
11466 * util/grub-mknetdir.in: Likewise.
11467 * util/grub-mkrescue.in: Likewise.
11468
db606889
VS
114692012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11470
11471 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
11472 grub_error framework. All users updated.
11473
c39992a4
VS
114742012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11475
11476 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
11477 lists (by always binsearching), improve caching (cache strings
11478 used for binsearch, not only results), improve
11479 maintainability (by using more structured binary search) and correct
11480 error handling.
11481
1e5ec32f
VS
114822012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11483
11484 * grub-core/script/execute.c (grub_script_return): Fix warning.
11485
ac576cde
VS
114862012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11487
11488 * grub-core/script/execute.c (grub_script_return): Fix potential
11489 NULL-dereference.
11490 Reported by: Jim Meyering.
11491
498453f6
VS
114922012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11493
11494 * po/POTFILES.in: Regenerate.
11495 * util/grub-install.in: Gettextize the strings missed in first pass.
11496
8be63f2e
VS
114972012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11498
11499 * Makefile.util.def (grub-mkdevicemap): Removed.
11500 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
11501 * include/grub/util/deviceiter.h: Removed.
11502 * util/deviceiter.c: Likewise.
11503 * util/getroot.c (grub_util_get_os_disk): New function.
11504 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
11505 replacement for EFI.
11506 * util/grub-mkdevicemap.c: Removed.
11507 * util/grub-probe.c (probe): Handle PRINT_DISK.
11508 (argp_parser): Handle -t disk.
11509
8e1e4e39
VS
115102012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11511
11512 * util/grub-mkfont.c: Migrate to argp.
11513 * util/grub-mklayout.c: Likewise.
11514 * util/grub-mkpasswd-pbkdf2.c: Likewise.
11515 * util/grub-mkrelpath.c: Likewise.
11516 * util/grub-probe.c: Likewise.
11517 * util/grub-script-check.c: Likewise.
11518
4459819a
VS
115192012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11520
11521 * util/grub-reboot.in: Add missing datarootdir.
11522 Add missing newline.
11523 * util/grub-set-default.in: Add missing datarootdir.
11524 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
11525 * util/grub-mkrescue.in: Likewise.
11526
f65741c7
VS
115272012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11528
11529 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
11530
c1a33466
VS
115312012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11532
11533 * util/grub-kbdcomp.in: Add decent help and gettextize.
11534 * docs/man/grub-kbdcomp.h2m: New file.
11535
c76899a0
VS
115362012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11537
11538 Migrate grub-mkimage.c to argp.
11539
11540 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
11541 (grub-setup): Likewise.
11542 * util/grub-setup.c (print_version): Move to ...
11543 * util/argp_common.c (print_version): ... here.
11544 * util/grub-setup.c (argp_program_version_hook): Move to ...
11545 * util/argp_common.c (argp_program_version_hook): ... here.
11546 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
11547 safety.
11548 * util/grub-mkimage.c (main): Migrate to argp.
11549
57db0757
VS
115502012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11551
11552 * util/grub-mkrescue.in: Use same message as
11553 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
11554 for better translations.
11555
18534ad9
VS
115562012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11557
11558 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
11559 options with generic grub-mkrescue.in with the goal of future
11560 merge.
11561
c84ba308
VS
115622012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11563
11564 * grub-core/kern/mm.c: Add missing include of i18n.h
11565 * grub-core/lib/relocator.c: Likewise.
11566
347998c2
VS
115672012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11568
11569 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
11570 error.
11571 (allocate_pages): Check return value.
11572 Replace fatal with error.
11573 (grub_linux_boot): Replace printf with dprintf.
11574 Check find_mmap_size return value.
11575 Replace fatal with error.
11576 Don't call grub_machine_fini.
11577 (grub_load_elf64): Replace printf with dprintf.
11578 (grub_cmd_linux): Likewise.
11579 (grub_cmd_initrd): Likewise.
11580 (grub_cmd_payload): Likewise.
11581
c779226e
VS
115822012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11583
11584 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
11585 message.
11586 * grub-core/video/radeon_fuloong2e.c
11587 (grub_video_radeon_fuloong2e_setup): Likewise.
11588 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
11589 * grub-core/video/video.c (grub_video_set_mode): Don't override
11590 standard out of memory message.
11591
dc87d45a
GS
115922012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
11593
11594 NetBSD disk wedge support.
11595
11596 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
11597 [__NetBSD__]: Handle NetBSD disk wedges.
11598 * util/getroot.c (convert_system_partition_to_system_disk)
11599 [__NetBSD__]: Likewise.
11600
055f856f
MW
116012012-02-03 Mark Wooding <mdw@distorted.org.uk>
11602
11603 * util/grub-mkconfig.in: Use umask rather than chmod to create
11604 grub.cfg.new to avoid insecure grub.cfg.
11605
4a9f8346
VS
116062012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11607
11608 * grub-core/commands/ls.c: Gettextize.
11609 * grub-core/commands/setpci.c: Likewise.
11610 * grub-core/commands/videotest.c: Likewise.
11611 * grub-core/disk/geli.c: Likewise.
11612 * grub-core/kern/mm.c: Likewise.
11613 * grub-core/lib/relocator.c: Likewise.
11614 * grub-core/loader/efi/appleloader.c: Likewise.
11615 * grub-core/loader/i386/xnu.c: Likewise.
11616 * grub-core/loader/ia64/efi/linux.c: Likewise.
11617 * grub-core/loader/xnu.c: Likewise.
11618 * grub-core/net/dns.c: Likewise.
11619 * grub-core/net/net.c: Likewise.
11620 * grub-core/script/lexer.c: Likewise.
11621 * grub-core/script/parser.y: Likewise.
11622 * grub-core/script/yylex.l: Likewise.
11623 * util/getroot.c: Likewise.
11624 * util/grub-setup.c: Likewise.
11625
a646a366
VS
116262012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11627
11628 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
11629 number.
11630
54e2be26
VS
116312012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11632
11633 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
11634
f7c71e68
VS
116352012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11636
11637 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
11638 macro.
11639 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
11640 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
11641
a32d5c71
VS
116422012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11643
11644 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
11645 * util/grub-install.in: Gettextize.
11646 * util/grub-mkconfig.in: Likewise.
11647 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
11648 if not available.
11649 (grub_warn): Gettextize.
11650 * util/grub-mknetdir.in: Gettextize.
11651 * util/grub-mkrescue.in: Likewise.
11652 * util/grub-mkstandalone.in: Likewise.
11653 * util/grub-reboot.in: Likewise.
11654 * util/grub-set-default.in: Likewise.
11655 * util/grub.d/00_header.in: Likewise.
11656 * util/grub.d/10_hurd.in: Likewise.
11657 * util/grub.d/10_kfreebsd.in: Likewise.
11658 * util/grub.d/10_linux.in: Likewise.
11659 * util/grub.d/10_netbsd.in: Likewise.
11660 * util/grub.d/10_windows.in: Likewise.
11661 * util/grub.d/20_linux_xen.in: Likewise.
11662 * util/grub.d/30_os-prober.in: Likewise.
11663 * po/POTFILES-shell.in: Regenerate.
11664
69edd81a
RL
116652012-02-03 Richard Laager <rlaager@wiktel.com>
11666
11667 * util/grub-mkimage.c (main): Fix format-security warning.
11668 * util/grub-mkrelpath.c (main): Likewise.
11669 * util/grub-probe.c (main): Likewise.
11670
65f08dbf
RL
116712012-02-03 Richard Laager <rlaager@wiktel.com>
11672
11673 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
11674 failure.
11675 Put back lost PRINT_DRIVE.
11676
e9084abe
RL
116772012-02-03 Richard Laager <rlaager@wiktel.com>
11678
11679 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
11680 (grub_guess_root_devices): Replace strlen with sizeof.
11681 Avoid crash.
11682 (find_root_devices_from_poolname): Remove unused variable.
11683 Handle raidzN.
11684
cf5f7ee7
VS
116852012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11686
11687 Support install on multi-device filesystems.
11688
11689 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
11690 (grub_guess_root_devices): ...this. Return char **. All users updated.
11691 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
11692 Removed.
11693 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
11694 (find_root_devices_from_poolname): ... here.
11695 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
11696 Support zfs-fuse.
11697 (grub_guess_root_device): Rename to ...
11698 (grub_guess_root_devices): ... this. Return char **. All users updated.
11699 * util/grub-install.in: Handle multi-device filesystems.
11700 * util/grub-probe.c (probe). Make device_names a char **. Add delim
11701 argument. All users updated.
11702 Handle multi-device filesystems.
11703 Use 'delim' as separator.
11704 Remove device check to allow filesystems on file.
11705 (main): Support -0 argument. Handle multi-device.
11706 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
11707 Fix a cross-device check while on it.
11708 (arguments): Remove root_dev.
11709 (argp_parser): Remove -r.
11710 (main): Remove root_dev.
11711
2f53a9ed
VS
117122012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
11713
11714 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
11715
17e1d934
VS
117162012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
11717
11718 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
11719 symbol.
11720 Reported by: NODA, Kai <nodakai>.
11721
d3e3fab5
VS
117222012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
11723
11724 Fix ehci on amd64.
11725
11726 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
11727 pointers.
11728 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
11729 (grub_ehci_setup_qh): Likewise.
11730 (grub_ehci_find_qh): Likewise.
11731 (grub_ehci_transaction): Likewise.
11732 (grub_ehci_setup_transfer): Likewise.
11733 (grub_ehci_check_transfer): Likewise.
11734 (grub_ehci_portstatus): Likewise.
11735 (grub_ehci_detect_dev): Likewise.
11736 (grub_ehci_transfer_controller_data): New field td_last_phys.
11737 (grub_ehci_setup_transfer): Fill td_last_phys.
11738 (grub_ehci_check_transfer): Use td_last_phys.
11739
3008675b
SG
117402012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
11741
11742 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
11743 if no submenu is present.
11744
fc9b5652
AN
117452012-02-01 Aleš Nesrsta <starous@volny.cz>
11746
11747 CBI support.
11748
11749 * include/grub/usb.h (grub_usbms_protocol_t): New values
11750 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
11751 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
11752 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
11753 (grub_usbms_dev): Add subclass, protocol and intrpt.
11754 Remove in_maxsz and out_maxsz.
11755 (grub_usbms_reset): Rename to ...
11756 (grub_usbms_bo_reset): .. this.
11757 (grub_usbms_cbi_cmd): New function.
11758 (grub_usbms_cbi_reset): Likewise.
11759 (grub_usbms_reset): Likewise.
11760 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
11761 (grub_usbms_transfer): Rename to ...
11762 (grub_usbms_transfer_bo): ... this.
11763 (grub_usbms_transfer_cbi): Likewise.
11764 (grub_usbms_transfer): Likewise.
11765
a2b81d53
AN
117662012-02-01 Aleš Nesrsta <starous@volny.cz>
117672012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
11768
11769 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
11770 the support for the CS5536 modification thereos and few bugfixes.
11771
11772 * grub-core/Makefile.core.def (ehci): New module.
11773 * grub-core/bus/usb/ehci.c: New file.
11774 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
11775 port and hubaddr. All users updated.
11776 Save port and hubaddr into dev structure.
11777 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
11778 define.
11779 * include/grub/pci.h (grub_dma_phys2virt): New function.
11780 (grub_dma_virt2phys): Likewise.
11781 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
11782
b1d51f02
VS
117832012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11784
11785 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
11786 check as some mkfs implementations omit it.
11787
fc694106
VS
117882012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11789
11790 * docs/grub.texi (Unicode): Mention identifier and space limitations.
11791
6c0920e3
VS
117922012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11793
11794 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
11795 Add new member volname2.
11796 (grub_jfs_label): Use volname2 if available.
11797
d1a46f9a
VS
117982012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11799
11800 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
11801 over last_mounted as seen in image generated by mkfs.nilfs2.
11802 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
11803
dec8ed14
VS
118042012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11805
11806 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
11807 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
11808 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
11809
7397c69b
VS
118102012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11811
11812 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
11813 over the sector.
11814
b3fe42ad
VS
118152012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11816
11817 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
11818 subvolume name (by removing a bogus and useless check).
11819
10476bb0
VS
118202012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11821
11822 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
11823 sizeof while on it.
11824
9c08ad87
VS
118252012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
11826
11827 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
11828 (grub_scsi_read_capacity10): ... this.
11829 (grub_scsi_read_capacity16): New function.
11830 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
11831 0xffffffff.
11832 Fix off-by-one error.
11833 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
11834 64-bit unsigned.
11835 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
11836 (grub_scsi_read_capacity10): ... this.
11837 (grub_scsi_read_capacity_data): Rename to ...
11838 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
11839 (grub_scsi_read_capacity16): New struct.
11840 (grub_scsi_read_capacity16_data): Likewise.
11841 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
11842 grub_scsi_cmd_read_capacity10.
11843 New command grub_scsi_cmd_read_capacity16.
11844
bc8d0f45
VS
118452012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
11846
11847 SCSI >2TiB support.
11848
11849 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
11850 (grub_scsi_write16): Likewise.
11851 (grub_scsi_read): Use read16 when necessary.
11852 (grub_scsi_write): Likewise.
11853 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
11854 (grub_scsi_write16): Likewise.
11855 (grub_scsi_cmd_t): Add READ16 and WRITE16.
11856
cc774926
VS
118572012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
11858
11859 SCSI write support (for usbms mainly).
11860
11861 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
11862 a const pointer.
11863 (grub_scsi_write): Implement.
11864 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
11865
67639fd7
VS
118662012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
11867
11868 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
11869 variable.
11870
9079d3ed
VS
118712012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11872
11873 * grub-core/lib/posix_wrap/string.h (memchr): New function.
11874
c6a6f204
VS
118752012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11876
11877 * po/POTFILES.in: Regenerate.
11878
ecbf8cd1
VS
118792012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11880
11881 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
11882 with grub_printf to avoid unnecessary fatal failure.
11883
0b3b3b38
VS
118842012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11885
11886 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
11887 (INT_MAX): Likewise.
11888 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
11889 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
11890 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
11891 (strcpy): Likewise.
11892 (strstr): Likewise.
11893 (strchr): Likewise.
11894 (strncpy): Likewise.
11895 (strcat): Likewise.
11896 (strncat): Likewise.
11897 (strcoll): Likewise.
11898 * include/grub/types.h (GRUB_SHRT_MAX): New define.
11899 (GRUB_INT_MAX): Likewise.
11900
db7337a3
VS
119012012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11902
11903 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
11904 unexpected error.
11905 (optimize_utf8): Likewise.
11906 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
11907
f37c87e1
VS
119082012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11909
11910 * grub-core/boot/i386/pc/lnxboot.S: Use
11911 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
11912 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
11913 location.
11914 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
11915 definition.
11916 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
11917
63fe43f3
VS
119182012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11919
11920 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
11921 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
11922 now to avoid double free.
11923 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
11924 hostdisk.
11925 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
11926 * util/grub-probe.c (escape_of_path): Always return a new copy.
11927 (print_full_name): Escape path.
11928 (probe): Don't call grub_util_devname_to_ofpath on NULL.
11929 Fix hints on abstractions.
11930
ebe2c961
VS
119312012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11932
11933 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
11934 Don't add "root" line if no compatibility hont is available.
11935 Suggested by: Seth Goldberg.
11936
2b5336a2
VS
119372012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11938
11939 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
11940 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
11941 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
11942 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
11943
74310bd8
VS
119442012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11945
11946 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
11947
c30582ba
VS
119482012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11949
11950 * util/grub-pe2elf.c (ehdr): Make static.
11951 (shdr): Likewise.
11952 (num_sections): Likewise.
11953 (offset): Likewise.
11954
5f47782c
VS
119552012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11956
11957 Eliminate ofpath limits and possible overflows.
11958
11959 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
11960 (OF_PATH_MAX): Removed.
11961 (MAX_DISK_CAT): New const.
11962 (find_obppath): Use allocated rather than preallocated buffer.
11963 Return result. Argument of_path removed. All users updated.
11964 Add missing fdstat.
11965 (xrealpath): New function.
11966 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
11967 Allocate rather than use preallocated buffer. All users updated.
11968 (__of_path_common): Use allocated rather than preallocatecd buffer.
11969 Return result. Argument of_path removed. All users updated.
11970 (vendor_is_ATA): Read only needed part form the file.
11971 (check_sas): Allocate depending on contents rather than fixed.
11972 (main) [STANDALONE]: Handle NULL result.
11973
f990cbf9
VS
119742012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11975
11976 * grub-core/normal/completion.c (iterate_dev): Close the disk.
11977
9c6e84b8
VS
119782012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11979
11980 Cryptodisk write support.
11981
11982 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
11983 (grub_cryptodisk_decrypt): Moved logic to ...
11984 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
11985 (grub_cryptodisk_write): Implement.
11986 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
11987 (grub_util_fd_write): ... this. Make global.
11988 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
11989
87cf9744
VS
119902012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11991
11992 * include/grub/list.h (grub_list_remove): Don't crash if element is
11993 removed twice.
11994
ca8c0baf
VS
119952012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11996
11997 Rename ofconsole to console.
11998
11999 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
12000 as sysnonym to console.
12001 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
12002 * grub-core/term/ieee1275/console.c: ... this. All users updated.
12003 Rename grub_ofconsole_ to grub_console_. All users updated
12004 (grub_console_term_output): Rename "ofconsole" to "console".
12005 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
12006 as "console".
12007
64c8b8f6
VS
120082012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12009
12010 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
12011 handling.
12012 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
12013 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
12014 GRUB_DISK_DEVICE_FILE_ID.
12015
f6c434d5
VS
120162012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12017
12018 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
12019 and improve performance.
12020
5858b42d
VS
120212012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12022
12023 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
12024 missing ieee1275/ prefix on whole disk.
12025
4ed3c26b
VS
120262012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12027
12028 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
12029 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
12030
df71143e
VS
120312012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12032
12033 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
12034
076e7c0f
VS
120352012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12036
12037 Merge common RAID and LVM logic to an abstract diskfilter.
12038 Add LDM support using the same framework.
12039
12040 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
12041 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
12042 (libgrubmods): Remove grub-core/disk/raid.c and
12043 grub-core/partmap/gpt.c.
12044 * grub-core/Makefile.core.def (ldm): New module.
12045 (raid): Renamed to diskfilter. All users updated.
12046 * grub-core/disk/raid.c: Moved to ...
12047 * grub-core/disk/diskfilter.c: ... here.
12048 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
12049 (lv_num): New var.
12050 (find_array): Renamed to ...
12051 (find_lv): ... this. Support multi-LV. Skip nameless LVs
12052 (grub_is_array_readable): Renamed to ...
12053 (grub_is_lv_readable): ... this. Support multinode hierarchy.
12054 (insert_array): New argument id.
12055 (is_node_readable): New function.
12056 (scan_device): Rename to ...
12057 (scan_disk): .. this. Restrict to one disk.
12058 (scan_devices): New function.
12059 (grub_diskfilter_iterate): Support multi-LV.
12060 Skip invisible and nameless LVs.
12061 (grub_diskfilter_memberlist): Support multi-LV.
12062 (grub_diskfilter_read_node): New function.
12063 (grub_raid_read): Most of logic moved to ...
12064 (read_segment): ... here
12065 (read_lv): New function.
12066 (grub_diskfilter_get_vg_by_uuid): New function.
12067 (grub_diskfilter_make_raid): Likewise.
12068 * grub-core/disk/ldm.c: New file.
12069 * grub-core/disk/lvm.c (vg_list): Removed.
12070 (lv_count): Likewise.
12071 (scan_depth): Likewise.
12072 (is_lv_readable): Likewise.
12073 (grub_lvm_getvalue): Advance pointer past the number.
12074 (find_lv): Removed.
12075 (do_lvm_scan): Refactored into ...
12076 (grub_lvm_detect): ... this. Support raid.
12077 (grub_lvm_iterate): Removed.
12078 (grub_lvm_memberlist): Likewise.
12079 (grub_lvm_open): Likewise.
12080 (grub_lvm_close): Likewise.
12081 (read_lv): Likewise.
12082 (read_node): Likewise.
12083 (is_node_readable): Likewise.
12084 (is_lv_readable): Likewise.
12085 (grub_lvm_read): Likewise.
12086 (grub_lvm_write): Likewise.
12087 (grub_lvm_dev): Use diskfilter
12088 (GRUB_MOD_INIT): Likewise.
12089 (GRUB_MOD_FINI): Likewise.
12090 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
12091 new interface.
12092 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
12093 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
12094 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
12095 grub_diskfilter_read_node.
12096 Fix a bug with xor.
12097 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
12098 grub_diskfilter_read_node.
12099 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
12100 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
12101 (grub_disk_dev_iterate): Move from here...
12102 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
12103 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
12104 Make global.
12105 (grub_hostdisk_find_partition_start): Likewise.
12106 (grub_hostdisk_os_dev_to_grub_drive): New function.
12107 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
12108 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
12109 * util/getroot.c (make_device_name): ... here.
12110 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
12111 Move to ...
12112 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
12113 * grub-core/kern/emu/hostdisk.c
12114 (convert_system_partition_to_system_disk): Move to ...
12115 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
12116 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
12117 * util/getroot.c (device_is_wholedisk): ... here.
12118 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
12119 * util/getroot.c (find_system_device): ... here.
12120 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
12121 Move to ...
12122 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
12123 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
12124 Move to ...
12125 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
12126 Handle LDM.
12127 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
12128 Move to ...
12129 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
12130 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
12131 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
12132 DISKFILTER.
12133 * include/grub/raid.h: Renamed to ...
12134 * include/grub/diskfilter.h: ... this.
12135 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
12136 (GRUB_RAID_LAYOUT_*): Make into array.
12137 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
12138 (grub_diskfilter_vg): New struct.
12139 (grub_diskfilter_pv_id): Likewise.
12140 (grub_raid_member): Removed.
12141 (grub_raid_array): Likewise.
12142 (grub_diskfilter_pv): New struct.
12143 (grub_diskfilter_lv): Likewise.
12144 (grub_diskfilter_segment): Likewise.
12145 (grub_diskfilter_node): Likewise.
12146 (grub_diskfilter_get_vg_by_uuid): New proto.
12147 (grub_raid_register): Inline.
12148 (grub_diskfilter_unregister): Likewise.
12149 (grub_diskfilter_make_raid): New proto.
12150 (grub_diskfilter_vg_register): Likewise.
12151 (grub_diskfilter_read_node): Likewise.
12152 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
12153 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
12154 (grub_util_is_ldm): Likewise.
12155 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
12156 (grub_hostdisk_find_partition_start): Likewise.
12157 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
12158 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
12159 New definition.
12160 (grub_gpt_partition_map_iterate): New proto.
12161 * include/grub/lvm.h (grub_lvm_vg): Removed.
12162 (grub_lvm_pv): Likewise.
12163 (grub_lvm_lv): Likewise.
12164 (grub_lvm_segment): Likewise.
12165 (grub_lvm_node): Likewise.
12166 * util/getroot.c [...]
12167 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
12168 (probe_abstraction): Likewise.
12169 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
12170 (main): Remove dead logic.
12171
8a7f9b9c
VS
121722012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
12173
12174 Simplify root device discover and don't fail when trying to open
12175 incorrect devices.
12176
12177 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
12178 function.
12179 (get_diskname_from_path): Likewise.
12180 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
12181 of iterating.
12182
30545b85
VS
121832012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
12184
12185 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
12186
28ea58cf
VS
121872012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
12188
12189 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
12190 pastthe end.
12191
692dabca
VS
121922012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
12193
12194 * util/grub-install.in: Add missing \.
12195 Reported by: gentoofan
12196
f6e4ea70
VS
121972012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
12198
12199 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
12200 (direct_read): Use correct compressed size.
12201 (grub_squash_read_data): Likewise.
12202
122032012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
12204
12205 * docs/grub.texi (Platform limitations): New section.
12206 (Platform-specific operations): Likewise.
12207 * docs/grub-dev.texi (Porting): Likewise.
12208
76261110
VS
122092012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12210
12211 IEEE1275 disk write support.
12212
12213 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
12214 const void *.
12215 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
12216 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
12217 and seek loginc to ...
12218 (grub_ofdisk_prepare): ... here.
12219 (grub_ofdisk_write): Implement.
12220
fc36d603
VS
122212012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12222
12223 ARC disk write support.
12224
12225 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
12226 (reopen): New argument writable. All users updated.
12227 Handle required access mode.
12228 (grub_arcdisk_write): Implement.
12229 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
12230 (grub_arc_firmware_vector): Make buffer to write a const buffer.
12231
e06c2e7a
VS
122322012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12233
12234 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
12235 (read_sblock): Don't attempt to read superblocks outside the disk size.
12236
ff447958
VS
122372012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12238
12239 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
12240 first superblock to find the second one when possible.
12241
9e88df39
VS
122422012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12243
12244 * util/grub-install.in: Fix an ARC bug.
12245 Print a warning if no platform-specific setup is available.
12246
bb26e4ff
VS
122472012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12248
12249 Use static allocation rather than scratch pointer in reed_solomon.
12250 It decreases its size significantly and avoids a variable in .text.
12251
12252 * grub-core/lib/reed_solomon.c (scratch): Removed.
12253 (chosenstat): New const or static array.
12254 (sigma): Likewise.
12255 (errpot): Likewise.
12256 (errpos): Likewise.
12257 (sy): Likewise.
12258 (mstat): Likewise.
12259 (errvals): Likewise.
12260 (eqstat): Likewise.
12261 (pol_evaluate): Replace x with log_x argument. All users updated.
12262 (syndroms): Removed.
12263 (gauss_solve): Use statically allocated arrays.
12264 (rs_recover): Likewise.
12265 Calculate syndroms directly.
12266 (decode_block): Use statically allocated arrays.
12267 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
12268 (main) [TEST]: Allow -DTEST -DSTANDALONE.
12269
2e13ede5
VS
122702012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12271
12272 Eliminate fixed limit on reed solomon decoder length.
12273
12274 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
12275 rather than hardcoding the address.
12276 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
12277 no_reed_solomon_length.
12278 Move gate_a20 to no-reed-solomon part.
12279 Don't force a particular size of no reed-solomon part.
12280 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
12281 Removed.
12282 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
12283 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
12284
f8a9ab12
VS
122852012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12286
12287 * grub-core/commands/wildcard.c (match_files): Handle filenames
12288 without explicit device.
12289 (wildcard_expand): Don't add explicit device if not already present.
12290 * tests/grub_script_echo1.in: Add a new expansion test.
12291
87edb894
VS
122922012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12293
12294 Replace single-linked with double-linked lists. It results in more
12295 compact and more efficient code.
12296
12297 * grub-core/kern/list.c (grub_list_push): Moved from here ...
12298 * include/grub/list.h (grub_list_push): ... to here. Set prev.
12299 (grub_list_remove): Moved from here ...
12300 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
12301 (grub_prio_list_insert): Set prev.
12302 * include/grub/list.h (grub_list): Add prev. All users updated.
12303
48b391e9
VS
123042012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12305
12306 Handle newer autotools. Add some missing quotes while on it.
12307
12308 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
12309 (pkglib_DATA): Move grub-mkconfig_lib from here ...
12310 (pkgdata_DATA): ... here.
12311 * Makefile.util.def (update-grub_lib): Removed.
12312 * conf/Makefile.common (pkglib_DATA): Removed.
12313 (pkglib_SCRIPTS): Likewise.
12314 (pkgdata_DATA): New variable.
12315 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
12316 needed.
12317 Add missing quotes.
12318 Remove unused variable while on it.
12319 * tests/util/grub-shell.in: Likewise.
12320 * util/grub-install.in: Likewise.
12321 * util/grub-mkconfig.in: Likewise.
12322 * util/grub-mknetdir.in: Likewise.
12323 * util/grub-mkrescue.in: Likewise.
12324 * util/grub-mkstandalone.in: Likewise.
12325 * util/grub.d/00_header.in: Likewise.
12326 * util/grub.d/10_hurd.in: Likewise.
12327 * util/grub.d/10_illumos.in: Likewise.
12328 * util/grub.d/10_kfreebsd.in: Likewise.
12329 * util/grub.d/10_linux.in: Likewise.
12330 * util/grub.d/10_netbsd.in: Likewise.
12331 * util/grub.d/10_windows.in: Likewise.
12332 * util/grub.d/20_linux_xen.in: Likewise.
12333 * util/grub.d/30_os-prober.in: Likewise.
12334 * util/update-grub_lib.in: Removed.
12335
123362012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
12337
12338 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
12339 a workaround for intel problem.
12340
66832792
PRP
123412012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
123422012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
123432012-01-23 pfsmorigo
12344
12345 * util/grub-install.in: Support dd'in into PreP partition.
12346 * util/grub-probe.c (probe): Support discovering partition type.
12347 (main): Support -t msdos_parttype.
12348
7816a17e
VS
123492012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
12350
12351 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
12352 infinite recursion using counter.
12353 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
12354 init to skip it if the magic check fails.
12355 (dec_stream_header): Init s->crc32.
12356
8f9d3a8c
ZB
123572012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
123582012-01-22 Zachary Bedell <pendorbound@gmail.com>
123592012-01-22 Richard Laager <rlaager@wiktel.com>
12360
12361 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
12362 All users updated.
12363 (find_bestub): Determine correct size.
12364 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
12365 (scan_disk): Align the size down.
12366 Call check pool before find_bestub to have ashift.
12367
b055dd32
VS
123682012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12369
12370 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
12371 dprintf in no-malloc zone.
12372
d779e9bd
ML
123732012-01-22 Mario Limonciello <mario_limonciello@dell.com>
12374
12375 * configure.ac: Add back in test for limits.h.
12376
b508af69
VS
123772012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
12378
12379 Support 4K-sector NTFS.
12380
12381 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
12382 (grub_ntfs_data): Remove blocksize.
12383 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
12384 Remove data argument. All users updated.
12385
dad9c8b5
VS
123862012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
12387
12388 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
12389 being in .text to avoid dprel references.
12390 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
12391 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
12392 (grub_arch_highmemsize): Likewise.
12393 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
12394 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
12395 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
12396
d43a777e
VS
123972012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
12398
12399 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
12400
12401 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
12402 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
12403
34e4208f
VS
124042012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
12405
12406 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
12407 GRUB_UTIL.
12408 (grub_set_datetime_cmos): Likewise.
12409
3ec0fc1c
VS
124102012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
12411
12412 Make XZ compression parameters dependent on target and not host CPU.
12413
12414 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
12415 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
12416
22489834
VS
124172012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
12418
12419 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
12420 set but not used variable.
12421
8502fbca
VS
124222012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12423
12424 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
12425 created when no uuid support is compiled into mkfs.reiser.
12426
76df2068
VS
124272012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12428
12429 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
12430 (utf8_to_macroman): Do the opposite.
12431 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
12432
64e3f8f6
VS
124332012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12434
12435 * configure.ac: Refise build qemu_mips w/o unifont.
12436
9c271078
VS
124372012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12438
12439 Eliminate grub_min/grub_max prone to overflow usage.
12440
12441 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
12442 (poll_nonroot_hub): Likewise.
12443 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
12444 (grub_affs_label): Likewise.
12445 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
12446 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
12447 (grub_hfs_label): Likewise.
12448 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
12449 * grub-core/fs/zfs/zfs.c (MIN): Remove.
12450 (zap_leaf_array_equal): Use grub_size. Remove MIN.
12451 (zap_leaf_array_get): Likewise.
12452 (dnode_get_path): Likewise.
12453 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
12454 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
12455 * grub-core/script/execute.c (grub_script_break): Likewise.
12456 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
12457 grub_max.
12458 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
12459 * include/grub/misc.h (grub_min): Removed.
12460 (grub_max): Likewise.
12461
80662dbc
VS
124622012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
12463
12464 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
12465 direct.inode = 0.
12466
e6da1467
VS
124672012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12468
12469 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
12470
b1ac4cb1
VS
124712012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12472
12473 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
12474
b4bf7c3b
VS
124752012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12476
12477 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
12478 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
12479
8ee1101a
VS
124802012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12481
12482 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
12483 rather than a hack for grub_strncasemap.
12484
124852012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12486
12487 Support multiple initrds
12488 Note: part of this was accidently committed in r3739.
12489
12490 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
12491 initrd.
12492 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
12493 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
12494 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
12495 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
12496 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
12497
4d1e2bc9
VS
124982012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12499
12500 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
12501 disks with unknown size.
12502 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
12503
75b49ebe
VS
125042012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12505
12506 Remove defines pertaining to arbitrary limits not affecting GRUB
12507 anymore.
12508
12509 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
12510 (EXT2_MAX_SYMLINKCNT): Likewise.
12511 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
12512 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
12513 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
12514 (GRUB_PXE_MAX_BLKSIZE): Likewise.
12515 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
12516 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
12517 (DN_MAX_OBJECT_SHIFT): Likewise.
12518 (DN_MAX_OFFSET_SHIFT): Likewise.
12519 (DN_MAX_OBJECT): Likewise.
12520 (DNODES_PER_LEVEL_SHIFT): Likewise.
12521 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
12522 (SPA_MAXBLOCKSIZE): Likewise.
12523 (SPA_BLOCKSIZES): Likewise.
12524 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
12525 (MZAP_MAX_BLKSZ): Likewise.
12526
74a1dce7
VS
125272012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12528
12529 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
12530 handle NULL appropriately.
12531 Remove MIN.
12532
30c7d3ce
VS
125332012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
12534
12535 Fix efiemu.
12536
12537 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
12538 cpu/types.h.
12539 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
12540 * configure.ac: Fix efiemu check.
12541
3c76ea0c
VS
125422012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
12543
12544 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
12545 grub_probe.
12546 Reported by: adamwill
12547
7e532280
SG
125482012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
12549
12550 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
12551
30492374
VS
125522012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12553
12554 Fix handling of wide characters in gfxterm.
12555
12556 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
12557 (clear_char): Likewise.
12558 (paint_char): Skip code == NULL chars.
12559 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
12560
e70cb72f
VS
125612012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12562
12563 * grub-core/normal/charset.c: Move comment to right place.
12564
5c827cf9
VS
125652012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12566
12567 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
12568 (GRUB_AFFS_FLAG_FFS): Put back where it was.
12569 (grub_affs_mount): Revert the correct version checking.
12570
53603892
VS
125712012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12572
12573 * docs/grub.texi (Unicode): Mention several other unsupported features.
12574
ff094b9b
VS
125752011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
12576
12577 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
12578 case statements as compile-time one.
12579 (direct_read): Prevent spurious warnings.
12580 (grub_squash_read_data): Likewise.
12581
c029da8a
VS
125822011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
12583
12584 Various squash4 fixes and LZO and XZ support.
12585
12586 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
12587 Add xzembed source files.
12588 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
12589 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
12590 (grub_squash_inode): New subtype long_dir.
12591 (SQUASH_TYPE_LONG_DIR): New inode type.
12592 (COMPRESSION): New enum.
12593 (XZBUFSIZ): New const.
12594 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
12595 (read_chunk): Use data->decompress.
12596 (zlib_decompress): New function.
12597 (lzo_decompress): Likewise.
12598 (xz_decompress): Likewise.
12599 (squash_mount): Set new data fields.
12600 (grub_squash_iterate_dir): Handle long dir.
12601 (squash_unmount): Free xzdec and xzbuf.
12602 (grub_squash_open): Check ino type.
12603 (direct_read): Stylistic fixes. Use data->decompress.
12604 (grub_squash_read_data): Likewise.
12605 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
12606 (get_byte): Likewise.
12607 (grub_zlib_disk_read): Removed.
12608 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
12609 (GRUB_POSIX_BOOL_DEFINED): New define.
12610 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
12611 * grub-core/lib/xzembed/xz.h: Addmissing includes.
12612 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
12613 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
12614
7a45a539
VS
126152011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
12616
12617 Don't override more informative errors.
12618
12619 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
12620 * grub-core/font/font.c (open_section): Likewise.
12621 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
12622 filename. Don't override errors.
12623 (grub_cmd_openbsd_ramdisk): Don't override errors.
12624 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
12625 (grub_cmd_initrd): Likewise.
12626 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
12627 (grub_cmd_initrd): Likewise.
12628 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
12629 (grub_cmd_linux): Likewise.
12630 (grub_cmd_initrd): Likewise.
12631 (grub_cmd_payload): Likewise.
12632 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
12633 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
12634 (grub_cmd_module): Likewise.
12635 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
12636 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
12637 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
12638 (grub_cmd_xnu_mkext): Likewise.
12639 (grub_cmd_xnu_ramdisk): Likewise.
12640 (grub_xnu_check_os_bundle_required): Likewise.
12641 (grub_xnu_load_kext_from_dir): Likewise.
12642 (grub_cmd_xnu_kextdir): Likewise.
12643 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
12644
b2d004db
VS
126452011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12646
12647 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
12648 as 1024 in block size field. Found on one of my test images.
12649 Small optimisation while on it.
12650
ec000eac
VS
126512011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12652
12653 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
12654 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
12655 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
12656 performance fixes while on it.
12657 (grub_sfs_close): Fix memory leak while on it.
12658 (grub_sfs_label): Convert Latin1 to UTF-8.
12659
f50e1165
VS
126602011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12661
12662 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
12663 space to avoid overflows.
12664 (grub_hfs_label): Convert from macroman to UTF-8.
12665
2ae254de
VS
126662011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12667
12668 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
12669
0108f491
VS
126702011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12671
12672 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
12673
f45f5f89
VS
126742011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12675
12676 * unicode: Import Unicode 6.0 data.
12677
4d8c4765
VS
126782011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12679
63fa8ef9
VS
12680 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
12681 outside of range.
12682
126832011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12684
12685 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
12686
12687 * include/grub/charset.h (grub_getend): New function.
12688 * grub-core/script/function.c (grub_script_function_find): Use
12689 grub_getend.
12690 * grub-core/normal/completion.c (add_completion): Likewise.
12691
f3cb4a4e
VS
126922011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12693
12694 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
12695 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
12696 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
12697 (GRUB_UNICODE_TAG_END): Likewise.
12698 (GRUB_UNICODE_LAST_VALID): Likewise.
12699
5da8dbc5
VS
127002011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12701
12702 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
12703 len and make it smaller. All users updated.
12704 * util/import_unicode.py: Put length and not end character.
12705 Check length.
12706
8569f13d
VS
127072011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12708
12709 Make better Unicode-compliant and unify some UTF-8 code pathes.
12710
12711 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
12712 valid character.
12713 (grub_is_valid_utf8): Use grub_utf8_process.
12714 Check resulting code range.
12715 (grub_utf8_to_ucs4): Use grub_utf8_process.
12716 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
12717 valid character.
12718
cc4fddf5
VS
127192011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12720
12721 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
12722
bbc47747
VS
127232011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12724
12725 * docs/grub.texi (Filesystems): Mention AFS.
12726
f63d6bf4
VS
127272011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12728
12729 * docs/grub.texi (Filesystems): Clarify restrictions.
12730 (Regexp): Mention non-Unicode regexp behaviour.
12731 (Other): Mention non-Unicode matching behaviour.
12732
74bbf0db
VS
127332011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12734
f63d6bf4 12735 Make HFS implementation use MacRoman.
74bbf0db
VS
12736
12737 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
12738 (macroman): New const array.
12739 (macroman_to_utf8): New function.
12740 (utf8_to_macroman): Likewise.
12741 (grub_hfs_find_dir): Use utf8_to_macroman.
12742 (grub_hfs_dir): Use macroman_to_utf8.
12743 Set case_insensitive.
12744
4ea0316e
VS
127452011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12746
12747 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
12748
d3c13cbd
VS
127492011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12750
12751 Integrate hints into autogeneration scripts.
12752
12753 * docs/grub.texi (Filesystems): Add a hostdisk example.
12754 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
12755 (grub-probe): Add ofpath.
12756 * gentpl.py: Remove group nosparc64.
12757 * grub-core/commands/search.c (cache_entry): New struct.
12758 (cache): New var.
12759 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
12760 * grub-core/commands/search_wrap.c (options): Add platform-specific
12761 hint options.
12762 (grub_cmd_search): Handle platform-specific hints.
12763 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
12764 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
12765 (grub_util_biosdisk_data): Likewise.
12766 (grub_util_biosdisk_open): Set device_map.
12767 (read_device_map): Handle "" as indication of no map.
12768 Set device_map.
12769 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
12770 (grub_util_biosdisk_get_compatibility_hint): New function.
12771 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
12772 * include/grub/emu/hostdisk.h
12773 (grub_util_biosdisk_get_compatibility_hint): New proto.
12774 * util/grub-install.in: Don't call grub-mkdevicemap.
12775 Add platform-specific hint to load.cfg.
12776 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
12777 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
12778 hints. Set root preliminary to compatibility hint, not to OS name.
12779 * util/grub-probe.c (PRINT_*): Add hints.
12780 (print): Make static.
12781 (escape_of_path): New function.
12782 (guess_bios_drive): Likewise.
12783 (guess_efi_drive): Likewise.
12784 (guess_baremetal_drive): Likewise.
12785 (print_full_name): Likewise.
12786 (probe): Handle hints.
12787 (main): Likewise.
12788 * util/ieee1275/devicemap.c: Removed.
12789 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
12790 updated.
12791 (grub_util_devname_to_ofpath): Return NULL on failure.
12792
12793 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
12794 resource leak.
12795 * util/getroot.c (grub_util_pull_device): Fix memory leak.
12796
12797 * po/POTFILES.in: Regenerated.
12798
12799 Allow purely long options
12800
12801 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
12802 (SHORT_ARG_USAGE): Likewise.
12803 (grub_arg_show_help): Compare opt with help_options.
12804 (parse_option): Receive opt as argument. If makes big simplificatons.
12805 All users updated
12806
00ce2df3
VS
128072011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12808
12809 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
12810 Restructure to avoid warning.
12811
e77e325f
VS
128122011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12813
12814 * util/grub-install.in: Account for possible escaped comma in device
12815 name.
12816
165099ea
VS
128172011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12818
12819 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
12820 channel.
12821
ce4a999d
VS
128222011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12823
12824 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
12825 allocation and zero-setting.
12826 (grub_ieee1275_get_devname): Check that alias is complete.
12827
379586ad
VS
128282011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12829
12830 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
12831 unaligned segments.
12832
9197b0ad
VS
128332011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12834
12835 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
12836 prefix.
12837 (grub_ofdisk_open): Check and discard ieee1275 prefix.
12838 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
12839 Add ieee1275 prefix.
12840
edddb7f9
VS
128412011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
12842
12843 * docs/grub.texi (Filesystems): Update.
12844
a1a8b1b9
VS
128452011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
12846
12847 Support odc, newc and bigendian cpio formats.
12848
12849 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
12850 * grub-core/Makefile.core.def (newc): New module.
12851 (odc): Likewise.
12852 (cpio_be): Likewise.
12853 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
12854 (MAGIC): Likewise.
12855 (MAGIC2): Likewise.
12856 (head) [MODE_ODC]: Adapt for the format.
12857 (head) [MODE_NEWC]: Likewise.
12858 (head) [!MODE_*]: Write fields of interest as arrays.
12859 (MAGIC_USTAR): Removed.
12860 (read_number) [MODE_NEWC]: Change to hex.
12861 (read_number) [!MODE_*]: Parse binary arrays.
12862 (grub_cpio_find_file): Factor out the code for better structure and
12863 always use read_number.
12864 (grub_cpio_mount): Use MAGIC and MAGIC2.
12865 (grub_cpio_dir): Exit on first hook non-0 return.
12866 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
12867 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
12868 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
12869 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
12870 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
12871 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
12872 * grub-core/fs/newc.c: New file.
12873 * grub-core/fs/odc.c: Likewise.
12874 * grub-core/fs/cpio_be.c: Likewise.
12875
58eba9ee
VS
128762011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
12877
12878 Fix handling of tar numbers occupying the whole field.
12879
12880 * grub-core/fs/cpio.c (read_number): New function.
12881 (grub_cpio_find_file): Use read_number instead of strtoull.
12882
a54a0e12
VS
128832011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
12884
12885 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
12886 occupying the whole field size.
12887
a6120aca
LA
128882011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
12889
12890 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
12891
a93964ce
VS
128922011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
12893
12894 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
12895
3ea1ca46
SG
128962011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
12897
12898 * grub-core/Makefile.core.def (lzma_decompress): Add missing
12899 TARGET_IMG_LDFLAGS.
12900
b87f7ef2
VS
129012011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
12902
12903 * util/getroot.c (ESCAPED_PATH_MAX): New define.
12904 (mountinfo_entry): Increase the field size to take escaping into
12905 account.
12906 (find_root_device_from_libzfs): Add one byte to size of strings for
12907 security.
12908
62092395
VS
129092011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
12910
12911 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
12912 an assert.
12913 * util/grub-setup.c (setup): Likewise.
12914
1f0b1a77
VS
129152011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
12916
12917 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
12918 _LzmaDecodeA.
12919
8eba9997
VS
129202011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
12921
12922 * docs/grub.texi (Internationalisation): New section.
12923
dd0c91e9
VS
129242011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
12925
12926 * docs/grub.texi (Loopback booting): New section.
12927
129282011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
12929
12930 * util/grub-mkstandalone.in: Fix minor typo errors.
12931
198e150a
VS
129322011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
12933
12934 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
12935
12936 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
12937 net/icmp.c and net/icmp6.c.
12938 (http): New module.
12939 (priority_queue): Likewise.
12940 * grub-core/io/bufio.c: Rewritten.
12941 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
12942 TYPE_WITH_CONFIGFILE_OPTION.
12943 (legacy_commands): Add bootp and dhcp.
12944 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
12945 (grub_legacy_parse): Likewise.
12946 * grub-core/lib/priority_queue.c: New file.
12947 * grub-core/net/arp.c: Add missing license header.
12948 (arp_find_entry): Removed.
12949 (arp_find_entry): Likewise.
12950 (grub_net_arp_resolve): Rename to ...
12951 (grub_net_arp_send_request): ...this.
12952 (grub_net_arp_receive): New card argument.
12953 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
12954 Set router and DNS server.
12955 (grub_net_configure_by_dhcp_ack): Handle routing information.
12956 (grub_cmd_bootp): Set checksum.
12957 (grub_bootp_init): Remove net_dhcp.
12958 * grub-core/net/dns.c: New file.
12959 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
12960 completion.
12961 (get_card_packet): Handle allocation.
12962 (grub_efinet_findcards): Set mtu.
12963 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
12964 (get_card_packet): Handle allocation.
12965 (emucard): Set mtu.
12966 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
12967 (GRUB_MOD_INIT): Set mtu.
12968 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
12969 mtu.
12970 (get_card_packet): Handle allocation.
12971 (grub_ofnet_findcards): Set mtu.
12972 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
12973 assert.
12974 (grub_net_recv_ethernet_packet): Handle IPv6.
12975 * grub-core/net/http.c: New file.
12976 * grub-core/net/icmp.c: Likewise.
12977 * grub-core/net/icmp6.c: Likewise.
12978 * grub-core/net/ip.c (ip6addr): New type.
12979 (ip6hdr): Likewise.
12980 (reassemble): Likewise.
12981 (cmp): New function.
12982 (reassembles): New variable.
12983 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
12984 (id): New variable.
12985 (send_fragmented): New function.
12986 (grub_net_send_ip_packet): Rename to ...
12987 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
12988 Handle non-UDP.
12989 (grub_net_recv_ip_packets): Rename to ...
12990 (handle_dgram): ... this. Check checksum. Handle non-UDP.
12991 (free_rsm): New function.
12992 (free_old_fragments): Likewise.
12993 (grub_net_recv_ip4_packets): New function.
12994 (grub_net_send_ip6_packet): Likewise.
12995 (grub_net_send_ip_packet): Likewise.
12996 (grub_net_recv_ip6_packets): Likewise.
12997 (grub_net_recv_ip_packets): Likewise.
12998 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
12999 (LINK_LAYER_CACHE_SIZE): New const.
13000 (link_layer_find_entry): New function.
13001 (grub_net_link_layer_add_address): Likewise.
13002 (grub_net_link_layer_resolve_check): Likewise.
13003 (grub_net_link_layer_resolve): Likewise.
13004 (grub_net_ipv6_get_slaac): Likewise.
13005 (grub_net_ipv6_get_link_local): Likewise.
13006 (grub_cmd_ipv6_autoconf): Likewise.
13007 (parse_ip): Handle one number representation.
13008 (parse_ip6): New functoion.
13009 (match_net): Handle IPv6.
13010 (grub_net_resolve_address): Handle IPv6 and DNS.
13011 (grub_net_resolve_net_address): Handle IPv6.
13012 (route_cmp): New function.
13013 (grub_net_route_address): Find best route.
13014 (grub_net_addr_to_str): Handle IPv6.
13015 (grub_net_addr_cmp): New function.
13016 (grub_net_add_addr): Register local route.
13017 (print_net_address): Handle net address.
13018 (grub_net_poll_cards): Retransmit TCP.
13019 (grub_net_poll_cards_idle_real): Likewise.
13020 (have_ahead): New function.
13021 (grub_net_seek_real): Use underlying seek.
13022 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
13023 * grub-core/net/tcp.c: New file.
13024 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
13025 (cmp): New function.
13026 (ack): Likewise.
13027 (tftp_receive): Handle unordered input.
13028 (destroy_pq): New function.
13029 (tftp_close): Close pq.
13030 * grub-core/net/udp.c: Put missing license header.
13031 (grub_net_udp_socket): New function.
13032 (udp_socket_register): Likewise.
13033 (grub_net_udp_close): Likewise.
13034 (grub_net_recv_udp_packet): Check checksum.
13035 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
13036 * include/grub/misc.h (grub_memchr): New function.
13037 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
13038 (grub_net_card_driver): Return buf in recv.
13039 (grub_net_slaac_mac_list): New struct.
13040 (grub_network_level_protocol_id): Add ipv6.
13041 (grub_net_network_level_addr): Likewise.
13042 (grub_net_network_level_net_addr): Likewise.
13043 (grub_net_app_protocol): Add seek.
13044 (grub_net_socket): Removed.
13045 (grub_net_sockets): Likewise.
13046 (grub_net_socket_register): Likewise.
13047 (grub_net_socket_unregister): Likewise.
13048 (FOR_NET_SOCKETS): Likewise.
13049 (grub_net_add_addr): Add const.
13050 (GRUB_NET_BOOTP_*): New enum.
13051 (grub_net_addr_cmp): New proto.
13052 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
13053 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
13054 (grub_net_hwaddr_to_str): NEw proto.
13055 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
13056 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
13057 (grub_dns_init): New proto.
13058 (grub_dns_fini): Likewise.
13059 (grub_net_tcp_retransmit): Likewise.
13060 (grub_net_link_layer_add_address): Likewise.
13061 (grub_net_link_layer_resolve_check): Likewise.
13062 (grub_net_link_layer_resolve): Likewise.
13063 (grub_net_dns_lookup): Likewise.
13064 (grub_net_add_dns_server): Likewise.
13065 (grub_net_remove_dns_server): Likewise.
13066 (GRUB_NET_TRIES): New const.
13067 (GRUB_NET_INTERVAL): Likewise.
13068 * include/grub/net/arp.h: Mostly rewritten.
13069 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
13070 * include/grub/net/ip.h: Mostly rewritten.
13071 * include/grub/net/netbuff.h: Indent.
13072 * include/grub/net/tcp.h: New file.
13073 * include/grub/net/udp.h: Mostly rewritten.
13074 * include/grub/priority_queue.h: New file.
13075 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
13076 (grub_swap_bytes64_compile_time): Likewise.
13077 (grub_cpu_to_be16_compile_time): Likewise.
13078 (grub_cpu_to_be32_compile_time): Likewise.
13079 (grub_cpu_to_be64_compile_time): Likewise.
13080 (grub_be_to_cpu64_compile_time): Likewise.
13081
215c1800
VS
130822011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
13083
13084 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
13085 UINT_TO_PTR with cast.
13086
c17e546c
VS
130872011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13088
13089 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
13090 don't use them.
13091
ff6b18b6
VS
130922011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13093
13094 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
13095 already there.
13096
70ffcc93
VS
130972011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13098
13099 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
13100 confusing ipxe.
13101
e5f4d260
VS
131022011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13103
13104 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
13105 Add missing const attribute.
13106 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
13107 Likewise.
13108 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
13109 Likewise.
13110
8e54b4b7
VS
131112011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13112
13113 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
13114 misaligned access.
13115 (serpent_setkey): Likewise.
13116 (serpent_encrypt_internal): Likewise.
13117 (serpent_decrypt_internal): Likewise.
13118 (serpent_encrypt): Don't put an alignment-increasing cast.
13119 (serpent_decrypt): Likewise.
13120 (serpent_test): Likewise.
13121
813c0a2b
VS
131222011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13123
13124 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
13125
f2b60fbd
VS
131262011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13127
13128 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
13129
13130 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
13131 grub_addr_t casts.
13132 (PTR_TO_UINT64): Likewise.
13133 (PTR_TO_UINT32): Likewise.
13134
5ef5c511
VS
131352011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13136
13137 * util/grub-mkimage.c (generate_image): Decrease the higher limit
13138 because of stack.
13139 * util/grub-setup.c (setup): Don't add redundancy past the higher load
13140 limit.
13141
c476e6df
VS
131422011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13143
13144 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
13145 text_width > available width a bit more gracefully.
13146
384ad7cc
VS
131472011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13148
13149 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
13150 current address calculation.
13151
96f8caf8
VS
131522011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13153
13154 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
13155 stack.
13156 (encode_block): Likewise.
13157
276b7a8b
VS
131582011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13159
13160 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
13161 certainety.
13162
e3fd394a
VS
131632011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13164
13165 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
13166 non-RS part to avoid RS messing with GDT.
13167 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
13168 Increase to suit in realmode routines.
13169
131702011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13171
13172 * grub-core/kern/i386/realmode.S: Increase alignment.
13173 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
13174
ee9c2e7a
VS
131752011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13176
13177 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
13178 be deterministic.
13179 (syndroms): Compute 0 syndrom.
13180 (rs_recover): Use 0 syndrom.
13181
7a7f7cc9
VS
131822011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13183
13184 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
13185
a14b16d1
VS
131862011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13187
13188 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
13189 brackets.
13190
9f59e9fc
VS
131912011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13192
ca1b552c
VS
13193 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
13194 account.
13195 (get_top_pad): Likewise.
13196 (get_right_pad): Likewise.
13197 (get_bottom_pad): Likewise.
13198
131992011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13200
13201 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 13202
e739d698
VS
132032011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13204
13205 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
13206 attribute as the structure isn't guaranteed to be properly aligned.
13207 (grub_efi_pci_device_path): Likewise.
13208 (grub_efi_pccard_device_path): Likewise.
13209 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
13210 specify the size of `memory_type'.
13211 (grub_efi_vendor_device_path): Likewise.
13212 (grub_efi_controller_device_path): Likewise.
13213 (grub_efi_acpi_device_path): Likewise.
13214 (grub_efi_expanded_acpi_device_path): Likewise.
13215 (grub_efi_atapi_device_path): Likewise.
13216 (grub_efi_scsi_device_path): Likewise.
13217 (grub_efi_fibre_channel_device_path): Likewise.
13218 (grub_efi_1394_device_path): Likewise.
13219 (grub_efi_usb_device_path): Likewise.
13220 (grub_efi_usb_class_device_path): Likewise.
13221 (grub_efi_i2o_device_path): Likewise.
13222 (grub_efi_mac_address_device_path): Likewise.
13223 (grub_efi_ipv4_device_path): Likewise.
13224 (grub_efi_ipv6_device_path): Likewise.
13225 (grub_efi_infiniband_device_path): Likewise.
13226 (grub_efi_uart_device_path): Likewise.
13227 (grub_efi_vendor_messaging_device_path): Likewise.
13228 (grub_efi_hard_drive_device_path): Likewise.
13229 (grub_efi_cdrom_device_path): Likewise.
13230 (grub_efi_vendor_media_device_path): Likewise.
13231 (grub_efi_file_path_device_path): Likewise.
13232 (grub_efi_protocol_device_path): Likewise.
13233 (grub_efi_piwg_device_path): Likewise.
13234 (grub_efi_bios_device_path): Likewise.
13235
cb8f88ea
VS
132362011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13237
13238 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
13239 (grub_ucs4_to_utf8_alloc): Likewise.
13240 (grub_ucs4_to_utf8): Likewise.
13241 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
13242 (grub_ucs4_to_utf8_alloc): Likewise.
13243
309e5352
VS
132442011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13245
13246 AFFS never uses unicode.
13247
13248 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
13249 (grub_latin1_to_utf8): New inline function.
13250 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
13251
e7987e1b
VS
132522011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13253
13254 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
13255 overflow.
13256
efc2616e
VS
132572011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13258
13259 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
13260 (grub_squash_dirent_header): Likewise.
13261 (read_chunk): Don't double swap.
13262 (grub_squash_iterate_dir): Fix swap sizes.
13263
3c349f5a
VS
132642011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13265
13266 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
13267
b453412d
VS
132682011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13269
13270 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
13271 (grub_hfs_iterate_dir): Likewise.
13272
12e9d4d1
VS
132732011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13274
13275 Fix video on platforms where unaligned access is forbidden.
13276 Make several optimisations while on it.
13277
13278 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
13279 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
13280 (grub_video_fbblit_replace_32bit_1bit): Likewise.
13281 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
13282 Disable.
13283 (grub_video_fbblit_replace_16bit_1bit):
13284 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
13285 (grub_video_fbblit_replace_8bit_1bit): Likewise.
13286 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
13287 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
13288 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
13289 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
13290 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
13291 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
13292 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
13293 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
13294 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
13295 (grub_video_fbblit_replace_index_RGB888): Likewise.
13296 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
13297 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
13298 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
13299 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
13300 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
13301 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
13302 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
13303 Disable.
13304 (grub_video_fbblit_blend_XXX565_1bit):
13305 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
13306 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
13307 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
13308 void *.
13309 * grub-core/video/fb/video_fb.c (common_blitter)
13310 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
13311 (grub_video_fb_create_render_target_from_pointer)
13312 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
13313 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
13314 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
13315 definition.
13316 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
13317
ace96609
VS
133182011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13319
13320 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
13321 HH22 and HM10 relocations.
13322
fd261d73
VS
133232011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13324
13325 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
13326
e59b7857
VS
133272011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13328
13329 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
13330 allocation succeeded.
13331
9b4baaa4
VS
133322011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13333
13334 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
13335 argument a u8 pointer. All users updated.
13336 Handle unaligned buffers.
13337
dc713193
VS
133382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13339
13340 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
13341 add_part to workaround compiler bug.
13342
30dd48c2
VS
133432011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13344
13345 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
13346
0c6087a8
VS
133472011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13348
13349 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
13350 Reserve alignment invariants.
13351 (grub_multiboot_load): Likewise.
13352 (retrieve_video_parameters): Likewise.
13353 (grub_multiboot_make_mbi): Likewise.
13354
c2e77777
VS
133552011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13356
13357 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
13358 incorrect pointer.
13359
b70b6d11
VS
133602011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13361
13362 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
13363 (grub_pata_pio_write): Likewise.
13364
02a2bf83
VS
133652011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13366
13367 Add noreturn attributes and remove unreachable code.
13368
13369 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
13370 code.
13371 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
13372 code. Mark as noreturn.
13373 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
13374 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
13375 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
13376 unreachable code.
13377 * grub-core/kern/main.c (grub_main): Mark as noreturn.
13378 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
13379 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
13380 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
13381 * include/grub/kernel.h (grub_main): Mark as noreturn.
13382 * include/grub/reader.h (grub_rescue_run): Likewise.
13383
2019d09e
VS
133842011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13385
13386 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
13387 redundant declaration.
13388
d1c501ee
VS
133892011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13390
13391 * include/grub/net.h (grub_net_network_level_interfaces): Remove
13392 redundant declaration.
13393 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
13394
61664420
VS
133952011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13396
13397 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
13398 to ensure alignment.
13399 (grub_hdparm_print_identify): Make argument uint16 * to ensure
13400 alignment. Ensure tmp alignment.
13401 (grub_cmd_hdparm): Ensure buf alignment.
13402 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
13403 to ensure alignment.
13404 (grub_ata_dumpinfo): Ensure text alignment.
13405 (grub_atapi_identify): Preserve alignment invariant.
13406 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
13407
0d51ee20
VS
134082011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13409
13410 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
13411 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
13412 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
13413 * include/grub/misc.h (grub_reboot)
13414 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
13415 (grub_halt) [__mips__]: Likewise.
13416
753ef8c1
VS
134172011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13418
13419 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
13420 Remove redundant declaration.
13421 (grub_mmap_get_post64): Likewise.
13422 (grub_mmap_get_upper): Likewise.
13423 (grub_mmap_get_lower): Likewise.
13424
85c85365
VS
134252011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13426
13427 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
13428 uint32_t * to ensure alignment.
13429 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
13430
a23f2cc4
VS
134312011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13432
93018f64
VS
13433 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
13434 uint16_t * to ensure alignment.
13435 (sun_pc_partition_map_iterate): Make `block' a union to ensure
13436 alignment.
13437
134382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13439
13440 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
13441 to ensure alignment.
13442 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
13443
58acccd6
VS
134442011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13445
13446 * grub-core/fs/ntfs.c (u16at): Make into inline function.
13447 Handle unaligned pointers.
13448 (u32at): Likewise.
13449 (u64at): Likewise.
13450 (fixup): Use byte access instead of v16at.
13451 (find_attr): Fix imporper usage of v32at.
13452 (read_data): Likewise.
13453 (list_file): Handle byte-swapping and unaligned strings.
13454 (grub_ntfs_label): Likewise.
13455
9b05cad7
VS
134562011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13457
13458 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
13459 as it's not necessarily aligned.
13460
b3950b84
VS
134612011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13462
13463 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
13464 redundant declaration.
13465 (grub_serial_init): Likewise.
13466 (grub_terminfo_init): Likewise.
13467
fcd232b7
VS
134682011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13469
13470 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
13471 function.
13472 (ZAP_HASH_IDX): Likewise.
13473 (ZAP_LEAF_HASH_SHIFT): Likewise.
13474 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
13475 (LEAF_HASH): Likewise.
13476 (ZAP_LEAF_NUMCHUNKS): Likewise.
13477 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
13478 alignment invariants. Return pointer. All users updated.
13479 (ZAP_LEAF_ENTRY): Make into inline function.
13480 (NBBY): Removed.
13481 (xor): LIkewise.
13482 (xor_out): Use grub_crypto_xor.
13483 (dnode_get_path): Use grub_get_unaligned.
13484 (nvlist_find_value): Likewise.
13485 (grub_zfs_nvlist_lookup_uint64): Likewise.
13486 (grub_zfs_nvlist_lookup_string): Likewise.
13487 (get_nvlist_size): Likewise.
13488 (grub_zfs_open): Likewise.
13489 (fill_fs_info): Likewise.
13490 (grub_zfs_dir): Likewise.
13491 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
13492 alignment invariants.
13493 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
13494 necessarily aligned.
13495
f138623a
VS
134962011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13497
13498 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
13499
564840dc
VS
135002011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13501
13502 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
13503 arithmetic to conserve alignment invariants.
13504
9b40df20
VS
135052011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13506
13507 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
13508 redundant declaration.
13509 (grub_efiemu_mm_obtain_request): Likewise.
13510 (grub_efiemu_prepare): Likewise.
13511
d1c930f9
VS
135122011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13513
13514 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
13515 to match types.
13516
4c5f3056
VS
135172011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13518
13519 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
13520 case of aunaligned recptr.
13521 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
13522 alignment.
13523 (grub_hfsplus_btree_search): Handle unaligned index.
13524
728cba91
VS
135252011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13526
13527 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
13528 to get freetag and skip.
13529
eb561f31
VS
135302011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13531
13532 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
13533 array.
13534 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
13535 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
13536
20993fbb
VS
135372011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13538
13539 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
13540 name for checksum and fix allocation algorithm.
13541
1f313b94
VS
135422011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13543
13544 * include/grub/types.h (grub_properly_aligned_t): New type.
13545 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
13546 (grub_get_unaligned16): Add explicit casts.
13547 (grub_get_unaligned32): Likewise.
13548 (grub_get_unaligned64): Likewise.
13549 (grub_set_unaligned16): New function.
13550 (grub_set_unaligned32): Likewise.
13551
47ae27ec
VS
135522011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13553
13554 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
13555
78c2cd1c
VS
135562011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13557
13558 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
13559 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
13560 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
13561
53072f9b
VS
135622011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13563
13564 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
13565 conditionals.
13566
055dc239
VS
135672011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13568
13569 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
13570 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
13571
496bd074
VS
135722011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13573
13574 Unify and improve RAID and crypto xor.
13575
13576 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
13577 changed to grub_crypto_xor
13578 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
13579 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
13580 Use bigger types when possible.
13581
ef6e4335
VS
135822011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13583
13584 * grub-core/disk/raid.c (scan_devices): Fix condition.
13585
5d048bf2
VS
135862011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13587
13588 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
13589 Make name a const ptr.
13590
ee533335
VS
135912011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13592
13593 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
13594 first argument a const pointer.
13595 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
13596 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
13597 proto.
13598 (grub_children_iterate): Likewise.
13599 (grub_machine_mmap_iterate): Remove redundant declaration.
13600
cc8f3668
VS
136012011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13602
13603 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
13604 (grub_cmd_acpi) [!x86]: Disable EBDA.
13605
c5fc563a
VS
136062011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13607
13608 Enable UTF8 in gnulib regexp.
13609
13610 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
13611 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
13612 (isupper): Use grub_isupper.
13613 (isascii): New inline function.
13614 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
13615 * grub-core/lib/posix_wrap/wctype.h: Likewise.
13616 * grub-core/normal/charset.c (grub_utf8_process): New function.
13617 (grub_utf8_to_utf16): Use grub_utf8_process.
13618 (grub_encode_utf8_character): New function.
13619 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
13620 * include/grub/charset.h (grub_utf8_process): New declaration.
13621 (grub_encode_utf8_character): Likewise.
13622 * include/grub/misc.h (grub_islower): New inline function.
13623 (grub_isupper): Likewise.
13624 (grub_strchrsub): Moved down to fix the definitions.
13625
0af2346f
VS
136262011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13627
13628 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
13629 specification.
13630
74dbd244
VS
136312011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13632
13633 * include/grub/loader.h (grub_loader_register_preboot_hook):
13634 Use struct preboot * and not void * for handle. All users updated.
13635 (grub_loader_unregister_preboot_hook): Likewise.
13636
1bc8f60d
VS
136372011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
13638
13639 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
13640 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
13641 UTF-16-BE. All users updated.
13642 (grub_hfsplus_cmp_catkey): Fix unicode handling.
13643 (grub_hfsplus_iterate_dir): Likewise.
13644 (grub_hfsplus_label): Likewise.
13645
48d6e456
VS
136462011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
13647
13648 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
13649
bf3a3857
VS
136502011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
13651
13652 Add missing const qualifiers.
13653
13654 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
13655 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
13656 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
13657 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
13658 (grub_lvm_check_flag): Likewise.
13659 * grub-core/efiemu/i386/coredetect.c
13660 (grub_efiemu_get_default_core_name): Likewise
13661 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
13662 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
13663 * grub-core/fs/ntfs.c (fixup): Likewise.
13664 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
13665 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
13666 (fzap_lookup): Likewise.
13667 (zap_lookup): Likewise.
13668 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
13669 * grub-core/lib/legacy_parse.c (check_option): Likewise.
13670 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
13671 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
13672 (grub_freebsd_add_meta_module): Likewise.
13673 (grub_cmd_freebsd_module): Likewise.
13674 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
13675 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
13676 (grub_xnu_writetree_get_size): Likewise.
13677 (grub_xnu_writetree_toheap_real): Likewise.
13678 (grub_xnu_find_key): Likewise.
13679 (grub_xnu_create_key): Likewise.
13680 (grub_xnu_create_value): Likewise.
13681 (grub_xnu_register_memory): Likewise.
13682 (grub_xnu_check_os_bundle_required): Likewise.
13683 (grub_xnu_scan_dir_for_kexts): Likewise.
13684 (grub_xnu_load_kext_from_dir): Likewise.
13685 * grub-core/normal/color.c (color_list): Likewise.
13686 * grub-core/normal/completion.c (current_word): Likewise.
13687 * grub-core/normal/menu_entry.c (insert_string): Likewise.
13688 * grub-core/term/serial.c (grub_serial_find): Likewise.
13689 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
13690 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
13691 Likewise.
13692 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
13693 (grub_freebsd_add_meta_module): Likewise.
13694 * include/grub/lib/arg.h (grub_arg_option): Likewise.
13695 * include/grub/net.h (grub_net_card_driver): Likewise.
13696 (grub_net_card): Likewise.
13697 (grub_net_app_protocol): Likewise.
13698 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
13699 * include/grub/serial.h (grub_serial_find): Likewise.
13700 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
13701 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
13702 (grub_xnu_create_value): Likewise.
13703 (grub_xnu_find_key): Likewise.
13704 (grub_xnu_scan_dir_for_kexts): Likewise.
13705 (grub_xnu_load_kext_from_dir): Likewise.
13706
13707 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
13708 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
13709 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
13710 Moved from here ...
13711 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
13712
112b4837
CW
137132011-11-28 Colin Watson <cjwatson@ubuntu.com>
13714
13715 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
13716
49e891ac
VS
137172011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
13718
13719 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
13720 (read_device): Fix size calculation.
13721
fd258e5c
RM
137222011-11-25 Robert Millan <rmh@gnu.org>
13723
13724 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
13725 (find_root_device_from_libzfs): Add zpool output parser to be used
13726 as fallback when libzfs isn't available.
13727
78845dc2
SG
137282011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
13729
13730 * po/Makefile.in.in: Add missing escape-continuation.
13731
adac5211
VS
137322011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
13733
13734 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
13735
10b64f1c
VS
137362011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13737
13738 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
13739
bb416954
VS
137402011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13741
13742 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
13743
bdfe9eeb
VS
137442011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13745
13746 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
13747
581ffa8a
VS
137482011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13749
13750 * grub-core/lib/adler32.c: Add missing license specification.
13751 * grub-core/lib/crc64.c: Likewise.
13752 * grub-core/loader/i386/pc/plan9.c: Likewise.
13753 * grub-core/partmap/plan.c: Likewise.
13754
2536cf64
LK
137552011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
13756
13757 Add facility to debug GRUB with gdb under qemu.
13758
13759 * grub-core/gdb_grub.in: New file.
13760 * grub-core/gmodule.pl.in: Likewise.
13761 * grub-core/Makefile.core.def (gmodule.pl): New script.
13762 (gdb_grub): Likewise.
13763
bc108a4a
VS
137642011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13765
13766 * util/grub-mount.c (argp_parser): Accept relative pathes.
13767 * util/grub-fstest.c (argp_parser): Likewise.
13768
111c1778
VS
137692011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13770
13771 Plan9 support.
13772
13773 * Makefile.util.def (libgrubmods): Add
13774 grub-core/partmap/plan.c.
13775 * docs/grub.texi: Notice Plan9 support.
13776 * grub-core/Makefile.core.def (plan9): New module.
13777 (part_plan): Likewise.
13778 * grub-core/loader/i386/pc/plan9.c: New file.
13779 * grub-core/partmap/plan.c: Likewise.
13780 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
13781 define.
13782 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
13783 * include/grub/mm.h (grub_extend_alloc): New inline function.
13784
c30be3b6
VS
137852011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13786
13787 Make Reed-Solomon faster by using power of generator representation of
13788 GF(256)*.
13789
13790 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
13791 (gf_double_t): Likewise.
13792 (gf_invert): Removed.
13793 (gf_powx): New array.
13794 (gf_powx_inv): Likewise.
13795 (scratch): Move higher.
13796 (gf_reduce): Removed.
13797 (gf_mul): Use powx.
13798 (gf_invert): Likewise.
13799 (init_inverts): Replaced with ...
13800 (init_powx): ...this. All users updated.
13801 (pol_evaluate): Replace multiplications with additions.
13802 (rs_encode): Likewise.
13803 (gauss_eliminate): Call gf_invert.
13804 (grub_reed_solomon_add_redundancy): Call init_powx.
13805 (grub_reed_solomon_recover): Call init_powx unconditionally.
13806
fa5aeffc
VS
138072011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13808
13809 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
13810
a346b81c
VS
138112011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13812
13813 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
13814 disk->partiton for safety.
13815
d89ee414
VS
138162011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13817
13818 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
13819 Fix a memory leak.
13820 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
13821
91ee7b6d
VS
138222011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13823
13824 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
13825
91e5a33d
VS
138262011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13827
13828 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
13829
9edd7be2
VS
138302011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13831
13832 Fix spaces handling in proc/self/mountinfo.
13833
13834 * util/getroot.c (unescape): New function.
13835 (grub_find_root_device_from_mountinfo): Use unescape.
13836
ba102053
VS
138372011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13838
13839 Support ZFS embedding.
13840
13841 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
13842 (grub_zfs_fs): Register grub_zfs_embed.
13843
aa94b870
VS
138442011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13845
13846 Fix MIPS compilation.
13847
13848 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
13849 * include/grub/offsets.h: Rename decompressor fields from
13850 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
13851 * util/grub-mkimage.c (image_targets): Use new names.
13852
5fbdac14
VS
138532011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13854
13855 Defer multiboot device parsing until we're in compressed part.
13856
13857 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
13858 bsd_part. setdevice has fallen into disuse.
13859 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
13860 (bsd_part): Likewise.
13861 (boot_dev): New variable.
13862 (multiboot_trampoline): Don't parse multiboot device.
13863 Pass multiboot device in %edx.
13864 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
13865 grub_boot_device.
13866 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
13867 Likewise.
13868 * grub-core/kern/i386/pc/startup.S: Save edx.
13869 (grub_boot_drive): Removed.
13870 (grub_install_dos_part): Likewise.
13871 (grub_install_bsd_part): Likewise.
13872 (grub_boot_device): New variable.
13873 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
13874 (grub_install_bsd_part): Likewise.
13875 (grub_boot_drive): Likewise.
13876 (grub_boot_device): New variable.
13877 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
13878 Removed.
13879 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
13880 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
13881 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
13882 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
13883 * util/grub-install.in: Remove redundant condition.
13884
691cbb58
VS
138852011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13886
13887 Fix bug introduced by previous commit.
13888
13889 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
13890
60240b8b
VS
138912011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13892
13893 Use decompressors framework on i386-pc. It increases core size
13894 by 46 bytes but improves compatibility and maintainability.
13895
13896 * grub-core/Makefile.core.def (lzma_decompress): New image.
13897 (kernel): Add i386_pc_ldflags.
13898 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
13899 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
13900 to real_to_prot, prot_to_real and device info.
13901 * include/grub/offsets.h: Renamed decompressor offsets.
13902 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
13903 (image_target_desc): Remove raw_size and rename decompressor fields.
13904 (compress_kernel): Handle lzma.
13905 (generate_image): Handle decompressors on i386-pc.
13906
e9d3421c
VS
139072011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13908
13909 * configure.ac: Add -fno-asynchronous-unwind-tables.
13910
2b23074a
VS
139112011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13912
13913 Move assembly code to C by using intwrap. It increases core size
13914 by 88 bytes but improves compatibility and maintainability.
13915
13916 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
13917 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
13918 ... here. Translated to C.
13919 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
13920 * grub-core/term/i386/pc/console.c (grub_console_getkey):
13921 ... here. Translated to C.
13922 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
13923 * grub-core/term/i386/pc/console.c (grub_console_getxy):
13924 ... here. Translated to C.
13925 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
13926 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
13927 ... here. Translated to C.
13928 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
13929 * grub-core/term/i386/pc/console.c (grub_console_cls):
13930 ... here. Translated to C.
13931 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
13932 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
13933 ... here. Translated to C.
13934 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
13935 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
13936 Translated to C.
13937 * grub-core/term/i386/pc/console.c (int10_9): New function.
13938 (grub_console_putchar): Likewise.
13939 * include/grub/i386/pc/console.h: Removed the not anymore shared
13940 functions.
13941
678f4b67
VS
139422011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13943
13944 Move grub_chainloader_real_boot out of the kernel.
13945
13946 * grub-core/Makefile.am: Remove machine/loader.h.
13947 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
13948 Removed.
13949 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
13950 variable.
13951 (grub_relocator16_keep_a20_enabled): Likewise.
13952 (grub_relocator16_boot): Fill new variables.
13953 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
13954 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
13955 relocator.
13956 (grub_chainloader_unload): Likewise.
13957 (grub_chainloader_cmd): Likewise.
13958 * include/grub/i386/pc/loader.h: Removed.
13959 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
13960 and esi. All initialisers updated.
13961
4626edf6
VS
139622011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
139632011-11-12 Colin Watson <cjwatson@ubuntu.com>
13964
13965 * Makefile.util.def (grub-mount): New util.
13966 * .bzrignore: Add grub-mount.
13967 * configure.ac: Check for fuse and enable grub-mount if available.
13968 * docs/man/grub-mount.h2m: New file.
13969 * util/grub-mount.c: Likewise.
13970
10f0117b
VS
139712011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13972
13973 * grub-core/commands/efi/fixvideo.c: Gettextize.
13974 * grub-core/commands/hashsum.c: Likewise.
13975 * grub-core/commands/i386/cmostest.c: Likewise.
13976 * grub-core/commands/i386/pc/drivemap.c: Likewise.
13977 * grub-core/commands/i386/pc/lsapm.c: Likewise.
13978 * grub-core/commands/i386/pc/sendkey.c: Likewise.
13979 * grub-core/commands/lsmmap.c: Likewise.
13980 * grub-core/commands/menuentry.c: Likewise.
13981 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
13982 * grub-core/commands/setpci.c: Likewise.
13983 * grub-core/loader/i386/bsd.c: Likewise.
13984 * grub-core/loader/i386/linux.c: Likewise.
13985 * util/getroot.c: Likewise.
13986 * util/grub-editenv.c: Likewise.
13987 * util/grub-fstest.c: Likewise.
13988 * util/grub-mkfont.c: Likewise.
13989 * util/grub-mkimage.c: Likewise.
13990 * util/grub-mkpasswd-pbkdf2.c: Likewise.
13991 * util/grub-pe2elf.c: Likewise.
13992 * util/grub-probe.c: Likewise.
13993 * util/grub-setup.c: Likewise.
13994 * util/ieee1275/ofpath.c: Likewise.
13995 * util/misc.c: Likewise.
13996 * util/raid.c: Likewise.
13997
566f779b
RM
139982011-11-11 Robert Millan <rmh@gnu.org>
13999
14000 * util/getroot.c (grub_util_get_geom_abstraction): Remove
14001 __attribute__((unused)) from `os_dev', which *is* being used.
14002
b50787de
VS
140032011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14004
14005 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
14006 forgotten define.
14007 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
14008 GRUB_IA64_DL_GOT_ALIGN.
14009 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
14010 GRUB_IA64_DL_TRAMP_ALIGN.
14011
119d11c8
VS
140122011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14013
14014 Replace grub_fatal with normal errors in i386 linux loader.
14015
14016 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
14017 (allocate_pages): Check find_efi_mmap_size return value.
14018 (grub_e820_add_region): Return error.
14019 (grub_linux_boot): Check mmap return value.
14020
6e0632e2
VS
140212011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14022
14023 * grub-core/commands/acpihalt.c: Gettextized.
14024 * grub-core/commands/cacheinfo.c: Likewise.
14025 * grub-core/commands/cmp.c: Likewise.
14026 * grub-core/commands/efi/loadbios.c: Likewise.
14027 * grub-core/commands/gptsync.c: Likewise.
14028 * grub-core/commands/ieee1275/suspend.c: Likewise.
14029 * grub-core/commands/legacycfg.c: Likewise.
14030 * grub-core/commands/memrw.c: Likewise.
14031 * grub-core/commands/minicmd.c: Likewise.
14032 * grub-core/commands/parttool.c: Likewise.
14033 * grub-core/commands/time.c: Likewise.
14034 * grub-core/commands/videoinfo.c: Likewise.
14035 * grub-core/disk/geli.c: Likewise.
14036 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
14037 * grub-core/disk/luks.c: Likewise.
14038 * grub-core/disk/lvm.c: Likewise.
14039 * grub-core/font/font_cmd.c: Likewise.
14040 * grub-core/fs/zfs/zfscrypt.c: Likewise.
14041 * grub-core/fs/zfs/zfsinfo.c: Likewise.
14042 * grub-core/gfxmenu/view.c: Likewise.
14043 * grub-core/kern/emu/hostdisk.c: Likewise.
14044 * grub-core/kern/emu/main.c: Likewise.
14045 * grub-core/kern/emu/misc.c: Likewise.
14046 * grub-core/kern/emu/mm.c: Likewise.
14047 * grub-core/kern/mips/arc/init.c: Likewise.
14048 * grub-core/kern/mips/loongson/init.c: Likewise.
14049 * grub-core/kern/partition.c: Likewise.
14050 * grub-core/lib/i386/halt.c: Likewise.
14051 * grub-core/lib/mips/arc/reboot.c: Likewise.
14052 * grub-core/lib/mips/loongson/reboot.c: Likewise.
14053 * grub-core/loader/i386/pc/chainloader.c: Likewise.
14054 * grub-core/loader/i386/xnu.c: Likewise.
14055 * grub-core/loader/multiboot.c: Likewise.
14056 * grub-core/net/bootp.c: Likewise.
14057 * grub-core/net/net.c: Likewise.
14058 * grub-core/normal/term.c: Likewise.
14059 * grub-core/partmap/bsdlabel.c: Likewise.
14060 * grub-core/parttool/msdospart.c: Likewise.
14061 * grub-core/term/gfxterm.c: Likewise.
14062 * grub-core/term/terminfo.c: Likewise.
14063 * grub-core/video/i386/pc/vbe.c: Likewise.
14064 * util/grub-menulst2cfg.c: Likewise.
14065 * util/grub-mkdevicemap.c: Likewise.
14066 * util/grub-mklayout.c: Likewise.
14067 * util/grub-mkrelpath.c: Likewise.
14068 * util/grub-script-check.c: Likewise.
14069 * util/ieee1275/grub-ofpathname.c: Likewise.
14070 * util/resolve.c: Likewise.
14071
073aa7a9
VS
140722011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14073
14074 Support %1$d syntax.
14075
14076 * tests/printf_unit_test.c: New file.
14077 * Makefile.util.def (printf_test): New test.
14078 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
14079
c76b5417
VS
140802011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14081
14082 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
14083 fix.
14084
df067ad1
VS
140852011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14086
14087 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
14088 dprintf.
14089 * grub-core/font/font.c (grub_font_load): Likewise.
14090
5b289bc5
VS
140912011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14092
14093 * util/grub-macho2img.c: Add comment concerning gettext.
14094 * grub-core/lib/legacy_parse.c: Likewise.
14095
c1860f87
VS
140962011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14097
14098 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
14099 (grub_xvasprintf): Likewise.
14100
d35d0d37
VS
141012011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14102
14103 Add const keyword to grub_env_get and gettextize week days.
14104
14105 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
14106 (grub_read_hook_datetime): Return const char *.
14107 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
14108 updated.
14109 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
14110 Mark for gettext.
14111 (grub_get_weekday_name): Return const char *. Call gettext.
14112 * grub-core/script/argv.c (grub_script_argv_append): Receive const
14113 char * and len as the argument. All users updated.
14114 (grub_script_argv_split_append): Receive const char *.
14115 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
14116 * include/grub/env.h (grub_env_get): Likewise.
14117 (grub_env_read_hook_t): Return const char *.
14118 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
14119 (grub_script_argv_split_append): Likewise.
14120
9aed8a71
VS
141212011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14122
14123 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
14124
067fdf00
VS
141252011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14126
14127 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
14128 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
14129
a8bd9d39
VS
141302011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14131
14132 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
14133 Fix prototype.
14134
f7ce5baf
VS
141352011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14136
14137 Fix mips compilation.
14138
14139 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
14140 normal decoder.
14141 (hashes): Use in embed decoder as well (for sizes).
14142 (dec_stream_header): Fix embed decompressor logic.
14143 (dec_stream_footer): Likewise.
14144
9bb182f3
VS
141452011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14146
14147 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
14148 an error and not a fatal on unrecognised relocation types.
14149
63a9e6f6
VS
141502011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14151
14152 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
14153 Issue error rather than printf on unknown arguments.
14154
4c458569
VS
141552011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14156
14157 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
14158 Make buf a const.
14159
e2d22baf
VS
141602011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14161
14162 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
14163 Fix module name.
14164
53dc8590
VS
141652011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14166
14167 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
14168 leftover debug printf.
14169
6c189294
VS
141702011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14171
14172 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
14173
f7688369
VS
141742011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14175
14176 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
14177 A stylistic fix.
14178
11a775a3
VS
141792011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14180
14181 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
14182
33f784e8
SL
141832011-11-10 Shea Levy <slevy@tieronedesign.com>
14184
14185 Allow all modules to perform serial IO
14186
14187 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
14188 * include/grub/serial.h (grub_serial_port_configure): New inline
14189 function.
14190 (grub_serial_port_fetch): Likewise.
14191 (grub_serial_port_put): Likewise.
14192 (grub_serial_port_fini): Likewise.
14193 (grub_serial_find): New proto.
14194
f6276525
VS
141952011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14196
14197 Put symlink at the end of the node and fix a potential
14198 memory corruption.
14199
14200 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
14201 Make symlink into an array.
14202 (set_rockridge): Set have_symlink and alloc_dirents.
14203 (grub_iso9660_read_symlink): Use new layout.
14204 (grub_iso9660_iterate_dir): Fix memory corruption.
14205 Use new layout.
14206 (grub_iso9660_dir): Set have_symlink.
14207 (grub_iso9660_open): Likewise.
14208
c3591189
VS
142092011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14210
14211 Remove local keyword.
14212
14213 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
14214 (version_test_gt): Likewise.
14215 (version_find_latest): Likewise.
14216 (gettext_printf): Likewise.
14217 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
14218
cb544caa
VS
142192011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14220
14221 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
14222
45bd824d
VS
142232011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14224
14225 Fix ZFS memory and resource leaks.
14226
14227 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
14228 All users updated.
14229 Free type on exit.
14230 (fill_vdev_info): New parameter inserted. All users updated.
14231 (check_pool_label): Likewise.
14232 (scan_disk): Likewise.
14233 (scan_devices): Close non-inserted disks.
14234 (fzap_iterate): Free l.
14235 (unmount_device): Free children descripto memory.
14236
ad9a2f44
VS
142372011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14238
14239 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
14240 argument (access out of bounds).
14241
6b68db81
VS
142422011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14243
14244 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
14245 >= 6 drives.
14246
28840fda
VS
142472011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14248
14249 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
14250 Fix declaration.
14251
8a5a3a5b
VS
142522011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14253
14254 Fix several memory leaks.
14255
14256 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
14257 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
14258 (grub_cpio_dir): Likewise.
14259 * grub-core/fs/fat.c (grub_fat_label): Likewise.
14260 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
14261 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
14262 (grub_romfs_label): Likewise.
14263 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
14264 (squash_unmount): New function.
14265 (grub_squash_dir): Fix memory leak.
14266 (grub_squash_open): Likewise.
14267 (grub_squash_read): Likewise.
14268 (grub_squash_mtime): Likewise.
14269 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
14270 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
14271 * util/grub-fstest.c (fstest): Likewise.
14272
57b01250
VS
142732011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14274
14275 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
14276 avoid accessing beyond the array.
14277
19e81ba7
VS
142782011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14279
14280 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
14281
52b656c0
VS
142822011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14283
14284 Several AFFS fixes.
14285
14286 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
14287 (GRUB_AFFS_FLAG_FFS): Removed.
14288 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
14289 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
14290 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
14291 (grub_fshelp_node): Make block 32-bit.
14292 Add block_cache and last_block_cache.
14293 (grub_affs_read_block): Fill and use block cache.
14294 (grub_affs_read_file): Removed.
14295 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
14296 boot block.
14297 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
14298 safety.
14299 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
14300 space.
14301 (grub_affs_close): Free block cache.
14302 (grub_affs_read): Use grub_fshelp_read_file directly.
14303
438a746a
VS
143042011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14305
14306 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
14307 with no error set.
14308
49a45021
VS
143092011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14310
14311 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
14312 used variable.
14313 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
14314 Likewise.
14315
3ae17eb8
VS
143162011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14317
14318 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
14319
14320 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
14321 byteswap when needed.
14322
27610c38
VS
143232011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14324
14325 Fix FreeBSD compilation.
14326
14327 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
14328 to avoid circular dependency.
14329 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
14330 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
14331 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
14332
4a19b601
VS
143332011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14334
14335 Fix ZFS crypto error types.
14336
14337 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
14338 (grub_gcm_decrypt): Likewise.
14339 (grub_zfs_load_key_real): Fix error code type. Handle possible error
14340 from PBKDF2.
14341
958ee221
VS
143422011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14343
14344 Illumos support.
14345
14346 * Makefile.util.def (10_illumos): New script.
14347 * configure.ac: Set COND_HOST_ILLUMOS.
14348 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
14349 Support Illumos calls.
14350 (find_partition_start) [__sun__]: Likewise.
14351 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
14352 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
14353 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
14354 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
14355 device.
14356 * util/grub-probe.c (probe) [__sun__]: Do character check.
14357 * util/grub.d/10_illumos.in: New file.
14358
cac14fb6
VS
143592011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14360
14361 Support escaped commas in hostdisk.
14362
14363 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
14364 (find_grub_drive): Use unescape_cmp.
14365 (make_device_name): Escape commas.
14366
78e08dc3
VS
143672011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14368
14369 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
14370
9f421dd1
VS
143712011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14372
14373 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
14374 variable.
14375
ed64e9e2
VS
143762011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14377
14378 Support trampoline jumps on powerpc.
14379
14380 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
14381 __ia64__ path.
14382 (grub_dl_load_segments): Set mod->sz.
14383 (grub_dl_flush_cache): Flush whole space occupied by module, not just
14384 segments.
14385 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
14386 (jump): Likewise.
14387 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
14388 function.
14389 (trampoline): New struct.
14390 (trampoline_template): New const.
14391 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
14392 * include/grub/dl.h (grub_dl): Add sz element.
14393 [__powerpc__]: Follow __ia64__.
14394 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
14395 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
14396 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
14397 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
14398
3084ede4
VS
143992011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
14400
14401 ZFS crypto support.
14402
14403 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
14404 * grub-core/Makefile.core.def (zfscrypt): New module.
14405 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
14406 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
14407 it. All users updated.
14408 (grub_zfs_decrypt): New var.
14409 (grub_zfs_load_key): Likewise.
14410 (zio_checksum_functions): Add SHA256+MAC.
14411 (zio_checksum_verify): Handle incomplete comparison due to MAC.
14412 (zio_read): Handle encrypted blocks.
14413 (zap_verify): Remove incorrect check.
14414 (fzap_iterate): Handle non-standard fzap.
14415 (zap_iterate): Likewise.
14416 (zap_iterate_u64): New function.
14417 (dnode_get_fullpath): Load keys.
14418 * grub-core/fs/zfs/zfscrypt.c: New file.
14419 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
14420 (grub_crypto_ecb_encrypt): Make input const.
14421 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
14422 (grub_crypto_ecb_encrypt): Make input const.
14423 (GRUB_CIPHER_AES): New macro.
14424 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
14425 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
14426 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
14427 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
14428 prefix. All users updated.
14429 (grub_zfs_add_key): New proto.
14430 (grub_zfs_decrypt): Likewise.
14431 (grub_zfs_load_key): Likewise.
14432 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
14433 * util/grub-fstest.c (options): Add -K option.
14434 (argp_parser): Likewise.
14435
b632b404
VS
144362011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
14437
14438 Support zle compression on ZFS.
14439
14440 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
14441 (decomp_table): Add zle.
14442 * include/grub/zfs/zio.h (zio_compress): Add zle.
14443
c7ba4f69
VS
144442011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
14445
14446 Support BtrFS embedding.
14447
14448 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
14449 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
14450 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
14451 * util/grub-setup.c (setup): Use fs embedding if available.
14452 Add additional sanity check.
14453
455377d9
VS
144542011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
14455
14456 * util/grub-install.in: Fix condition for config_opt.
14457
c2fd16ca
VS
144582011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14459
14460 Support third redundancy strip on raidz3.
14461
14462 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
14463 Return error on singularity. All users updated.
14464 (read_device): Don't stop on 3rd failure on raidz3.
14465
8622923b
VS
144662011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14467
14468 Support case-insensitive ZFS subvolumes.
14469
14470 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
14471 All users updated.
14472 (zap_hash): Likewise.
14473 (name_cmp): New function.
14474 (zap_leaf_array_equal): New parameter case_insensitive.
14475 All users updated.
14476 (zap_leaf_lookup): Likewise.
14477 (fzap_lookup): Likewise.
14478 (zap_lookup): Likewise.
14479 (dnode_get_path): New parameter case_insensitive. Retrieve case
14480 sensitiviness of a volume. All users updated.
14481 (dnode_get_fullpath): New parameter case_insensitive.
14482 All users updated.
14483 (grub_zfs_dir): Set info.case_insensitiveness.
14484
95f2e860
VS
144852011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14486
14487 Support second redundancy strip on raidz(2,3).
14488
14489 * grub-core/fs/zfs/zfs.c (powx): New array.
14490 (powx_inv): Likewise.
14491 (poly): New const.
14492 (xor_out): New function.
14493 (gf_mul): Likewise.
14494 (recovery): Likewise.
14495 (read_device): Use second redundancy strip.
14496
11ee4389
VS
144972011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14498
14499 Use a power of generator representation of GF(256) multiplication group
14500 to save space time and complexity.
14501
14502 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
14503 (raid6_table2): Likewise.
14504 (powx): New array.
14505 (powx_inv): Likewise.
14506 (poly): New const.
14507 (grub_raid_block_mul): Replace with ...
14508 (grub_raid_block_mulx): ...this.
14509 (grub_raid6_init_table): Rewritten.
14510 (grub_raid6_recover): Use power of generator representation.
14511
09e2763f
VS
145122011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14513
14514 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
14515 for the right device.
14516
8bec9a28
VS
145172011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14518
14519 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
14520 expected by grub-mkimage and it's more clear since there is no implicit
14521 padding.
14522
dbd3a32e
VS
145232011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14524
14525 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
14526 disk.
14527 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
14528
182c872a
PMH
145292011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
14530
14531 * util/grub-mkrescue.in: Fix handling xorriso option.
14532
1e51cabd
VS
145332011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14534
14535 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
14536 NULL.
14537
9cc3581d 145382011-11-03 crocket <crockabiscuit@gmail.com>
14539
14540 * util/grub.d/10_linux.in: Add Slackware initrd naming.
14541
158dc1ea
VS
145422011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14543
14544 XZ CRC64 and SHA256 support.
14545
14546 * Makefile.util.def (libgrubmods): Add crc64.c.
14547 * grub-core/Makefile.core.def (crc64): New module.
14548 * grub-core/lib/crc64.c: New file.
14549 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
14550 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
14551 Fix the type.
14552 (MAX_HASH_SIZE): New define.
14553 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
14554 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
14555 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
14556 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
14557 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
14558 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
14559 Handle non-crc32 hashes.
14560 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
14561 (dec_stream_header): Handle non-crc32 hashes.
14562 (dec_stream_footer): Likewise.
14563 (dec_block_header): Likewise.
14564 (dec_main): Likewise.
14565 (xz_dec_init): Likewise.
14566 (xz_dec_reset): Likewise.
14567 (xz_dec_end): Likewise.
14568 * util/import_gcry.py: Add CRC64 line.
14569
9d9b3d2f
VS
145702011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14571
14572 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
14573 as well.
14574
7d0ac931
VS
145752011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14576
14577 Make reiserfs label retrieval similar to other *_label functions.
14578
14579 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
14580 (REISERFS_MAX_LABEL_LENGTH): Removed.
14581 (REISERFS_LABEL_OFFSET): Likewise.
14582 (grub_reiserfs_label): Rewritten.
14583
145842011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14585
14586 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
14587 field.
14588
cf5ba824
VS
145892011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14590
14591 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
14592
17744004
VS
145932011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
14594
14595 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
14596 drive failure on both raidz and raidz2.
14597
aca5aefc
VS
145982011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
14599
14600 Fix RAIDZ(2) for >= 5 devices.
14601
14602 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
14603 asize argument. All users updated.
14604
ce8ca56e
VS
146052011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14606
14607 Fix RAIDZ(2).
14608
14609 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
14610 (fill_vdev_info_real): Set ashift.
14611 (read_device): Rewrite RAIDZ part based on reverse engineering.
14612
7c01e783
VS
146132011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
14614
14615 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
14616 don't report potentially unavialiable fields in debug output.
14617 (find_path): Fix double-free and memory leak.
14618
ce109e84
VS
146192011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
14620
14621 Read label on UFS1.
14622
14623 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
14624 (grub_ufs_fs): Always set .label.
14625
87661123
VS
146262011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
14627
14628 Use shifts in UFS.
14629
14630 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
14631 (grub_ufs_data): New field log2_blksz.
14632 (grub_ufs_read_file): Use shifts.
14633 (grub_ufs_mount): Check block size and logarithm it.
14634
46bc1dc2
VS
146352011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
14636
14637 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
14638 long symlinks.
14639
19ee2987
VS
146402011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14641
14642 Handle symlinks and long names on tar and cpio.
14643
14644 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
14645 (ATTR_FILE): Likewise.
14646 (ATTR_DIR): Likewise.
14647 (ATTR_LNK): Likewise.
14648 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
14649 (grub_cpio_find_file): Fill mode, handle linkname field as well as
14650 L and K entries.
14651 (grub_cpio_mount): Zero-fill data.
14652 (handle_symlink): New function.
46bc1dc2
VS
14653 (grub_cpio_dir): Handle symlinks.
14654 (grub_cpio_open): Likewise.
14655 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 14656
c83a08d8
VS
146572011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14658
14659 Fix iso9660 filename limitations and fix memory leaks.
14660
14661 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
14662 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
14663
45cdd3ea
VS
146642011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14665
14666 Fix JFS file name length limitations.
14667
14668 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
14669 (grub_jfs_diropen): Fix maximum filename length.
14670 (grub_jfs_getent): Fix filename length.
14671 (grub_jfs_lookup_symlink): Fix size checks.
14672
94ef05c2
VS
146732011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14674
14675 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
14676 string.
14677
785ab8c7
VS
146782011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14679
eb0b6b45
VS
14680 Leverage BFS implementation to read AFS.
14681
14682 * Makefile.util.def (libgrubmods): Add afs.c.
14683 * grub-core/Makefile.core.def (afs): New module
14684 * grub-core/fs/afs.c: New file.
14685 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
14686
146872011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14688
14689 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 14690
c4a1628f
VS
146912011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14692
14693 * grub-core/fs/bfs.c: Run indent.
14694
5825b379
VS
146952011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14696
14697 BFS implementation based on the specification.
14698
14699 * grub-core/fs/bfs.c: New file.
14700 * Makefile.util.def (libgrubmods): Add bfs.c.
14701 * grub-core/Makefile.core.def (bfs): New module.
14702
42b2a706
VS
147032011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14704
14705 * util/grub-fstest.c (cmd_cp): Clarify error message.
14706 (cmd_cmp): Likewise.
14707
61b99bfc
YB
147082011-10-30 Yves Blusseau <blusseau@zetam.org>
14709
14710 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
14711 and befs_be.
14712
faba3d16
VS
147132011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
14714
14715 Remove afs and befs because of copyright problem.
14716
14717 * grub-core/fs/afs.c: Removed.
14718 * grub-core/fs/afs_be.c: Removed.
14719 * grub-core/fs/befs.c: Removed.
14720 * grub-core/fs/befs_be.c: Removed.
14721 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
14722 * grub-core/Makefile.core.def (afs): Removed.
14723 (afs_be): Likewise.
14724 (befs): Likewise.
14725 (befs_be): Likewise.
14726
c39224b0
VS
147272011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
14728
14729 Prefer rockridge over Joliet.
14730
14731 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
14732 to ...
14733 (set_rockridge): ... here.
14734 (grub_iso9660_mount): Check rockridge on the primary label when
14735 discovering. Ignore Joliet if Rockridge is present.
14736
e551115a
VS
147372011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
14738
14739 Use shifts in nilfs2.
14740
14741 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
14742 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
14743 (grub_nilfs2_palloc_entries_per_group): Replace with ...
14744 (grub_nilfs2_log_palloc_entries_per_group): ... this.
14745 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
14746 (grub_nilfs2_entries_per_block): Replaced with ...
14747 (grub_nilfs2_log_entries_per_block_log): ... this.
14748 (grub_nilfs2_blocks_per_group): Replaced with ...
14749 (grub_nilfs2_blocks_per_group_log): ... this.
14750 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
14751 (grub_nilfs2_blocks_per_desc_block_log): ... this.
14752 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
14753 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
14754 (grub_nilfs2_palloc_entry_offset): Replaced ...
14755 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
14756 (grub_nilfs2_dat_translate): Use shifts.
14757 (grub_nilfs2_read_inode): Likewise.
14758 (GRUB_MOD_INIT): Ensure that logs are correct.
14759
564dd58c
VS
147602011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
14761
14762 Use shifts in minix filesystem.
14763
14764 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
14765 (GRUB_MINIX_ZONE2SECT): Likewise.
14766 (grub_minix_data): Replace block_size with log_block_size.
14767 (grub_minix_read_file): Use shifts.
14768 (grub_minix_mount): Check block size and take a logarithm.
14769
ed9ba06d
VS
147702011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
14771
14772 Use shifts in squash4.
14773
14774 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
14775 (squash_mount): Check block size and take logarithm.
14776 (direct_read): Use shifts.
14777
ad03fe76
VS
147782011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
14779
14780 Correct befs block counting logic.
14781
14782 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
14783 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
14784 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
14785 (grub_afs_read_inode): Use block_shift.
14786 (RANGE_SHIFT): New definition.
14787 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
14788 unexpected conditions, use shifts and appropriate types.
14789 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
14790
6563f63d
VS
147912011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
14792
14793 * grub-core/disk/raid.c (scan_devices): Check partition.
14794 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
14795
5b1ae25f
VS
147962011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
14797
14798 Support BFS (befs) UUID.
14799
14800 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
14801 (grub_afs_small_data_element_header): New struct.
14802 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
14803 (grub_afs_read_attribute) [MODE_BFS]: New function.
14804 (grub_afs_iterate_dir): Allocate for complete inode.
14805 (grub_afs_mount): Likewise.
14806 (grub_afs_uuid) [MODE_BFS]: New function.
14807 (grub_afs_fs) [MODE_BFS]: Add .uuid.
14808
f8d82408
VS
148092011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
14810
14811 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
14812 (zfs_unmount): Fix memory leak.
14813
5773fb64
VS
148142011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14815
14816 Support NTFS reparse points.
14817
14818 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
14819 (symlink_descriptor): New struct.
14820 (grub_ntfs_read_symlink): New function.
14821 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
14822 (grub_ntfs_open): Likewise.
14823
91c3fdde
VS
148242011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14825
14826 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
14827
3be82e10
VS
148282011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14829
14830 fstest xnu_uuid subcommand.
14831
14832 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
14833 grub-core/commands/xnu_uuid.c.
14834 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
14835 (fstest): Handle xnu_uuid.
14836 (options): Document xnu_uuid.
14837 (argp_parser): Parse xnu_uuid.
14838
8e32442e
VS
148392011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14840
14841 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
14842 -l argument. Add newline at the end if printing.
14843 (GRUB_MOD_INIT): Document -l.
14844
52a05075
VS
148452011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14846
14847 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
14848
1869edb5
VS
148492011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14850
14851 ZFS multi-device and version 33 support.
14852
14853 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
14854 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
14855 (grub_zfs_data): Add multidev-ice-related fields.
14856 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
14857 (dva_get_offset): Make dva const.
14858 (zfs_fetch_nvlist): New function.
14859 (fill_vdev_info_real): Likewise.
14860 (fill_vdev_info): Likewise.
14861 (check_pool_label): Likewise.
14862 (scan_disk): Likewise.
14863 (scan_devices): Likewise.
14864 (read_device): Likewise.
14865 (read_dva): Likewise.
14866 (zio_read_gang): Use read_dva.
14867 (zio_read_data): Likewise.
14868 (zap_leaf_lookup): Add missing endian conversion.
14869 (zap_verify): Add missing endian conversion. All users updated.
14870 (fzap_lookup): Likewise.
14871 (fzap_iterate): Likewise.
14872 (dnode_get_path): Handle SA bonus.
14873 (nvlist_find_value): Make input const. All users updated.
14874 (unmount_device): New function.
14875 (zfs_unmount): Use unmount_device.
14876 (zfs_mount): Use scan_disk.
14877 (zfs_mtime): New function.
14878 (grub_zfs_open): Handle system attributes.
14879 (fill_fs_info): Likewise.
14880 (grub_zfs_dir): Likewise.
14881 (grub_zfs_fs): Add mtime.
14882 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
14883 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
14884 (SA_MTIME_OFFSET): Likewise.
14885 (SA_SYMLINK_OFFSET): Likewise.
14886 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
14887 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
14888 (fstest): Support zfsinfo.
14889 (argp_parser): Likewise.
14890
186b4028
VS
148912011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14892
14893 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
14894 error.
14895
148962011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
14897
14898 ZFS fixes.
14899
14900 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
14901 sharing the same block. Iterate over correct number of indices.
14902 (dnode_get_path): Handle symlinks correctly.
14903
c0584900
VS
149042011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
14905
14906 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
14907
67e2bd71
VS
149082011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
14909
14910 Read label on HFS+.
14911
14912 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
14913 (grub_hfsplus_btree_search): Fix types.
14914 (grub_hfsplus_label): Implement.
14915
e9cc6b7b
VS
149162011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
14917
14918 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
14919
19832ddb
VS
149202011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
14921
14922 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
14923
66b40850
VS
149242011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
14925
14926 Fix symlink handling on iso9660.
14927
14928 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
14929 All users updated.
14930 (grub_iso9660_susp_iterate): Accept zero-size iterate.
14931 (grub_iso9660_read_symlink): Moved most of code ...
14932 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
14933
db821363
VS
149342011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
14935
14936 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
14937 Use union to avoid breaking strict-aliasing rules.
14938
e1211949
VS
149392011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
14940
14941 Support multi-extent iso files.
14942
14943 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
14944 Add node.
14945 (grub_fshelp_node): Revamp. All users updated.
14946 (FLAG_*): New enum.
14947 (read_node): New function.
14948 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
14949 All users updated.
14950 (grub_iso9660_mount): Don't attempt to read sua when there is none.
14951 (get_node_size): New function.
14952 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
14953 entries.
14954 Fix memory leak on . and ..
14955 (grub_iso9660_read): Use read_node.
14956 (grub_iso9660_close): Free node.
14957
d4888031
VS
149582011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
14959
14960 Fix tar 4G limit and handle paths containing dot.
14961
14962 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
14963 (canonicalize): New function.
14964 (grub_cpio_find_file): Use canonicalize. Store offs in
14965 grub_disk_addr_t.
14966 (grub_cpio_dir): Use grub_disk_addr_t.
14967 (grub_cpio_open): Likewise.
14968
9f12e664
VS
149692011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
14970
14971 Fix handling of uncompressed blocks on squashfs and break 4G limit.
14972
14973 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
14974 unused flags.
14975 (grub_squash_inode): Add long_file and block_size.
14976 (grub_squash_cache_inode): New struct.
14977 (grub_squash_dirent): Make types into enum.
14978 (SQUASH_TYPE_LONG_REGULAR): New type.
14979 (grub_squash_frag_desc): Add field size.
14980 (SQUASH_BLOCK_FLAGS): New enum.
14981 (grub_squash_data): Use grub_squash_cache_inode.
14982 (grub_fshelp_node): Make ino_chunk 64-bit.
14983 (read_chunk): Minor argument change. All users updated.
14984 (squash_mount): Use correct le_to_cpu.
14985 (grub_squash_open): Handle LONG_REGULAR.
14986 (direct_read): New function.
14987 (grub_squash_read_data): Handle blocks correctly.
14988
9f326fba
VS
149892011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
14990
14991 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
14992
f4d9b64b
VS
149932011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
14994
14995 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
14996
5bbd28b8
VS
149972011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
14998
14999 Fix 2G limit on ZFS.
15000
15001 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
15002 types.
15003 (uberblock_verify): Likewise.
15004 (dmu_read): Likewise.
15005 (grub_zfs_read): Likewise. Remove invalid cast.
15006
68c72069
VS
150072011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
15008
15009 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
15010 (grub_jfs_blkno): Fix incorrect shift.
15011 (grub_jfs_read_file): Use more appropriate types.
15012
6e536dc8
VS
150132011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
15014
15015 Support triple indirect on minix2 and minix3.
15016
15017 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
15018 Declare triple_indir_zone.
15019 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
15020 indirect.
15021
e0864e7a
VS
150222011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
15023
15024 Minix FS fixes.
15025
15026 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
15027 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
15028 Rename ctime to mtime. All users updated.
15029 (grub_minix_get_file_block): Fix types and double indirect computations.
15030
89481cab
VS
150312011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15032
15033 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
15034 if no label is found.
15035 (grub_fat_iterate_dir): Fix file size type.
15036 (grub_fat_iterate_dir): Likewise.
15037
f646e143
VS
150382011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15039
15040 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
15041 save some space.
15042 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
15043 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
15044
534d769e
VS
150452011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15046
15047 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
15048
e084ba18
VS
150492011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15050
15051 * util/import_gcry.py: Accept space between # and include.
15052
3471ecdf
VS
150532011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15054
15055 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
15056
124df5f6
VS
150572011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15058
15059 Fine grainely disable warnings on lexer. Remove Wno-error on it.
15060
15061 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
15062 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
15063 yylex_strncpy.
15064 * grub-core/script/yylex.l: Add fine-grained #pragma.
15065
4defb8d5
VS
150662011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15067
15068 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
15069 New inline function.
15070 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
15071 Likewise.
15072 (memset) [GRUB_UTIL]: Likewise.
15073 (memcmp) [GRUB_UTIL]: Likewise.
15074
4e94ae65
VS
150752011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15076
15077 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
15078 inline function rather than a define.
15079
18c575e5
VS
150802011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15081
15082 * util/grub-setup.c: Add missing include.
15083
f8bc22a8
VS
150842011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15085
15086 * util/ieee1275/grub-ofpathname.c: Add missing include.
15087
3ce69fc9
VS
150882011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15089
15090 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
15091 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
15092 Likewise.
15093
d1e293bb
VS
150942011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15095
15096 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
15097 grub_memcmp usage.
15098
7a5c54a4
VS
150992011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15100
15101 * util/grub-install.in: Add datarootdir as per automake manual
15102 suggestion.
15103 * util/grub-mknetdir.in: Likewise.
15104
151052011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
15106
15107 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
15108 suggestion.
15109 * util/grub.d/10_kfreebsd.in: Likewise.
15110 * util/grub.d/10_linux.in: Likewise.
15111 * util/grub.d/10_netbsd.in: Likewise.
15112 * util/grub.d/10_windows.in: Likewise.
15113 * util/grub.d/20_linux_xen.in: Likewise.
15114
766f7d08
VS
151152011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
15116
15117 Remove redundant grub_kernel_image_size.
15118
15119 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
15120 _edata and _start.
15121 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
15122 the small code. It moves it only by few bytes but simplifies the code.
15123 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
15124 _start.
15125 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
15126 (grub_kernel_image_size): Removed.
15127 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
15128 (grub_kernel_image_size): Removed.
15129 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
15130 compiled with Apple toolchain.
15131 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
15132 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
15133 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
15134 (grub_total_module_size): Likewise.
15135 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
15136 Removed.
15137 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
15138 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
15139 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
15140 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
15141 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
15142 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
15143 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
15144 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
15145 Removed.
15146 (grub_total_module_size): Removed.
15147 * util/grub-mkimage.c (image_target_desc): Remove image_size.
15148 (image_targets): Likewise.
15149 Set .compressed_size to no field on sparc.
15150 (generate_image): Remove kernel_image_size handling.
15151
fcf1d672
SJ
151522011-10-19 Szymon Janc <szymon@janc.net.pl>
15153
15154 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
15155 NULL pointer dereference.
15156
de9c615e
VS
151572011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15158
15159 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
15160 done with a dedicated section.
15161
15162 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
15163 Ensure the correct position of boot_path.
15164 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
15165 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
15166 other fields.
15167 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
15168 * include/grub/boot.h: Removed. All references removed.
15169 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
15170 Removed.
15171 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
15172
e55599dc
VS
151732011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15174
15175 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
15176 name.
15177
36dd20ad
VS
151782011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15179
15180 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
15181
f8f72eb8
VS
151822011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15183
15184 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
15185 Don't add the bogus brackets.
15186
a374751b
VS
151872011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15188
15189 ExFAT support.
15190
15191 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
15192 * grub-core/Makefile.core.def (exfat): New module.
15193 * grub-core/fs/exfat.c: New file.
15194 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
15195 (GRUB_FAT_ATTR_*): Make into an enum.
15196 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
15197 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
15198 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
15199 (GRUB_FAT_MAXFILE): Removed.
15200 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
15201 (grub_current_fat_bpb_t): New type.
15202 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
15203 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
15204 (grub_fat_dir_node_t): New type.
15205 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
15206 (fat_log2) [MODE_EXFAT]: Removed.
15207 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
15208 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
15209 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
15210 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
15211 (grub_fat_label) [MODE_EXFAT]: New function.
15212 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
15213 reserved_first_sector to 0.
15214
544c2487
VS
152152011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15216
15217 Move grub_reboot out of the kernel.
15218
15219 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
15220 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
15221 * grub-core/lib/efi/reboot.c: ... here.
15222 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
15223 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
15224 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
15225 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
15226 * grub-core/lib/i386/reboot_trampoline.S: ... here.
15227 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
15228 * grub-core/lib/ieee1275/reboot.c: ... here.
15229 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
15230 * grub-core/lib/mips/arc/reboot.c: ... here.
15231 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
15232 * grub-core/lib/mips/loongson/reboot.c: ...here.
15233 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
15234 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
15235 * include/grub/emu/misc.h (grub_reboot): New function declaration.
15236 * include/grub/i386/reboot.h: New file.
15237 * include/grub/mips/loongson/ec.h: Fix includes.
15238 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
15239 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
15240 * grub-core/lib/i386/reboot.c: New file.
15241
a97501d2
VS
152422011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
15243
15244 Make grub_prefix into module to fix the arbitrary limit and save
15245 some space.
15246
15247 * grub-core/kern/emu/main.c (grub_prefix): Removed.
15248 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
15249 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
15250 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
15251 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
15252 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
15253 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
15254 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
15255 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
15256 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
15257 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
15258 * include/grub/ia64/efi/kernel.h: Removed.
15259 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
15260 (grub_prefix): Removed.
15261 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
15262 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
15263 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
15264 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
15265 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
15266 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
15267 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
15268 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
15269 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
15270 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
15271 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
15272 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
15273 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
15274 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
15275 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
15276 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
15277 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
15278 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
15279 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
15280 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
15281 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
15282 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
15283 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
15284 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
15285 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
15286 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
15287 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
15288 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
15289 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
15290 from module.
15291 * util/grub-mkimage.c (image_target_desc): Removed prefix and
15292 prefix_end.
15293 (image_targets): Likewise.
15294 (generate_image): Put prefix as a module.
15295
39705fad
VS
152962011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15297
15298 Replace grub_module_iterate with FOR_MODULES.
15299
15300 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
15301 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
15302 (grub_efi_modules_addr): ...this.
15303 * grub-core/kern/efi/init.c (grub_modbase): New variable.
15304 (grub_efi_init): Set grub_modbase.
15305 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
15306 (grub_modbase): New variable.
15307 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
15308 (grub_modbase): New variable.
15309 (grub_machine_init): Set grub_modbase.
15310 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
15311 (grub_modbase): New variable.
15312 (grub_machine_init): Set grub_modbase.
15313 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
15314 (grub_modbase): New variable.
15315 (grub_machine_init): Set grub_modbase.
15316 * grub-core/kern/main.c (grub_module_iterate): Remove.
15317 (grub_modules_get_end): Use grub_modbase.
15318 (grub_load_modules): Use FOR_MODULES.
15319 (grub_load_config): Likewise.
15320 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
15321 (grub_modbase): New variable.
15322 (grub_machine_init): Set grub_modbase.
15323 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
15324 (grub_modbase): New variable.
15325 (grub_machine_init): Set grub_modbase.
15326 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
15327 Removed.
15328 (grub_modbase): New variable.
15329 (grub_machine_init): Set grub_modbase.
15330 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
15331 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
15332 (grub_module_iterate): Likewise.
15333 (grub_modbase): New variable declaration.
15334 (FOR_MODULES): New macro.
15335
2afb7f6c
VS
153362011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15337
15338 * configure.ac: Check for __ctzdi2 and __ctzsi2.
15339 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
15340
366e34fa
VS
153412011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15342
15343 Fix few obvious type discrepancies.
15344
15345 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
15346 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
15347 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
15348 variable.
15349 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
15350 and connected types.
15351 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
15352 offset.
15353 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
15354 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
15355 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
15356 and connected types.
15357
177b960e
VS
153582011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15359
15360 Fix python 3.x incompatibilities.
15361
15362 * gentpl.py: Put brackets around print strings.
15363 * util/import_gcry.py: Open explicitly as utf-8.
15364 Use in instead of has_key.
15365
3b619ae1
VS
153662011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15367
15368 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
15369 (GRUB_XFS_INO_AGBITS): Make into inline function.
15370 (GRUB_XFS_INO_INOINAG): Likewise.
15371 (GRUB_XFS_INO_AG): Likewise.
15372 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
15373 (GRUB_XFS_EXTENT_OFFSET): Likewise.
15374 (GRUB_XFS_EXTENT_BLOCK): Likewise.
15375 (GRUB_XFS_EXTENT_SIZE): Likewise.
15376 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
15377 (GRUB_XFS_NEXT_DIRENT): Likewise.
15378 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
15379 (grub_xfs_read_file): Fix offset type.
15380
8bcebcb8
RM
153812011-10-15 Robert Millan <rmh@gnu.org>
15382
15383 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
15384
0017e5ef
RM
153852011-10-15 Robert Millan <rmh@gnu.org>
15386
15387 Fix build problem on FreeBSD and GNU/kFreeBSD.
15388
15389 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
15390
d8919552
VS
153912011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
15392
15393 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
15394
15395 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
15396 types.
15397 (grub_hfsplus_btree_recoffset): Likewise.
15398 (grub_hfsplus_btree_recptr): Likewise.
15399 (grub_hfsplus_find_block): Likewise.
15400 (grub_hfsplus_btree_search): Likewise.
15401 (grub_hfsplus_read_block): Likewise.
15402 (grub_hfsplus_read_file): Likewise.
15403 (grub_hfsplus_mount): Likewise.
15404 (grub_hfsplus_btree_iterate_node): Likewise.
15405 (grub_hfsplus_btree_search): Likewise.
15406 (grub_hfsplus_iterate_dir): Likewise.
15407 (grub_hfsplus_read): A small code simplification.
15408
c81296b6
VS
154092011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
15410
15411 * grub-core/kern/emu/hostdisk.c
15412 (convert_system_partition_to_system_disk): Don't assume that children
15413 of mapper nodes are mapper nodes.
15414
0eb8ffb1
VS
154152011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
15416
15417 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
15418 * include/grub/misc.h (grub_isxdigit): New function.
15419 * grub-core/video/colors.c (my_isxdigit): Removed. All users
15420 switched to grub_isxdigit.
15421 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
15422 number starting with a letter.
15423
a98f4a08
RM
154242011-10-09 Robert Millan <rmh@gnu.org>
15425
15426 LVM support for FreeBSD and GNU/kFreeBSD.
15427
15428 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
15429 GNU/kFreeBSD.
15430 (LVM_DEV_MAPPER_STRING): Move from here ...
15431 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
15432 * util/getroot.c: Include `<grub/util/lvm.h>'.
15433 (grub_util_get_dev_abstraction): Enable
15434 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
15435 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
15436 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
15437 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
15438 support it.
15439 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
15440 GNU/kFreeBSD.
15441 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
15442 when LVM abstraction is required for ${GRUB_DEVICE}.
15443
050e8e90
SJ
154442011-10-06 Szymon Janc <szymon@janc.net.pl>
15445
15446 Add support for LZO compression in GRUB:
15447 - import of minilzo library,
15448 - LZO decompression for btrfs,
15449 - lzop files decompression.
15450
15451 * grub-core/io/lzopio.c: New file.
15452 * grub-core/lib/adler32.c: Likewise.
15453 * grub-core/lib/minilzo/lzoconf.h: Likewise.
15454 * grub-core/lib/minilzo/lzodefs.h: Likewise.
15455 * grub-core/lib/minilzo/minilzo.c: Likewise.
15456 * grub-core/lib/minilzo/minilzo.h: Likewise.
15457 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
15458 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
15459 grub-core/lib/minilzo/minilzo.c to common.
15460 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
15461 cflags in cppflags.
15462 * grub-core/Makefile.core.def (btrfs): Likewise.
15463 * grub-core/Makefile.core.def (lzopio): New module.
15464 (adler32): Likewise.
15465 * grub-core/fs/btrfs.c: Include minilzo.h.
15466 (GRUB_BTRFS_COMPRESSION_LZO): New define.
15467 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
15468 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
15469 (grub_btrfs_lzo_decompress): New function.
15470 (grub_btrfs_extent_read): Add support for LZO compression type.
15471 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
15472 (GRUB_USHRT_MAX): Likewise.
15473 (GRUB_UINT_MAX): Likewise.
15474 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
15475 (UINT_MAX): Likewise.
15476 (CHAR_BIT): Likewise.
15477 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
15478 grub-core/lib/posix_wrap/limits.h
15479 (UCHAR_MAX): Likewise.
15480 * include/grub/file.h (grub_file_filter_id): New compression filter
15481 GRUB_FILE_FILTER_LZOPIO.
15482 * include/grub/file.h (grub_file_filter_id): Set
15483 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
15484 * include/grub/types.h (grub_get_unaligned16): New function.
15485 (grub_get_unaligned32): Likewise.
15486 (grub_get_unaligned64): Likewise.
15487 * util/import_gcry.py (cryptolist): Add adler32.
15488
0eb8ffb1
VS
154892011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
15490
15491 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
15492 in perspective decreases the complexity of build system and fixes
15493 compilation right now.
15494
ce79cc99 154952011-10-01 Ales Nesrsta <starous@volny.cz>
15496
15497 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
15498 (fixed problem related to using UHCI with coreboot).
15499
8667a314
BC
155002011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
15501
15502 * gentpl.py: Use Autogen macros so that the output template file
15503 (Makefile.tpl) size is reduced.
15504
fc5efcc0
MK
155052011-09-29 Mads Kiilerich <mads@kiilerich.com>
15506
15507 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
15508 extra_dist.
15509
d1ab689d
ML
155102011-09-29 Mario Limonciello <mario_limonciello@dell.com>
15511
15512 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
15513 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
15514
c05de032
ML
155152011-09-29 Mario Limonciello <mario_limonciello@dell.com>
15516
15517 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
15518 _fullpath.
15519
cca7ccd8
ML
155202011-09-29 Mario Limonciello <mario_limonciello@dell.com>
15521
15522 Remove extra declaration of sleep for mingw32.
15523
15524 * util/misc.c (sleep) [__MINGW32__]: Removed.
15525 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
15526
e0b0dc83
GS
155272011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
15528
15529 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
15530 type and packname.
15531 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
15532 Resurrected.
15533 (NETBSD_BTINFO_BOOTWEDGE): New definition.
15534 (grub_netbsd_btinfo_bootwedge): New struct.
15535 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
15536 New function.
15537 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
15538
91a1a164
TH
155392011-09-28 Thomas Haller <thomas.haller@fen-net.de>
15540
15541 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
15542 loader.
15543
2ded951e
AB
155442011-09-28 Andreas Born <futur.andy@googlemail.com>
15545
15546 Fix incorrect identifiers in bash-completion.
15547
15548 * util/bash-completion.d/grub-completion.bash.in
15549 (_grub_mkpasswd-pbkdf2): Rename to ...
15550 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
15551 (_grub_script-check): Rename to ...
15552 (_grub_script_check): ... this. All users updated.
15553
69915030
VS
155542011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
15555
15556 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
15557 Return 0 if disk isn't biosdisk.
15558
20fd15f9
GS
155592011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
15560
15561 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
15562 on NetBSD.
15563 * Makefile.util.def (grub-fstest): Likewise.
15564
1a7d7db9
GS
155652011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
15566
15567 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
15568 Get sector size from disk label.
15569
2221ab6c
CW
155702011-09-05 Colin Watson <cjwatson@ubuntu.com>
15571
15572 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
15573 */README* as well as README*.
15574 Reported by: Axel Beckert.
15575
ca51c4a0
VS
155762011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15577
15578 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
15579 case of less than 256 MiB of RAM.
15580
ab80f326
VS
155812011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15582
15583 * grub-core/commands/wildcard.c (make_regex): Handle @.
15584
4155e697
VS
155852011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15586
15587 * util/grub-install.in: Move cryptodisk logic to appropriate place.
15588
ab178c08
SJ
155892011-08-21 Szymon Janc <szymon@janc.net.pl>
15590
15591 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
15592 AC_LANG_CONFTEST macros.
15593
7dc3c686
SJ
155942011-08-20 Szymon Janc <szymon@janc.net.pl>
15595
15596 Add grub-fstest option to uncompress data for commands.
15597
15598 * util/grub-fstest.c (uncompress): New var.
15599 (options): New option -u.
15600
fe8d4a7b
SJ
156012011-08-20 Szymon Janc <szymon@janc.net.pl>
15602
15603 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
15604 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
15605
a5219af1
SJ
156062011-08-20 Szymon Janc <szymon@janc.net.pl>
15607
15608 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
15609 file type was not recognized correctly (not gzip or corrupted).
15610
f87abff5
VS
156112011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15612
15613 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
15614 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
15615
d94497ea
VS
156162011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15617
15618 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
15619 loongson.
15620 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
15621 video_radeon_fuloong2e.
15622 * grub-core/video/radeon_fuloong2e.c: New file.
15623 * include/grub/video.h (grub_video_id_t): Add new ID
15624 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
15625
0d1fd011
VS
156262011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15627
15628 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
15629 define.
15630 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
15631 that PRID matches the detected subplatform and reset the subplatform
15632 if it doesn't.
15633
84beb0ee
VS
156342011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15635
15636 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
15637
1227c133
VS
156382011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15639
15640 Fix PCI iterating on functions >= 4.
15641
15642 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
15643 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
15644 Removed.
15645 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
15646 (grub_pci_read): Fix bitmask.
15647 (grub_pci_read_word): Likewise.
15648 (grub_pci_read_byte): Likewise.
15649 (grub_pci_write): Likewise.
15650 (grub_pci_write_word): Likewise.
15651 (grub_pci_write_byte): Likewise.
15652
9594c689
VS
156532011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15654
15655 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
15656 can still be specified in TARGET_CFLAGS)
15657
14a2562c
VS
156582011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15659
15660 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
15661
15662 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
15663 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
15664 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
15665 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
15666 (FULOONG): Rename to ...
15667 (FULOONG2F): ... this. All users updated.
15668 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
15669 (machtype_fuloong2f_str): ... this.
15670 (machtype_fuloong2e_str): New string.
15671 Check for machtype_fuloong2e_str.
15672 * grub-core/loader/mips/linux.c (loongson_machtypes)
15673 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
15674 * grub-core/term/serial.c (loongson_defserial)
15675 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
15676 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
15677 loongson_defserial.
15678 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
15679 Rename to ...
15680 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
15681 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
15682 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
15683 to IMAGE_FULOONG2F_FLASH. All users updated.
15684 (image_targets): Rename images.
15685 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
15686
b526cbb6
SJ
156872011-08-19 Szymon Janc <szymon@janc.net.pl>
15688
15689 Make enable of disk cache statistics code configurable.
15690
15691 * configure.ac: --enable-cache-stats added.
15692 * config.h.in (DISK_CACHE_STATS): New define.
15693 * grub-core/Makefile.core.def (cacheinfo): New command.
15694 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
15695 * grub-core/commands/cacheinfo.c: New file.
15696 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
15697 moved to cacheinfo.c.
15698 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
15699 debug code.
15700 * include/grub/disk.h: Likewise.
15701
fb739ccd
SJ
157022011-08-19 Szymon Janc <szymon@janc.net.pl>
15703
15704 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
15705 * grub-core/Makefile.am: Likewise.
15706
2bba8cfd
VS
157072011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
15708
15709 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
15710 non-zero pull.
15711
43526629
VS
157122011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
15713
15714 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
15715 All users updated.
15716 (grub_jfs_lookup_symlink): Use correct starting inode.
15717
5c144cc8
VS
157182011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
15719
15720 * util/grub-setup.c (main): Add missing gcry initialisation.
15721
b1257f65
VS
157222011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
15723
15724 Don't accept text modes on EFI when booting Linux.
15725
15726 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
15727 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
15728
828bc390
ML
157292011-08-15 Mario Limonciello <mario_limonciello@dell.com>
157302011-08-15 Colin Watson <cjwatson@ubuntu.com>
15731
15732 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
15733 use of "/path/.." as in grub-install for EFI as well as handling
15734 symlinks correctly.
15735 Fixes Debian bug #637768.
15736
5f60ccac
CW
157372011-08-15 Colin Watson <cjwatson@ubuntu.com>
15738
15739 * util/grub-probe.c: Remove duplicate #include.
15740
6dc212f9
RM
157412011-08-10 Robert Millan <rmh@gnu.org>
15742
15743 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
15744
15745 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
15746 function.
15747 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
15748 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
15749
66816d85
RM
157502011-08-03 Robert Millan <rmh@gnu.org>
15751
15752 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
15753 la_array as packed.
15754 Reported by: Zachary Bedell
15755
20168fca
CW
157562011-07-26 Colin Watson <cjwatson@ubuntu.com>
15757
15758 * configure.ac: The Loongson port requires grub-mkfont due to its
15759 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
15760 be built.
15761
303b6246
CW
157622011-07-26 Colin Watson <cjwatson@ubuntu.com>
15763
15764 * util/grub-install.in: Don't source grub-mkconfig_lib until after
15765 processing arguments (otherwise help2man fails when GRUB has not yet
15766 been installed).
15767
6795300e
VS
157682011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
15769
41aa28ea
VS
15770 New script grub-mkstandalone.
15771
15772 * Makefile.util.def (grub-mkstandalone): New script.
15773 * docs/man/grub-mkstandalone.h2m: New file.
15774 * util/grub-mkstandalone.in: Likewise.
15775
157762011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
15777
15778 Support ATA disks with 4K sectors.
6795300e
VS
15779
15780 * include/grub/ata.h (grub_ata): New member log_sector_size.
15781 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
15782 (grub_ata_identify): Read sector size.
15783 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
15784
92227597
VS
157852011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
15786
15787 * util/grub-install.in: Don't use uhci outside of x86.
15788
c77069f5
VS
157892011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
15790
15791 * util/grub-mkrescue.in: Add missing quotes.
15792
157932011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
15794
15795 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
15796 dereference.
15797
583168a2
VS
157982011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
15799
15800 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
15801
6be1c01f
VS
158022011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
15803
15804 * include/grub/video.h: add missing EXPORT_FUND on
15805 grub_video_edid_checksum and grub_video_edid_preferred_mode.
15806
a1167439
VS
158072011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
15808
15809 * include/grub/mips/kernel.h: Fix define conflict.
15810
bf66054f
VS
158112011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
15812
15813 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
15814 all four ways.
15815
8fc4fa45
CW
158162011-07-21 Colin Watson <cjwatson@ubuntu.com>
15817
15818 Preferred resolution detection for VBE.
15819
15820 * grub-core/video/video.c (grub_video_edid_checksum): New function.
15821 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
15822 the Flat Panel extension, in line with the X.org VESA driver.
15823 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
15824 New function.
15825 (grub_vbe_bios_get_ddc_capabilities): Likewise.
15826 (grub_vbe_bios_read_edid): Likewise.
15827 (grub_vbe_get_preferred_mode): Likewise.
15828 (grub_video_vbe_setup): When the mode is "auto", try to get the
15829 preferred mode from VBE, and use the largest mode that is no larger
15830 than the preferred mode (some BIOSes expose a preferred mode that is
15831 not in their mode list!). If this fails, fall back to 640x480 as a
15832 safe conservative choice.
15833 (grub_video_vbe_get_edid): New function.
15834 (grub_video_vbe_adapter): Add get_edid.
15835 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
15836 (struct grub_video_adapter): Add get_edid.
15837 (grub_video_edid_checksum): Add prototype.
15838 (grub_video_edid_preferred_mode): Likewise.
15839 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
15840 structure.
15841
15842 * grub-core/commands/videoinfo.c (print_edid): New function.
15843 (grub_cmd_videoinfo): Print EDID if available.
15844
15845 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
15846 is more appropriate on a wider range of platforms than 640x480.
15847 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
15848 documentation.
15849
ca5572a9
VS
158502011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15851
15852 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
15853
e4bcf625
VS
158542011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15855
15856 * po/POTFILES.in: Regenerate.
15857
c4edd548
VS
158582011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15859
15860 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
15861 incorrect memory usage.
15862
16a2bab0
VS
158632011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15864
15865 * util/grub-install.in: Source grub-mkconfig_lib.
15866
2e418de6
VS
158672011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
15868
15869 Remove getroot.c from core on emu platform.
15870
15871 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
15872 kern/emu/raid.c.
15873 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
15874 useless.
15875 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
15876 * util/getroot.c (get_win32_path): ... here.
15877 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
15878 * util/getroot.c (fini_libzfs): ... here.
15879 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
15880 * util/getroot.c (grub_get_libzfs_handle): ... here.
15881 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
15882 Moved from here...
15883 * util/getroot.c (grub_find_zpool_from_dir): ... here.
15884 * grub-core/kern/emu/misc.c
15885 (grub_make_system_path_relative_to_its_root): Moved from here...
15886 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
15887 * grub-core/kern/emu/getroot.c: Moved from here ...
15888 * util/getroot.c: ... here. All users updated.
15889 * grub-core/kern/emu/raid.c: Moved from here ...
15890 * util/raid.c: ... here. All users updated.
15891
def9832a
VS
158922011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
15893
15894 * po/POTFILES.in: Regenerate.
15895
cd8fe79a
VS
158962011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
15897
15898 Fix compilation on GNU/Linux.
15899
15900 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
15901 Disable geli.
15902 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
15903 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
15904 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
15905
a251b719
VS
159062011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
159072011-07-07 Michael Gorven <michael@gorven.za.net>
159082011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
15909
15910 LUKS and GELI support.
15911
15912 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
15913 grub-core/disk/luks.c, grub-core/disk/geli.c,
15914 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
15915 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
15916 grub-core/lib/arg.c.
15917 (libgrubmods.a): Remove gcrypts cflags and cppflags.
15918 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
15919 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
15920 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
15921 (grub-bin2h): Add libgcry.a.
15922 (grub-mkimage): Likewise.
15923 (grub-mkrelpath): Likewise.
15924 (grub-script-check): Likewise.
15925 (grub-editenv): Likewise.
15926 (grub-mkpasswd-pbkdf2): Likewise.
15927 (grub-pe2elf): Likewise.
15928 (grub-fstest): Likewise.
15929 (grub-mkfont): Likewise.
15930 (grub-mkdevicemap): Likewise.
15931 (grub-probe): Likewise.
15932 (grub-ofpath): Likewise.
15933 (grub-mklayout): Likewise.
15934 (example_unit_test): Likewise.
15935 (grub-menulst2cfg): Likewise.
15936 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
15937 * grub-core/Makefile.core.def (cryptodisk): New module.
15938 (luks): Likewise.
15939 (geli): Likewise.
15940 * grub-core/disk/AFSplitter.c: New file.
15941 * grub-core/disk/cryptodisk.c: Likewise.
15942 * grub-core/disk/geli.c: Likewise.
15943 * grub-core/disk/luks.c: Likewise.
15944 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
15945 grub_util_is_lvm.
15946 (grub_util_get_dm_abstraction): New function.
15947 (grub_util_follow_gpart_up): Likewise.
15948 (grub_util_get_geom_abstraction): Likewise.
15949 (grub_util_get_dev_abstraction): Use new functions.
15950 (grub_util_pull_device): Pull GELI and LUKS.
15951 (grub_util_get_grub_dev): Handle LUKS and GELI.
15952 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
15953 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
15954 (follow_geom_up): Removed.
15955 (grub_util_fd_seek): New function.
15956 (open_device): Use grub_util_fd_seek.
15957 (nread): Rename to ..
15958 (grub_util_fd_read): ... this. All users updated.
15959 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
15960 (grub_crypto_cbc_decrypt): Likewise.
15961 (grub_crypto_hmac_write): Likewise.
15962 (grub_crypto_hmac_buffer): Likewise.
15963 (grub_password_get): Extend to util.
15964 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
15965 New member modname.
15966 (gcry_md_spec) [GRUB_UTIL]: Likewise.
15967 * include/grub/cryptodisk.h: New file.
15968 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
15969 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
15970 LUKS and GELI.
15971 (grub_util_follow_gpart_up): New proto.
15972 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
15973 (grub_util_fd_read): Likewise.
15974 (grub_cryptodisk_cheat_mount): Likewise.
15975 (grub_util_cryptodisk_print_uuid): Likewise.
15976 (grub_util_get_fd_sectors): Likewise.
15977 * util/grub-fstest.c (mount_crypt): New var.
15978 (fstest): Mount crypto if requested.
15979 (options): New option -C.
15980 (argp_parser): Parse -C.
15981 (main): Init and fini gcry.
15982 * util/grub-install.in: Support cryptodisk install.
15983 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
15984 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
15985 cryptodisk.
15986 (prepare_grub_to_access_device): Likewise.
15987 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
15988 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
15989 (probe_cryptodisk_uuid): New function.
15990 (probe_abstraction): Likewise.
15991 (probe): Use new functions.
15992 * util/import_gcry.py: Create Makefile.utilgcry.def.
15993 Add modname member.
15994
9bfdcbbc
VS
159952011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
15996
15997 Lazy device scanning.
15998
15999 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
16000 (grub-setup): Remove util/raid.c.
16001 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
16002 * grub-core/disk/lvm.c (scan_depth): New variable.
16003 (grub_lvm_iterate): Rescan if necessary.
16004 (find_lv): New function based on grub_lvm_open.
16005 (grub_lvm_open): Use find_lv. Rescan on error.
16006 (is_node_readable): New function.
16007 (is_lv_readable): Likewise.
16008 (grub_lvm_scan_device): Skip already found disks.
16009 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
16010 Stop if searched device is found and readable.
16011 * grub-core/disk/raid.c (inscnt): New variable.
16012 (scan_depth): Likewise.
16013 (scan_devices): New function based on grub_raid_register. Abort if
16014 looked for device is found.
16015 (grub_raid_iterate): Rescan if needed.
16016 (find_array): NEw function based on -grub_raid_open.
16017 (grub_raid_open): Use find_array and rescan.
16018 (insert_array): Set became_readable_at.
16019 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
16020 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
16021 New function.
16022 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
16023 (grub_util_pull_device): New function.
16024 (grub_util_get_grub_dev): Call grub_util_pull_device.
16025 * util/raid.c: Moved to ..
16026 * grub-core/kern/emu/raid.c: ... here.
16027 (grub_util_raid_getmembers): New parameter "bootable".
16028 All users updated. Support 1.x.
16029 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
16030 All users updated.
16031 * include/grub/disk.h (grub_disk_pull_t): New enum.
16032 (grub_disk_dev): Change iterate prototype.
16033 All users updated.
16034 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
16035 New proto.
16036 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
16037 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
16038 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
16039 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
16040 All users updated.
16041 * include/grub/util/raid.h: Removed.
16042
1c358e59
VS
160432011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
16044
16045 * po/POTFILES.in: Regenerate.
16046
abee94ed
VS
160472011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
16048
16049 Unify sparc init with other ieee1275.
16050
16051 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
16052 instead of kern/sparc64/ieee1275/init.c.
16053 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
16054 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
16055 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
16056 grub/machine/kernel.h.
16057 (grub_ieee1275_original_stack) [__sparc__]: New variable.
16058 (grub_claim_heap) [__sparc__]: Use sparc version.
16059 (grub_machine_init): Moved args parsing to
16060 (grub_parse_cmdline): ...this.
16061 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
16062 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
16063 New definition.
16064 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
16065
16066 Move BOOTP to separate file.
16067
16068 * grub-core/Makefile.core.def (net): Add net/bootp.c.
16069 * grub-core/net/net.c: Move all BOOTP functions to
16070 * grub-core/net/bootp.c: ... here.
16071
16072 Use frame interface on PXE.
16073
16074 * grub-core/Makefile.core.def (pxecmd): Removed.
16075 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
16076 * grub-core/commands/i386/pc/pxecmd.c: Removed.
16077 * grub-core/i386/pc/pxe.c: Moved from here ...
16078 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
16079 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
16080 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
16081
16082 EFI network support.
16083
16084 * grub-core/Makefile.core.def (efinet): New module.
16085 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
16086 here...
16087 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
16088 All users updated.
16089 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
16090 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
16091 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
16092 * grub-core/net/drivers/efi/efinet.c: New file.
16093 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
16094 (grub_efi_net_config): New extern var.
16095
16096 Various cleanups and bugfixes.
16097
16098 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
16099 error.
16100 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
16101 disk declared as partition.
16102 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
16103 leak on failure.
16104 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
16105 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
16106 (grub_debug_zalloc): Likewise.
16107 (grub_debug_realloc): Likewise.
16108 (grub_debug_memalign): Likewise.
16109 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
16110 Check that target is IPv4.
16111 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
16112 local-mac-address as fallback.
16113 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
16114 memory leak.
16115 * grub-core/net/ip.c (ipchksum): Rename to ...
16116 (grub_net_ip_chksum): ... this. All users updated.
16117 (grub_net_recv_ip_packets): Special handling for DHCP.
16118 * util/grub-mkimage.c (generate_image): Zero-out aout header.
16119
16120 Unify prefix handling
16121
16122 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
16123 (grub_machine_get_bootlocation): ... this.
16124 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
16125 (grub_machine_get_bootlocation): ... this.
16126 (grub_prefix): New variable.
16127 (prefix): Removed.
16128 (root_dev): New variable.
16129 (dir): Likewise.
16130 (main): Use new variables.
16131 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
16132 Revamped into ...
16133 (grub_machine_get_bootlocation): ... this.
16134 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
16135 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
16136 (grub_machine_get_bootlocation): ... this.
16137 (grub_machine_set_prefix): Removed.
16138 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
16139 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
16140 Revamped into ...
16141 (grub_machine_get_bootlocation): ... this.
16142 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
16143 (grub_set_prefix_and_root): ... this. All users updated.
16144 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
16145 Revamped into ...
16146 (grub_machine_get_bootlocation): ... this.
16147 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
16148 (grub_machine_get_bootlocation): New proto.
16149 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
16150
16151 Less intrusive and more reliable seek on network implementation.
16152
16153 * grub-core/kern/file.c (grub_file_net_seek): Removed.
16154 (grub_file_seek): Don't call grub_file_net_seek.
16155 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
16156 (grub_net_fs_read_real): .. this.
16157 (grub_net_seek_real): Use net->offset.
16158 (grub_net_fs_read): Seek if necessary.
16159
16160 Unify IEEE1275 netwotk config with the other platforms.
16161
16162 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
16163 New variable.
16164 (grub_machine_get_bootlocation): Support network.
16165 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
16166 Support type and device parsing.
16167 (grub_ieee1275_get_device_type): New function.
16168 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
16169 into ...
16170 (grub_ieee1275_net_config_real): ... this.
16171 (grub_ofnet_probecards): Removed.
16172 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
16173 * include/grub/ieee1275/ofnet.h: Removed.
16174 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
16175 extern var.
16176 (grub_ieee1275_get_device_type): New function.
16177
16178 Unify network device closing across platforms and make more robust.
16179
16180 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
16181 grub_grubnet_fini.
16182 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
16183 already.
16184 * grub-core/net/net.c (grub_net_network_level_interface_register):
16185 Update num_ifaces.
16186 (grub_net_card_unregister): Close all interfaces.
16187 (receive_packets): Don't poll if no iterfaces are registered.
16188 Open if necessary.
16189 (grub_net_fini_hw): New function.
16190 (grub_net_restore_hw): Likewise.
16191 (fini_hnd): New variable.
16192 (GRUB_MOD_INIT): Register preboot hook.
16193 (GRUB_MOD_FINI): Run and unregister preboot hook.
16194
16195 Poll network cards when idle.
16196
16197 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
16198 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
16199 * grub-core/net/net.c (receive_packets): Save last poll time.
16200 (grub_net_poll_cards_idle_real): New function.
16201 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
16202 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
16203 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
16204
16205 Rename ofnet interfaces.
16206
16207 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
16208 (grub_ofnet_findcards): Use ofnet_%s names.
16209
16210 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
16211
16212 Cleanup socket opening.
16213
16214 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
16215 (grub_net_fs_close): Likewise.
16216 (grub_net_fs_read_real): Use eof member.
16217 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
16218 (+grub_net_udp_close): New inline function.
16219
16220 * include/grub/net/tftp.h: Moved to the top of ...
16221 * grub-core/net/tftp.c: ... here.
16222 * include/grub/net/ip.h: Moved mostly to the top of ...
16223 * grub-core/net/ip.c: ... here.
16224 * include/grub/net/ethernet.h: Moved mostly to the top of ...
16225 * grub-core/net/ethernet.c: ... here.
16226
16227 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
16228
16229 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
16230 FS name.
16231
16232 * include/grub/net/ip.h (ipv4_ini): Removed.
16233 (ipv4_fini): Likewise.
16234
16235 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
16236 (grub_net_send_ip_packets): Likewise.
16237
cf1337aa
VS
162382011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16239
16240 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
16241 grub_read_cmos prototype.
16242
93c06ff9
VS
162432011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16244
16245 VGA text support in qemu-mips
16246
16247 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
16248 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
16249 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
16250 text.
16251 * grub-core/kern/i386/qemu/init.c: Renamed to ...
16252 * grub-core/kern/vga_init.c: ... this.
16253 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
16254 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
16255 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
16256 Adjust.
16257 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
16258 GRUB_MACHINE_PCI_IO_BASE.
16259
748ccabe
VS
162602011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16261
16262 MIPS qemu flash support.
16263
16264 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
16265 magic.
16266 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
16267 (grub_machine_init): Probe memory if its size isn't known.
16268 * util/grub-mkimage.c (image_targets): Add flash targets.
16269 (generate_image): Handle flash targets.
16270
d7345994
VS
162712011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16272
16273 MIPS qemu at_keyboard support.
16274
16275 * gentpl.py (videoinkernel): Add qemu-mips.
16276 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
16277 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
16278 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
16279 modules.
16280 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
16281 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
16282 * grub-core/term/serial.c (grub_serial_register)
16283 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
16284
a07a81b3
VS
162852011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16286
16287 CMOS support on sparc.
16288
16289 * gentpl.py (cmos): Add powerpc and sparc.
16290 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
16291 powerpc and sparc.
16292 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
16293 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
16294 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
16295 grub_set_datetime_cmos.
16296 * grub-core/lib/ieee1275/cmos.c: New file.
16297 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
16298 (find_rtc): Set no_ieee1275_rtc on error.
16299 (grub_get_datetime): Call grub_get_datetime_cmos on error.
16300 (grub_set_datetime): Call grub_set_datetime_cmos on error.
16301 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
16302 fail. Move value to argument. All users updated
16303 (grub_cmos_write): Likewise.
16304 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
16305 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
16306 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
16307 grub_get_datetime_cmos and grub_set_datetime_cmos.
16308
77546584
GS
163092011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
16310
16311 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
16312 sourcing grub-mkconfig_lib.
16313 * util/update-grub_lib.in: Likewise.
16314 * util/grub.d/00_header.in: Likewise.
16315 * util/grub.d/10_hurd.in: Likewise.
16316 * util/grub.d/10_kfreebsd.in: Likewise.
16317 * util/grub.d/10_linux.in: Likewise.
16318 * util/grub.d/10_netbsd.in: Likewise.
16319 * util/grub.d/10_windows.in: Likewise.
16320 * util/grub.d/20_linux_xen.in: Likewise.
16321 * util/grub.d/30_os-prober.in: Likewise.
16322
54894791
CW
163232011-06-28 Colin Watson <cjwatson@ubuntu.com>
16324
16325 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
16326 default_bg_color rather than black.
16327 (grub_gfxterm_fullscreen): Likewise.
16328 (grub_gfxterm_background_color_cmd): Save new background color in
16329 default_bg_color.
16330
8d5d8444
VS
163312011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16332
16333 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
16334
5afeb5bd
VS
163352011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16336
16337 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
16338 mismerge.
16339
ba7df45e
VS
163402011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16341
16342 Chainloading on coreboot support.
16343
16344 * grub-core/Makefile.core.def (chain): Add coreboot.
16345 * grub-core/loader/i386/coreboot/chainloader.c: New file.
16346
d0b526b2
VS
163472011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16348
16349 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
16350 if it happens.
16351
5ff1d945
VS
163522011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16353
16354 Implement time command.
16355
16356 * grub-core/Makefile.core.def (time): New module.
16357 * grub-core/commands/time.c: New file.
16358 * grub-core/script/parser.y: Remove "time" keyword.
16359 * grub-core/script/yylex.l: Likewise.
16360
5ebaad7e
VS
163612011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16362
16363 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
16364
bdea3798
VS
163652011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16366
16367 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
16368 when handling leftovers.
16369
b28c5655
VS
163702011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16371
16372 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
16373 so that help2man doesn't fail.
16374
b6f945dc
VS
163752011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16376
16377 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
16378 type in pointers on sparc64.
16379 (get_card_packet): Likewise.
16380
f9b75e8a
CW
163812011-06-27 Colin Watson <cjwatson@ubuntu.com>
16382
16383 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
16384 with `*'.
16385 (grub_cmd_videoinfo): Fetch current video mode.
16386
1e3d9b86
VS
163872011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16388
16389 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
16390 because of underlying system restrictions.
16391
efff4b1c
VS
163922011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16393
16394 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
16395 necessary.
16396
9fc9ce37
VS
163972011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16398
16399 Coreboot video support.
16400
16401 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
16402 (vbe): Likewise.
16403 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
16404 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
16405 here ...
16406 * grub-core/kern/i386/int.S: ... here.
16407 * grub-core/video/i386/pc/vbe.c: Updated includes.
16408 * grub-core/video/i386/pc/vga.c: Likewise.
16409 * include/grub/i386/coreboot/memory.h
16410 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
16411 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
16412 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
16413 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
16414 Disable interrupts.
16415 * include/grub/i386/pc/vga.h: Removed. All users updated.
16416
41bec7fe
VS
164172011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16418
16419 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
16420 definitions for dprintf.
16421 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
16422
ca80309d
VS
164232011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16424
16425 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
16426 prototype.
16427 (get_card_packet): Likewise.
16428
9e322ce8
YB
164292011-06-26 Yves Blusseau <blusseau@zetam.org>
16430
16431 Display the path of the file when file is not found
16432
16433 * grub-core/fs/fat.c: Display the filename when file is not found.
16434 * grub-core/fs/fshelp.c: Likewise.
16435 * grub-core/fs/hfs.c: Likewise.
16436 * grub-core/fs/jfs.c: Likewise.
16437 * grub-core/fs/minix.c: Likewise.
16438 * grub-core/fs/ufs.c: Likewise.
16439 * grub-core/fs/btrfs.c: Likewise.
16440 * grub-core/commands/i386/pc/play.c: Likewise.
16441
cbf597af
SJ
164422011-06-26 Szymon Janc <szymon@janc.net.pl>
16443
16444 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
16445 pointer checks before calling grub_free().
16446 * grub-core/commands/wildcard.c (match_devices): Likewise.
16447 * grub-core/commands/wildcard.c (match_files): Likewise.
16448 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
16449 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
16450 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
16451 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
16452 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
16453 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
16454 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
16455 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
16456 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
16457
6295b32f
P
164582011-06-25 Patrick <p55@mailinator.com>
16459
16460 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
16461
77c0840b
VS
164622011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
16463
16464 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
16465 (grub_pxe_send): Likewise.
16466 (GRUB_MOD_INIT): Fix types.
16467
40ea05de
SJ
164682011-06-24 Szymon Janc <szymon@janc.net.pl>
16469
16470 * grub-core/io/xzio.c: Fix code style issues
16471
90162423
MRA
164722011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
164732011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
16474
16475 Network infrastructure.
16476 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
16477
16478 * include/grub/net/arp.h: New file.
90162423
MRA
16479 * include/grub/net/device.h: Likewise.
16480 * include/grub/net/ethernet.h: Likewise.
16481 * include/grub/net/ip.h: Likewise.
16482 * include/grub/net/netbuff.h: Likewise.
16483 * include/grub/net/tftp.h: Likewise.
16484 * include/grub/net/udp.h: Likewise.
16485 * include/grub/ieee1275/ofnet.h: Likewise.
16486 * include/grub/emu/export.h: Likewise.
16487 * include/grub/net.h: Likewise.
16488 * grub-core/net/arp.c: Likewise.
16489 * grub-core/net/ethernet.c: Likewise.
16490 * grub-core/net/ip.c: Likewise.
16491 * grub-core/net/udp.c: Likewise.
16492 * grub-core/net/tftp.c: Likewise.
16493 * grub-core/net/netbuff.c: Likewise.
16494 * grub-core/net/net.c: Likewise.
16495 * grub-core/net/drivers/emu/emunet.c: Likewise.
16496 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
16497 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
16498 export.h.
16499 * grub-core/Makefile.core.def (net): New module.
16500 (tftp): Likewise.
16501 (ofnet): Likewise.
16502 (emunet): Likewise.
16503 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
16504 network protocols.
16505 * grub-core/kern/device.c (grub_net_open) : New variable.
16506 (grub_device_open): Handle network device.
16507 (grub_device_close): Likewise.
16508 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
16509 (grub_grubnet_fini): Likewise.
16510 (grub_file_seek): Seek in network device.
16511 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
16512 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
16513 network root.
16514 (grub_machine_fini): Call grub_grubnet_fini.
16515 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
16516 network.
16517 (grub_ieee1275_get_aliasdevname): New function.
16518 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
16519 Add unofficial Solaris network info.
16520 (grub_multiboot_make_mbi): Likewise.
16521 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
16522 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
16523 * include/grub/device.h (grub_fs): Removed.
16524 * include/grub/err.h (grub_err_t): Add network-related values.
16525 * include/grub/i386/pc/pxe.h: Removed bootp parts.
16526 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
16527 (grub_ieee1275_get_aliasdevname): New proto.
16528 * include/grub/net.h: Rewritten.
423a1849 16529
031f22a0
VS
165302011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16531
16532 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
16533 names.
16534
4388ca72
VS
165352011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16536
16537 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
16538 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
16539 it truncates the output.
16540 Reported by: Ximin Luo.
16541
98e2f506
VS
165422011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16543
16544 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
16545
2a5e94d8
VS
165462011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16547
16548 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
16549 partmap before abstraction.
16550
535c1910
AK
165512011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
16552
16553 * util/grub-mkconfig_lib.in: Add missing quotes.
16554
bc09e1a2
VS
165552011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16556
16557 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
16558 old method if mountinfo would return /dev/root and /dev/root doesn't
16559 exist.
16560
290766fb
VS
165612011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16562
16563 ZFS zlib support
16564
16565 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
16566 (decomp_table): Add zlib entries.
16567 (zio_read): USe 8 bits for compression function rather than 3.
16568 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
16569
165702011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16571
16572 * grub-core/disk/ahci.c: Add missing license statements.
16573 * grub-core/fs/romfs.c: Likewise.
16574 * grub-core/lib/ia64/setjmp.S: Likewise.
16575 * grub-core/loader/i386/pc/freedos.c: Likewise.
16576 * grub-core/loader/ia64/efi/linux.c: Likewise.
16577 * grub-core/video/colors.c: Likewise.
16578 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
16579
5ab3f48a
VS
165802011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16581
16582 AHCI support.
16583
16584 * grub-core/Makefile.core.def (ata_pthru): Removed.
16585 (ahci): New module.
16586 (pata): Likewise.
16587 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
16588 on unload.
16589 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
16590 readwrite.
16591 (grub_hdparm_do_check_powermode_cmd): Likewise.
16592 (grub_hdparm_do_smart_cmd): Likewise.
16593 (grub_hdparm_set_val_cmd): Likewise.
16594 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
16595 * grub-core/disk/ahci.c: New file.
16596 * grub-core/disk/ata.c: Factor out the low-level part into ...
16597 * grub-core/disk/pata.c: ... here.
16598 * grub-core/disk/ata_pthru.c: Contents moved to ...
16599 * grub-core/disk/pata.c: ... here.
16600 * grub-core/disk/scsi.c (grub_scsi_names): New array.
16601 (grub_scsi_iterate): Use grub_scsi_names.
16602 (grub_scsi_open): Likewise.
16603 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
16604 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
16605 (grub_ata_regs_t): New struct.
16606 (grub_disk_ata_pass_through_parms): Likewise.
16607 (grub_ata_device): Renamed to ...
16608 (grub_ata): ... this.
16609 (grub_ata_dev): New struct.
16610 Removed all low-level inline functions.
16611 * include/grub/scsi.h: Add PATA and AHCI subsystems.
16612 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
16613 iterate hooks and open. All users updated.
16614 * util/grub-install.in: Handle AHCI disk module.
16615
c31dc5f5
SJ
166162011-06-23 Szymon Janc <szymon@janc.net.pl>
16617
16618 Add support for DRI and RSTn markers in JPEG files.
16619
16620 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
16621 (JPEG_MARKER_RST0): Likewise.
16622 (JPEG_MARKER_RST1): Likewise.
16623 (JPEG_MARKER_RST2): Likewise.
16624 (JPEG_MARKER_RST3): Likewise.
16625 (JPEG_MARKER_RST4): Likewise.
16626 (JPEG_MARKER_RST5): Likewise.
16627 (JPEG_MARKER_RST6): Likewise.
16628 (JPEG_MARKER_RST7): Likewise.
16629 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
16630 (grub_jpeg_decode_dri): New function.
16631 (grub_jpeg_decode_sos): Move image data related part into
16632 grub_jpeg_decode_data function.
16633 (grub_jpeg_decode_data): New function.
16634 (grub_jpeg_reset): New function.
16635 (grub_jpeg_decode_jpeg): Handle new markers.
16636
fe12fd5b
VS
166372011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16638
16639 * util/ieee1275/ofpath.c (check_sas): Close fd.
16640 (main): Free of_path.
16641 Reported by: David Volgyes <dvolgyes>.
16642
03147f46
VS
166432011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16644
16645 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
16646 Reported by: David Volgyes <dvolgyes>.
16647
cad3237f
VS
166482011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16649
16650 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
16651 file after stat.
16652 Reported by: David Volgyes <dvolgyes>.
16653
13548d26
VS
166542011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16655
16656 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
16657
16658 Reported by: David Volgyes <dvolgyes>.
16659
e061a1b5
VS
166602011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16661
16662 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
16663 Prevent memory leak.
16664
1abe47dc
VS
166652011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16666
16667 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
16668 (main): Close file.
e061a1b5 16669 Reported by: David Volgyes <dvolgyes>.
1abe47dc 16670
fbc62666
VS
166712011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16672
16673 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
16674 to continue if allocation is failed.
16675
16676 Reported by: David Volgyes <dvolgyes>.
16677
e98c83e9
DV
166782011-06-23 David Volgyes <dvolgyes>
16679
16680 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
16681 dereference.
16682
a199a8cd
VS
166832011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16684
16685 Fix spurious warning.
16686
16687 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
16688 (acorn_partition_map_find): Use .bin member.
16689
e2d1dba0
VS
166902011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16691
16692 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
16693 /dev/root as a valid device.
16694
8a5d6919
JM
166952011-06-23 Jim Meyering <meyering@redhat.com>
16696
e2d1dba0
VS
16697 Avoid NULL deref in grub_device_open.
16698
8a5d6919
JM
16699 * grub-core/kern/device.c (grub_device_open): Don't dereference
16700 a NULL pointer upon failed grub_env_get.
16701
f7db6f4a
VS
167022011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16703
16704 Support non-512B sectors and agglomerate reads.
16705
16706 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
16707 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
16708 (disk_io_guid): Removed.
16709 (make_devices): Locate solely by BlockIO.
16710 (grub_efidisk_open): Fill log_sector_size and total_sectors.
16711 (grub_efidisk_read): Use read_blocks.
16712 (grub_efidisk_write): Use write_blocks.
16713 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
16714 log_sector_size.
16715 (get_safe_sectors): Handle non-512B sectors.
16716 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
16717 sectors.
16718 (grub_biosdisk_write): Handle non-512B sectors.
16719 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
16720 (grub_scsi_read): Remove special non-512B block handling (now handled
16721 one level up).
16722 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
16723 and do sanity checks.
16724 (grub_disk_adjust_range): Handle non-512B sectors.
16725 (transform_sector): New function.
16726 (grub_disk_read_small): Likewise.
16727 (grub_disk_read): Rewritten.
16728 (grub_disk_write): Handle non-512B sectors.
16729 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
16730 log_sector_size.
16731 (open_device): Use log_sector_size.
16732 (grub_util_biosdisk_read): Likewise.
16733 (grub_util_biosdisk_write): Likewise.
16734 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
16735 non-512B sectors.
16736 (pc_partition_map_embed): Likewise.
16737 * include/grub/disk.h (grub_disk): New field log_sector_size.
16738 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
16739 (GRUB_DISK_CACHE_BITS): Increased to 6.
16740 * util/grub-fstest.c (fstest): New command testload.
16741 (argp_parser): Likewise.
16742
881ac815
RM
167432011-06-16 Robert Millan <rmh@gnu.org>
16744
16745 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
16746 `ata' driver on kernel of FreeBSD 9.
16747
16748 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
16749 (get_ataraid_disk_name): New functions.
16750 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
16751 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
16752 get_ataraid_disk_name() and get_ada_disk_name().
16753
1e9aef7d
CW
167542011-06-13 Colin Watson <cjwatson@ubuntu.com>
16755
16756 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
16757 input format.
16758
351c7c8a
CW
167592011-05-29 Colin Watson <cjwatson@ubuntu.com>
16760
16761 * docs/grub.texi (Obtaining and Building GRUB): Substitute
16762 `ftp.gnu.org' for `alpha.gnu.org'.
16763
6b4e6430
CW
167642011-05-27 Colin Watson <cjwatson@ubuntu.com>
16765
16766 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
16767 partitions under /dev/disk/by-id/.
16768
c64db050
CW
167692011-05-27 Colin Watson <cjwatson@ubuntu.com>
16770
16771 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
16772 after ten consecutive open failures. Scanning all the way up to
16773 10000 is excessive and can cause serious performance problems in
16774 some configurations.
16775 Fixes Ubuntu bug #787461.
16776
245f4aba
VS
167772011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
16778
16779 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
16780 opening new one.
16781
f767c929
VS
167822011-05-21 Colin Watson <cjwatson@ubuntu.com>
167832011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
16784
16785 Don't stat devices unless we have to.
16786
16787 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
16788 dir == /dev/mapper.
16789 (grub_guess_root_device): Use already known os_dev if possible.
16790 * grub-core/kern/emu/hostdisk.c
16791 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
16792 if device is known to be a dm one.
16793
f35fa3a6
CW
167942011-05-20 Colin Watson <cjwatson@ubuntu.com>
16795
16796 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
16797 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
16798 Reported by: Pawel Tecza.
16799
9a79fcf2
VS
168002011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
16801
16802 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
16803 (lsefisystab): Likewise.
16804 (lssal): Likewise.
16805 (lsefimmap): Likewise.
16806 (hdparm): Enable on qemu-mips.
16807 (setjmp): Add ia64 nodist.
16808 (serial): Simplify tags.
16809
63e3eea9
CW
168102011-05-18 Colin Watson <cjwatson@ubuntu.com>
16811
16812 * Makefile.util.def (grub-ofpathname): Install manual page.
16813
09728256
CW
168142011-05-18 Colin Watson <cjwatson@ubuntu.com>
16815
16816 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
16817
8b63a142
CW
168182011-05-18 Colin Watson <cjwatson@ubuntu.com>
16819
16820 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
16821
e775d8ed
VS
168222011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16823
16824 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
16825 into dprintf.
16826
bf947d36
VS
168272011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16828
16829 Use full 64-bit division.
16830
16831 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
16832 (grub_divmod64): ... this.
16833 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
16834 version.
16835
b84f26c5
CW
168362011-05-18 Colin Watson <cjwatson@ubuntu.com>
16837
16838 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
16839 `source'.
16840
5626056f
CW
168412011-05-18 Colin Watson <cjwatson@ubuntu.com>
16842
16843 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
16844 to avoid accidents when debugging with 'sh -x'.
16845 * grub-core/gensyminfo.sh.in: Likewise.
16846 * tests/example_scripted_test.in: Likewise.
16847 * tests/grub_cmd_regexp.in: Likewise.
16848 * tests/grub_script_blanklines.in: Likewise.
16849 * tests/grub_script_dollar.in: Likewise.
16850 * tests/grub_script_expansion.in: Likewise.
16851 * tests/grub_script_final_semicolon.in: Likewise.
16852 * tests/partmap_test.in: Likewise.
16853 * tests/util/grub-shell-tester.in: Likewise.
16854 * tests/util/grub-shell.in: Likewise.
16855
e2965f4a
CW
168562011-05-18 Colin Watson <cjwatson@ubuntu.com>
16857
16858 Move gfxmenu color handling to video, so that gfxterm can use it
16859 too.
16860
16861 * grub-core/gfxmenu/named_colors.c: Move to ...
16862 * grub-core/video/colors.c: ... here. Rename
16863 grub_gui_get_named_color to grub_video_get_named_color.
16864 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
16865 * grub-core/video/colors.c (my_isxdigit): ... here.
16866 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
16867 Move to ...
16868 * grub-core/video/colors.c (parse_hex_color_component): ... here.
16869 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
16870 to ...
16871 * grub-core/video/colors.c (grub_video_parse_color): ... here.
16872
16873 * include/grub/gui.h (grub_gui_color_t): Move to ...
16874 * include/grub/video.h (grub_video_rgba_color_t): ... here.
16875 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
16876 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
16877 * include/grub/gui.h (grub_gui_map_color): Move to ...
16878 * include/grub/video.h (grub_video_map_rgba_color): ... here.
16879 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
16880 to ...
16881 * include/grub/video.h (grub_video_get_named_color): ... here.
16882 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
16883 * include/grub/video.h (grub_video_parse_color): ... here.
16884
16885 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
16886 video/colors.c.
16887 (gfxmenu): Remove gfxmenu/named_colors.c.
16888 (video) [videomodules]: Add video/colors.c.
16889
16890 Add a background_color command.
16891
16892 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
16893 function.
16894 (GRUB_MOD_INIT): Register background_color command.
16895 (GRUB_MOD_FINI): Unregister background_color command.
16896 (redraw_screen_rect): Allow blend/replace of text layer to be
16897 controlled independently from whether there is a background bitmap.
16898 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
16899 changing bitmap.
16900
1e4b4390
VS
169012011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16902
26618ff0
VS
16903 Patch BPB in ntldr and chainloader --bpb.
16904
1e4b4390
VS
16905 * grub-core/fs/fat.c: Include grub/fat.h.
16906 (grub_fat_bpb): Moved to ...
16907 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
16908 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
16909 grub/ntfs.h.
16910 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
16911 Moved from here...
16912 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
16913 here.
16914 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
16915 New function.
16916 (grub_chainloader_cmd): Patch BPB if --bpb is given.
16917 (GRUB_MOD_INIT): Show --bpb.
16918 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
16919 * grub-core/normal/main.c (features): New variable.
16920 (GRUB_MOD_INIT): Set feature_* variables.
16921 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
16922 proto.
16923 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
16924
cf02731e
VS
169252011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16926
16927 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
16928 for cleanness.
16929
e3a1073f
VS
169302011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16931
16932 FreeDOS direct loading support.
16933
16934 * docs/grub.texi (Supported OS): Add FreeDOS.
16935 * grub-core/Makefile.core.def (freedos): New module.
16936 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
16937 variable.
16938 (grub_relocator16_boot): Handle %ebx.
16939 * grub-core/lib/i386/relocator16.S: Likewise.
16940 * grub-core/loader/i386/pc/freedos.c: New file.
16941
05caa461
VS
169422011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16943
16944 Long Linux command line support.
16945
16946 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
16947 (maximal_cmdline_size): New variable.
16948 (allocate_pages): Use maximal_cmdline_size.
16949 (grub_cmd_linux): Set and use maximal_cmdline_size.
16950 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
16951 (allocate_pages): Use maximal_cmdline_size.
16952 (grub_cmd_linux): Set and use maximal_cmdline_size.
16953 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
16954 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
16955 and cmdline_size.
16956
a2491e23
VS
169572011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
169582011-05-18 Colin Watson <cjwatson@ubuntu.com>
16959
16960 Improve devmapper support
16961
16962 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
16963 (grub_util_is_lvm): New function.
16964 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
16965 than lvm if not dmraid.
16966 Handle mapped md nodes.
16967 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
16968 (grub_util_device_is_mapped): ... this. Make always available. All users
16969 updated.
16970 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
16971 (convert_system_partition_to_system_disk): Handle lvm, mpath and
16972 dmraid nodes.
16973 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
16974
6ad6223e
VS
169752011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16976
16977 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
16978
16979 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
16980 * grub-core/modinfo.sh.in: New file.
16981 * grub-core/Makefile.core.def (modinfo.sh): New script.
16982 * util/grub-mknetdir.in: Use modinfo.sh.
16983 * util/grub-mkrescue.in: Likewise.
16984
543a8f6e
VS
169852011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16986
16987 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
16988 Fix potential usage of Elf32 instead of Elf64 when compiling on
16989 32-bit architecture. Add endianness macros while on it.
16990
4959e111
VS
169912011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16992
16993 Use mipsel- rather than mips- in directories involving mipsel ports to
16994 allow both endiannesses coexist.
16995
16996 * configure.ac: proparate target_cpu=mipsel rather than resetting to
16997 mips. All conditions adjusted.
16998 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
16999 variable.
17000 * util/grub-install.in: Adjust conditions to take renaming into account.
17001 * util/grub-mkimage.c (image_targets): Likewise. New target
17002 mips-qemu_mips-elf for bigendian mips.
17003
35341bbc
VS
170042011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17005
17006 Avoid unnecessary copying on MIPS.
17007
17008 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
17009 early if src == dest.
17010 * util/grub-mkimage.c (generate_image): Arange for src == dest if
17011 compression is none.
17012
b772baed
VS
170132011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17014
17015 Reduce memory footprint on SGI by putting modules before the kernel
17016 as opposed to after.
17017
17018 * grub-core/Makefile.core.def (kernel): Increase linking address.
17019 (none_decompress): Likewise.
17020 (xz_decompress): Likewise.
17021 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
17022 address.
17023 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
17024 layout change.
17025 (grub_arch_modules_addr): New function.
17026 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
17027 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
17028 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
17029 here.
17030 * grub-core/kern/mips/startup.S (total_size): Rename to ...
17031 (grub_total_modules_size): ... this. Make global.
17032 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
17033 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
17034 New definition.
17035 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
17036 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
17037 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
17038 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
17039 * util/grub-mkimage.c (image_target_desc): New flag
17040 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
17041 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
17042 (generate_image): Handle images with modules before kernel.
17043
566a1917
VS
170442011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17045
17046 Prevent potential loss of memory map by overwrite on qemu-mips.
17047
17048 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
17049 Save ram size in $s4.
17050 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
17051 All users changed to grub_arch_memsize.
17052 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
17053 Loongson.
17054 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
17055 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
17056 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
17057 external variable.
17058
5d420cd9
CW
170592011-05-17 Colin Watson <cjwatson@ubuntu.com>
17060
17061 * .bzrignore: Remove grub-dumpbios.
17062
d064b830
CW
170632011-05-17 Colin Watson <cjwatson@ubuntu.com>
17064
17065 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
17066 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
17067 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
17068 existing options which append).
17069 * docs/grub.texi (Simple configuration): Document new options.
17070 Reported by: Ian Jackson. Fixes Debian bug #617538.
17071
3ca2b466
CW
170722011-05-17 Colin Watson <cjwatson@ubuntu.com>
17073
17074 * util/grub-fstest.c (cmd_cat): New function.
17075 (fstest): Handle CMD_CAT.
17076 (options): Add cat.
17077 (argp_parser): Handle cat.
17078
24c9143a
CW
170792011-05-17 Colin Watson <cjwatson@ubuntu.com>
17080
17081 * Makefile.util.def (grub-bin2h): Don't install.
17082 * docs/man/grub-bin2h.h2m: Remove.
17083
90f7ac19
VS
170842011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17085
17086 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
17087 place.
17088
8d4a5178
VS
170892011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17090
17091 Reenable qemu-mips port.
17092
17093 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
17094 Fix small arc bug while on it.
17095 * gentpl.py: Handle qemu_mips.
17096 * grub-core/Makefile.am: Likewise.
17097 * grub-core/Makefile.core.def: Likewise.
17098 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
17099 inappropriate includes.
17100 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
17101 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
17102 * grub-core/kern/main.c (grub_modules_get_end)
17103 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
17104 * grub-core/kern/mips/qemu-mips: Moved to ..
17105 * grub-core/kern/mips/qemu_mips: ... this.
17106 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
17107 (grub_machine_init): Call terminfo_init and serial_init.
17108 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
17109 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
17110 New variable.
17111 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
17112 parameter passing.
17113 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
17114 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
17115 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
17116 * include/grub/mips/qemu_mips/cmos.h: New file.
17117 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
17118 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
17119 Removed.
17120 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
17121 Use correct mips-style address.
17122 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
17123 (GRUB_TICKS_PER_SECOND): Removed.
17124 (grub_get_rtc): Likewise.
17125 (grub_cpu_idle): Likewise.
17126 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
17127 New definition.
17128 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
17129 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
17130 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
17131 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
17132 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
17133 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
17134 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
17135 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
17136
400b9371
VS
171372011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17138
17139 SGI ARCS port.
17140
17141 * Makefile.util.def (libgrubmods.a): Add dvh.c.
17142 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
17143 platforms.
17144 * configure.ac: New target mips-arc.
17145 * gentpl.py: Likewise.
17146 * grub-core/Makefile.am: Likewise.
17147 * grub-core/Makefile.core.def: Likewise.
17148 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
17149 (none_decompress): Likewise.
17150 (lsdev): New module.
17151 (datetime): Use lib/arc/datetime.c on ARC.
17152 (part_dvh): New module.
17153 * grub-core/commands/arc/lsdev.c: New file.
17154 * grub-core/disk/arc/arcdisk.c: Likewise.
17155 * grub-core/kern/mips/arc/init.c: Likewise.
17156 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
17157 aligned addresses.
17158 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
17159 support.
17160 (grub_arch_dl_relocate_symbols): Likewise.
17161 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
17162 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
17163 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
17164 platforms.
17165 * grub-core/lib/arc/datetime.c: New file.
17166 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
17167 pci.h on non-loongson.
17168 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
17169 (grub_linux_boot): Set unused registers to 0.
17170 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
17171 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
17172 * grub-core/mmap/mips/uppermem.c: ...here.
17173 * grub-core/partmap/dvh.c: New file.
17174 * grub-core/term/arc/console.c: Likewise.
17175 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
17176 (grub_terminfo_set_current): Add terminal "arc".
17177 (grub_terminfo_readkey): Support ARC sequences.
17178 * include/grub/arc/arc.h: New file.
17179 * include/grub/arc/console.h: Likewise.
17180 * include/grub/disk.h (grub_disk_dev_id): Add
17181 GRUB_DISK_DEVICE_ARCDISK_ID.
17182 * include/grub/mips/arc/kernel.h: New file.
17183 * include/grub/mips/arc/memory.h: Likewise.
17184 * include/grub/mips/arc/time.h: Likewise.
17185 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
17186 * include/grub/mips/kernel.h (grub_halt): ... here.
17187 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
17188 here...
17189 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
17190 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
17191 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
17192 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
17193 proto.
17194 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
17195 from here ...
17196 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
17197 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
17198 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
17199 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
17200 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
17201 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
17202 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
17203 (grub_phys_addr_t): Moved from here ...
17204 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
17205 (grub_vtop): Moved from here ...
17206 * include/grub/mips/memory.h (grub_vtop): ... here.
17207 (grub_map_memory): Moved from here ...
17208 * include/grub/mips/memory.h (grub_map_memory): ... here.
17209 (grub_unmap_memory): Moved from here ...
17210 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
17211 (grub_machine_mmap_iterate): Moved from here ...
17212 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
17213 (grub_mmap_get_lower): Moved from here ...
17214 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
17215 (grub_mmap_get_upper): Moved from here ...
17216 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
17217 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
17218 here ...
17219 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
17220 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
17221 here ...
17222 * include/grub/mips/time.h (grub_get_rtc): ... here.
17223 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
17224 here ...
17225 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
17226 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
17227 here ...
17228 * include/grub/mips/time.h (grub_cpu_idle): ... here.
17229 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
17230 definition.
17231 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
17232 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
17233 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
17234 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
17235 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
17236 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
17237 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
17238 (GRUB_MACHINE_LINK_ADDR): Likewise.
17239 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
17240 to 6.
17241 * util/grub-install.in: Run dvhtool on ARC.
17242 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 17243 (generate_image): Handle ECOFF output for mips-arc.
400b9371 17244
c8ecc840
VS
172452011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
17246
17247 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
17248 blocks.
17249
153a4b55
VS
172502011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
17251
17252 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
17253 after enabling port.
17254
ff44d107
VS
172552011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
17256
17257 Skip incorrect USB devices.
17258
17259 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
17260 configcnt == 0.
17261 * include/grub/usb.h (grub_usb_err_t): New enum value
17262 GRUB_USB_ERR_BADDEVICE.
17263
638dbe4f
VS
172642011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
17265
17266 Fuloong video init support.
17267
17268 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
17269 well.
17270 (grub_vga_read_arx): New function.
17271 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
17272 definition.
17273 (framebuffer): New members io, mmioptr and mmiobase.
17274 (read_sis_cmd): New function.
17275 (write_sis_cmd): Likewise.
17276 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
17277 rather than 640x400.
17278 * grub-core/video/sis315_init.c: New file.
17279
c3fc520c
VS
172802011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17281
17282 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
17283 non-loongson.
17284 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
17285 to grub_dl_register_symbol.
17286
67b1e5c9
VS
172872011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17288
17289 Fix compilation errors.
17290
17291 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
17292 potentially unused.
17293 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
17294 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
17295 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
17296 to loongson machines.
17297
b756f75f
VS
172982011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17299
17300 Several FS mtime support.
17301
17302 * grub-core/fs/affs.c (grub_affs_time): New struct.
17303 (grub_affs_file): New field mtime.
17304 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
17305 type. Removed 'size'. New field 'di'. All users updated.
17306 (grub_affs_mount): Simplify checsum checking.
17307 (grub_affs_iterate_dir): New helper grub_affs_create_node.
17308 (grub_affs_dir): Handle mtime.
17309 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
17310 (grub_cpio_dir): Likewise.
17311 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
17312 (grub_hfs_filerec): New field mtime.
17313 (grub_hfs_dir): Handle mtime.
17314 (grub_hfs_mtime): New function.
17315 (grub_hfs_fs): Register grub_hfs_mtime.
17316 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
17317 (grub_iso9660_dir): New field mtime.
17318 (grub_fshelp_node): New field dirent.
17319 (iso9660_to_unixtime): New function.
17320 (iso9660_to_unixtime2): Likewise.
17321 (grub_iso9660_read_symlink): Use node->dirent.
17322 (grub_iso9660_iterate_dir): Likewise.
17323 (grub_iso9660_dir): Set mtime.
17324 (grub_iso9660_mtime): New function.
17325 (grub_iso9660_fs): Register grub_iso9660_mtime.
17326 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
17327 (grub_jfs_inode): New fields atime, ctime and mtime.
17328 (grub_jfs_dir): Set mtime.
17329 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
17330 * grub-core/fs/ntfs.c (list_file): Set mtime.
17331 (grub_ntfs_dir): Likewise.
17332 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
17333 (grub_reiserfs_iterate_dir): Set mtime.
17334 (grub_reiserfs_dir): Likewise.
17335 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
17336 (grub_fshelp_node): Likewise.
17337 (grub_sfs_iterate_dir): Set mtime.
17338 (grub_sfs_dir): Likewise.
17339 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
17340 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
17341 (grub_xfs_inode): New fields atime, mtime, ctime.
17342 (grub_xfs_dir): Set mtime.
17343 * include/grub/datetime.h (grub_datetime2unixtime): New function.
17344 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
17345 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
17346
17347 Support UDF symlinks.
17348
17349 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
17350 (grub_ufs_read_symlink): New function. All users updated.
17351
17352 Check amiga partmap checksum.
17353
17354 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
17355 (grub_amiga_partition): Likewise.
17356 (amiga_partition_map_checksum): New function.
17357 (amiga_partition_map_iterate): Check checksum.
17358
5470225d
VS
173592011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17360
17361 ROMFS support.
17362
17363 * Makefile.util.def (libgrubmods.a): Add romfs.
17364 * grub-core/Makefile.core.def (romfs): New module.
17365 * grub-core/fs/romfs.c: New file.
17366
d4680a35
VS
173672011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17368
17369 Squashfs v4 support.
17370
17371 * Makefile.util.def (libgrubmods.a): Add squash4.
17372 * grub-core/Makefile.core.def (squash4): New module.
17373 * grub-core/fs/squash4.c: New file.
17374 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
17375 disk_input_start, disk_input.
17376 (get_byte): Handle disk_input.
17377 (grub_zlib_disk_read): New function.
17378 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
17379
bcb18e74
FZ
173802011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
173812011-05-15 Feiran Zheng <famcool@gmail.com>
17382
17383 * Makefile.util.def (libgrubmods.a): Add minix3.
17384 * grub-core/Makefile.core.def (minix3): New module.
17385 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
17386 (GRUB_MINIX_BSIZE): Removed.
17387 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
17388 (grub_minix_ino_t): New type.
17389 (grub_minix_le_to_cpu_ino): New macro.
17390 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
17391 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
17392 (grub_minix_data): New field block_size.
17393 (grub_minix_read_file): Handle 64-bit correctly.
17394 * grub-core/fs/minix3.c: New file.
17395
32297d5f
TG
173962011-05-15 Tristan Gingold <gingold@free.fr>
173972011-05-15 Robert Millan <rmh.grub@aybabtu.com>
173982011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17399
17400 IA64 support.
17401
17402 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
17403 * configure.ac: Add ia64-efi target.
17404 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
17405 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
17406 * gentpl.py: Add ia64_efi platform.
17407 Rename x86_efi to efi and Add ia64-efi. All users updated.
17408 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
17409 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
17410 Remove kern/generic/rtc_get_time_ms.c on EFI.
17411 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
17412 kern/ia64/dl_helper.c on ia64-efi.
17413 Add kern/emu/cache.c on emu.
17414 (linux): Use on loader/ia64/efi/linux.c on ia64.
17415 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
17416 whether symbol is a function.
17417 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
17418 (grub_symbol): New field 'isfunc'.
17419 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
17420 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
17421 (grub_dl_load_segments): Place all sections into the same region.
17422 [__ia64__]: Create trampolines and got.
17423 [GRUB_MACHINE_EMU]: Call mprotect.
17424 (grub_dl_resolve_symbols): Resolve symbol type as well.
17425 [__ia64__]: Create function descriptors.
17426 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
17427 (grub_rtc_get_time_ms): ... this. Expressions simplified.
17428 (grub_get_rtc): New function.
17429 * grub-core/kern/emu/cache.c [__ia64__]: New file.
17430 * grub-core/kern/emu/cache.S: Renamed to ...
17431 * grub-core/kern/emu/cache_s.S: ... this.
17432 [__ia64__]: Add a nop.
17433 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
17434 [__ia64__]: New function.
17435 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
17436 * grub-core/kern/ia64/dl.c: New file.
17437 * grub-core/kern/ia64/dl_helper.c: Likewise.
17438 * grub-core/kern/ia64/efi/init.c: New file.
17439 * grub-core/kern/ia64/efi/startup.S: Likewise.
17440 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
17441 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
17442 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
17443 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
17444 * grub-core/loader/ia64/efi/linux.c: New file.
17445 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
17446 (GRUB_MOD_DEP): Likewise.
17447 (grub_dl) [__ia64__]: New fields got and tramp.
17448 (grub_dl): New field 'base'.
17449 (grub_dl_register_symbol): New argument isfunc. All users updated.
17450 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
17451 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
17452 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
17453 (grub_ia64_dl_get_tramp_got_size): New proto.
17454 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
17455 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
17456 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
17457 * include/grub/efi/api.h: Skip call wrappers on ia64.
17458 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
17459 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
17460 * include/grub/elf.h (ELF_ST_INFO): New definition.
17461 * include/grub/ia64/efi/kernel.h: New file.
17462 * include/grub/ia64/efi/memory.h: Likewise.
17463 * include/grub/ia64/efi/time.h: Likewise.
17464 * include/grub/ia64/kernel.h: Likewise.
17465 * include/grub/ia64/setjmp.h: Likewise (from glibc).
17466 * include/grub/ia64/time.h: New file.
17467 * include/grub/ia64/types.h: Likewise.
17468 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
17469 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
17470 New protos.
17471 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
17472 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
17473 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
17474 * util/grub-mkimage.c (image_target_desc): New field pe_target.
17475 All users updated.
17476 (EFI64_HEADER_SIZE): New definition. All users updated.
17477 (image_targets): Add ia64-efi.
17478 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
17479 jumpers_addr. All users updated.
17480 Create function descriptors.
17481 (count_funcs): New function.
17482 (unaligned_uint32): New struct.
17483 (MASK20): New definition.
17484 (MASK19): Likewise.
17485 (MASKF21): Likewise.
17486 (add_value_to_slot_20b): New function.
17487 (add_value_to_slot_21_real): Likewise.
17488 (add_value_to_slot_21): Likewise.
17489 (ia64_kernel_trampoline): New struct.
17490 (nopm): New variable.
17491 (jump): Likewise.
17492 (make_trampoline): New function.
17493 (relocate_addresses): Handle ia64.
17494 (make_reloc_section): Likewise.
17495 (load_image): Likewise.
17496
983b414d
VS
174972011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17498
17499 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
17500 warning. Move variables before code while on it.
17501
5d063cdc
VS
175022011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17503
17504 Fuloong support.
17505
17506 * configure.ac: Rename yeeloong platform to loongson. All users updated.
17507 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
17508 * grub-core/boot/mips/loongson/fuloong.S: New file.
17509 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
17510 Explicitly init CS5536.
17511 [FULOONG]: Don't use serial until CS5536 is available.
17512 Set GPIO based on dumps.
17513 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
17514 [FULOONG]: Handle GPIO and memory controller differences.
17515 Parse machine type in $a2.
17516 * grub-core/boot/mips/startup_raw.S: Determine and save the
17517 architecture.
17518 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
17519 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
17520 init on architecture type.
17521 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
17522 SIS315E. Don't init at_keyboard on fuloong.
17523 (grub_halt): Support Fuloong.
17524 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
17525 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
17526 (loongson_machtypes): New array.
17527 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
17528 type.
17529 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
17530 config. All users updated. Handle CS5536 serial.
17531 * grub-core/term/serial.c (grub_serial_register): Conditionalise
17532 default port on machine type. Register serial as inactive.
17533 * grub-core/video/sis315pro.c: New file.
17534 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
17535 definition.
17536 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
17537 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
17538 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
17539 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
17540 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
17541 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
17542 to ...
17543 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
17544 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
17545 definition.
17546 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
17547 (grub_arch_machine): New extern var.
17548 * include/grub/mips/loongson/serial.h
17549 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
17550 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
17551 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
17552 (GRUB_MACHINE_SERIAL_PORT0): ... this.
17553 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
17554 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
17555 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
17556 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
17557 * include/grub/term.h (grub_term_register_input_inactive): New inline
17558 function.
17559 (grub_term_register_output_inactive): Likewise.
17560 * include/grub/video.h (grub_video_driver_id): New value
17561 GRUB_VIDEO_DRIVER_SIS315PRO.
17562 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
17563 New field "names". All users updated.
17564 New field value IMAGE_FULOONG_FLASH.
17565 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
17566
6ada82d1
JU
175672011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
17568
17569 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
17570 and add some clarification.
17571
90c571a4
VS
175722011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17573
17574 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
17575 platforms if kernel is compressed.
17576
de04eecf
VS
175772011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17578
17579 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
17580 unused modules since currently referrence counter isn't reliable and
17581 there isn't much memory to recover there anyway.
17582
57688121
VS
175832011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17584
17585 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
17586 rather than resetting it to allow modules to reference themselves
17587 in init.
17588
3d2c7e35
VS
175892011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17590
17591 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
17592 counter on dependencies since grub_dl_unref already handles this.
17593
b25db218
VS
175942011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17595
17596 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
17597 on error if not already done.
17598
25a45338
VS
175992011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17600
17601 Fix few potential memory misusage.
17602
17603 * grub-core/font/font.c (load_font_index): Don't free char_index to
17604 avoid double free.
b25db218
VS
17605 (grub_font_load): Zero-fill font at alloc for safety.
17606 Close file on error.
17607 (free_font): Free bmp_idx.
25a45338 17608
0cac83df
VS
176092011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17610
17611 * docs/grub.texi (Installation): Fix several outdated claims.
17612
2217a143
VS
176132011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17614
17615 Handle module_license on windows.
17616
17617 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
17618 sections shifted.
17619 (insert_string): Make argument const char * instead of char *.
17620 (write_section_data): Handle long section names.
17621 Handle module_license.
17622
d4de6b01
VS
176232011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17624
17625 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
17626 handle class-free menuentries.
17627 (grub_normal_add_menu_entry): Add a check to be sure.
17628
4c2a3b43
VS
176292011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17630
17631 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
17632 PgUp and PgDown.
17633
85c6210f
VS
176342011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17635
17636 * configure.ac: Bump version to 1.99.
17637
36084912
VS
176382011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17639
17640 Give ATA device a bit more time on first try in order to allow disks
17641 to spin up.
17642
17643 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
17644 if dev->present is 1. Reset dev->present on failure.
17645 (grub_ata_device_initialize): Set dev->present to 1.
17646 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
17647 (grub_ata_device): New member 'present'.
17648
bda0e219
VS
176492011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17650
17651 * util/grub-mkimage.c (generate_image): Update hash.
17652
19e1c41b
VS
176532011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17654
17655 Flush caches on DMA memory.
17656
17657 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
17658 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
17659 (grub_dma_free): Likewise.
17660 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
17661
91bbcc0c
VS
176622011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17663
17664 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
17665 to avoid asm treating ld and sd as macros.
17666
60ddfad3
VS
176672011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17668
17669 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
17670 decompressor.
17671
a298aa04
VS
176722011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17673
17674 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
17675 grub_decompress_core since later would fail if grub_decompress_core
17676 is too far.
17677
9b44feca
VS
176782011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17679
17680 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
17681 R_MIPS_JALR since it's used by newer compiler.
17682
56dbe7b4
VS
176832011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
17684
17685 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
17686
52856af2
VS
176872011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17688
17689 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
17690 file_path to 0 for surety.
17691 (grub_chainloader_boot): Set exit_data to NULL.
17692 Unset the loader once done.
17693 (grub_cmd_chainloader): Fix confusing error message if file is empty.
17694
9c9bfc6d
VS
176952011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17696
17697 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
17698 unknown key into a dprintf.
17699
dd94a3df
VS
177002011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17701
17702 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
17703 on first non-existant partition.
17704
fa68d99c
VS
177052011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17706
17707 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
17708 openning fails.
17709 Reported by: Mark Korenberg.
17710
157effb7
VS
177112011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17712
17713 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
17714 overflow.
17715
ea75312f
VS
177162011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17717
17718 * util/grub-mkimage.c (main): Explicitely flush and sync the output
17719 before closing to ensure that it will be readable by grub-setup.
17720
072b5d31
VS
177212011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17722
17723 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
17724 (devpath_1): Use MAKE_PIWG_PATH.
17725 (devpath_2): Likewise.
17726 (devpath_3): Likewise.
17727 (devpath_4): Likewise.
17728 (devpath_5): Likewise.
17729 (devpath_6): Likewise.
17730
17731 The appleldr.mod was checked that to be binary identical to previous
17732 version.
17733
7fae0051
Z
177342011-05-05 Zach <mikezackles>
17735
17736 Support 2010 Macbooks.
17737
17738 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
17739 (devs): Add devpath_6.
17740
7c515bee
VS
177412011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17742
17743 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
17744 /dev/random. /dev/urandom is good enough for our purposes (salting).
17745
ed660bd8
VS
177462011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17747
17748 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
17749
ee5614b7
VS
177502011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17751
17752 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
17753 hexadecimal.
17754
664889a6
VS
177552011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17756
17757 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
17758 and not 0 on failure.
17759
bd405bbc
CW
177602011-05-03 Colin Watson <cjwatson@ubuntu.com>
17761
17762 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
17763 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
17764 disk; otherwise grub_fs_probe will not fall back to the next
17765 filesystem.
17766 (grub_pxefs_open): Likewise, for consistency.
17767 Reported and tested by: Ezekiel Grave.
17768
4ebff753
CW
177692011-05-03 Colin Watson <cjwatson@ubuntu.com>
17770
17771 * tests/partmap_test.in: Don't hardcode path to parted.
17772 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
17773
8f942553
CW
177742011-05-01 Colin Watson <cjwatson@ubuntu.com>
17775
17776 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
17777 of `ls' to find out which devices are available.
17778
3c62402d
VS
177792011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
17780
17781 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
17782 than source address for efi mmap buffer.
17783
723f63f2
VS
177842011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
17785
17786 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
17787 wrong action on non-detecting the magic.
17788
68797f92
VS
177892011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
17790
17791 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
17792 already supplied by another part of the module (fixes compilation on
17793 FreeBSD).
17794
6be8715d
VS
177952011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
17796
17797 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
17798 match the one used by mdadm.
17799
e91dba5b
CW
178002011-04-21 Colin Watson <cjwatson@ubuntu.com>
17801
17802 * po/README: Add instructions for creating po/LINGUAS.
17803
c85140b3
CW
178042011-04-21 Colin Watson <cjwatson@ubuntu.com>
17805
17806 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
17807 #551428.
17808
17809 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
17810 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
17811 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
17812 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
17813 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
17814 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
17815 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
17816 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
17817 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
17818 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
17819 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
17820 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
17821 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
17822 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
17823 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
17824 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
17825 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
17826 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
17827 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
17828 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
17829 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
17830 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
17831
92051871
CW
178322011-04-21 Colin Watson <cjwatson@ubuntu.com>
17833
17834 * grub-core/kern/emu/getroot.c
17835 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
17836 test that was incorrectly reintroduced in r3214.
17837 Reported by: Ian Dall. Fixes Savannah bug #33133.
17838
b13f79a4
CW
178392011-04-21 Colin Watson <cjwatson@ubuntu.com>
17840
17841 Fix stack pointer handling in 16-bit relocator.
17842
17843 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
17844 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
17845 Fixes Ubuntu bug #683904.
17846
9b710a88
VS
178472011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
17848
17849 * configure.ac: Bump version to 1.99~rc2.
17850
d97e7b59
VS
178512011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
17852
17853 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
17854 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
17855 * grub-core/lib/x86_64/setjmp.S: Likewise.
17856 * grub-core/lib/mips/setjmp.S: Likewise.
17857 * grub-core/lib/powerpc/setjmp.S: Likewise.
17858 * grub-core/lib/sparc64/setjmp.S: Likewise.
17859
0624551c
VS
178602011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
17861
17862 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
17863 * grub-core/lib/efi/datetime.c: Likewise.
17864
e8f28d4c
VS
178652011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
17866
17867 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
17868 New function.
17869 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
17870 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
17871 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
17872
bba79a15
VS
178732011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
17874
17875 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
17876 bitmap.
17877 (grub_gfxterm_term_init): Likewise.
17878
abc474ef
VS
178792011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
17880
17881 Take into account the decorations the computing menu entry width.
17882
17883 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
17884 (grub_gfxmenu_create_box): Register get_border_width.
17885 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
17886 if available.
17887 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
17888 get_border_width.
17889
e74b3947
EP
178902011-04-18 Endres Puschner <code@e7p.de>
17891
17892 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
17893 Don't skip first class.
17894
34faa595
VS
178952011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
17896
17897 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
17898 chunks.
17899 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
17900
93a777e3
VS
179012011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
17902
17903 Complete 64-bit division support.
17904
17905 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
17906 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
17907 * include/grub/misc.h (grub_divmod64): Rename to ...
17908 (grub_divmod64_full): ... this.
17909 (grub_divmod64): New inline function.
17910
a5102d94
VS
179112011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
17912
17913 * util/grub-mkimage.c (generate_image): Add forgotten comma.
17914
f3fb7b36
VS
179152011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
17916
17917 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
17918 performing the necessary test.
17919
9ac718b0
VS
179202011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
17921
17922 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
17923 (kfreebsd.elf): Likewise.
17924 (pc-chainloader.elf): Likewise.
17925 (ntldr.elf): Likewise.
17926
50d2cc5a
VS
179272011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
17928
17929 Identify RAID by its UUID rather than (guessed) name.
17930
17931 * grub-core/disk/raid.c (ascii2hex): New function.
17932 (grub_raid_open): Accept mduuid/%s specification.
17933 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
17934 (get_mdadm_uuid): ... this.
17935 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
17936
e03f7bea
VS
179372011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
17938
17939 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
17940 to negative size.
17941
e74c3112
CW
179422011-04-13 Colin Watson <cjwatson@ubuntu.com>
17943
17944 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
17945 btrfs subvolume.
17946 * util/grub.d/20_linux_xen.in: Likewise.
17947
78fa584f
CW
179482011-04-13 Colin Watson <cjwatson@ubuntu.com>
17949
17950 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
17951 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
17952
17953 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
17954 Build a list of relevant visible mounts using the mnt_id and
17955 parent_mnt_id fields, and then scan that list at the end.
17956
9d5f8162
CW
179572011-04-12 Colin Watson <cjwatson@ubuntu.com>
17958
17959 * docs/grub.texi (normal): New section.
17960 (normal_exit): New section.
17961 (Embedded configuration): Add reference to normal.
17962 (GRUB only offers a rescue shell): Likewise.
17963 * docs/grub-dev.texi (Error Handling): Fix typo.
17964
09a9d66f
CW
179652011-04-12 Colin Watson <cjwatson@ubuntu.com>
17966
17967 * NEWS: Drop obsolete entry about probe-only btrfs support.
17968
0c676933
CW
179692011-04-12 Colin Watson <cjwatson@ubuntu.com>
17970
17971 * util/import_gcry.py: Fix typo.
17972
ec9f5e0d
VS
179732011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
17974
17975 * NEWS: Add btrfs support.
17976
fe6b2cba
VS
179772011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
179782011-04-11 Colin Watson <cjwatson@ubuntu.com>
17979
17980 BtrFS support. Written by me (Vladimir) with important bugfixes and
17981 even more important testing by Colin.
17982
17983 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
17984 * grub-core/Makefile.core.def (btrfs): Add crc.c.
17985 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
17986 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
17987 mem_input_off and mem_input. All users updated to accept in-RAM input.
17988 (gzio_seek): New function.
17989 (test_zlib_header): Likewise.
17990 (grub_gzio_read): Likewise.
17991 (grub_zlib_decompress): Likewise.
17992 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
17993 Accept partial and non-virtual mounts.
17994 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
17995 avoid receiving /dev/dm-X as device.
17996 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
17997 Handle bind and partial mounts.
17998 * grub-core/lib/crc.c: New file.
17999 * include/grub/deflate.h: Likewise.
18000 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
18001 proto.
18002 * include/grub/lib/crc.h: New file.
18003
e745cf0c
VS
180042011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18005
18006 Implement automatic module license checking according to new GNU
18007 guidelines.
18008
18009 * grub-core/kern/dl.c (grub_dl_check_license): New function.
18010 (grub_dl_load_core): Use grub_dl_check_license.
18011 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
18012 (GRUB_MOD_LICENSE): Likewise.
18013 (GRUB_MOD_DUAL_LICENSE): Likewise.
18014 All modules updated.
18015
2a9bc016
CW
180162011-04-11 Colin Watson <cjwatson@ubuntu.com>
18017
18018 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
18019 reserved_first_sector to 1. btrfs reserves plenty of space for boot
18020 loaders.
18021 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
18022
8a3bc88e
VS
180232011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18024
18025 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
18026
af869a4a
VS
180272011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18028
18029 * util/grub-fstest.c (read_file): Report GRUB error if file opening
18030 failed.
18031
9ee8d94f
VS
180322011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18033
18034 * grub-core/kern/file.c (grub_file_open): Don't take into account the
18035 parenthesis in the middle of the filename.
18036
b01abe3e
VS
180372011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18038
18039 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
18040 rather than trying to put initrd way too high.
18041 Reported by: Ryan Lortie <desrt@desrt.ca>
18042
335bda1e
VS
180432011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18044
18045 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
18046 improperly removed string.
18047
5ca1a64d
VS
180482011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18049
18050 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
18051 is_disk.
18052 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
18053 (open_device) Likewise.
18054 (grub_util_biosdisk_close): Likewise.
d8ce9995 18055 Reported by: Mark Korenberg.
5ca1a64d 18056
cbac5b1e
AK
180572011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
18058
18059 * util/grub-mkconfig_lib.in: Add missing quotes.
18060
088cdb65
CW
180612011-04-10 Colin Watson <cjwatson@ubuntu.com>
18062
18063 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
18064 is NULL.
18065
8b8a81fa
VS
180662011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18067
18068 Dynamically count the number of lines for the lower banner.
18069
18070 * grub-core/normal/menu_entry.c (per_term_screen): New member
18071 num_entries.
18072 (print_down): Use num_entries.
18073 (update_screen): Likewise.
18074 (grub_menu_entry_run): Set num_entries.
18075 * grub-core/normal/menu_text.c (menu_viewer_data): New member
18076 num_entries.
18077 (grub_print_message_indented): Move real part to ...
18078 (grub_print_message_indented_real): ... here. Additional argument
18079 dry_run.
18080 (draw_border): Additional argument num_entries.
18081 (print_message): Additional argument dry_run.
18082 (print_entries): Receive menu viewer data.
18083 (grub_menu_init_page): New argment num_entries.
18084 (menu_text_set_chosen_entry): Use num_entries.
18085 (grub_menu_try_text): Likewise.
18086 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
18087 All users updated.
18088 (grub_ucs4_count_lines): New function.
18089 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
18090 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
18091 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
18092 (grub_term_border_height): Likewise.
18093 (grub_term_num_entries): Likewise.
18094
277f955b
VS
180952011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18096
18097 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
18098 Remove now unused string.
18099
536ce85a
CW
181002011-04-09 Colin Watson <cjwatson@ubuntu.com>
18101
18102 * docs/grub-dev.texi (Finding your way around): Update for 1.99
18103 build system.
18104 (Getting started): GRUB is developed in Bazaar now, not Subversion.
18105
18106 (Comment): Fix typo.
18107 (Getting started): General copy-editing.
18108 (Typical Development Experience): Likewise.
18109 (Error Handling): Likewise.
18110 (Video API): Likewise.
18111
2cf09e32
CW
181122011-04-09 Colin Watson <cjwatson@ubuntu.com>
18113
18114 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
18115 throughout.
18116
1ec652f4
VS
181172011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18118
18119 * util/grub-mkimage.c (main): Handle special naming of yeeloong
18120 directory.
18121
2c583728
CW
181222011-04-08 Colin Watson <cjwatson@ubuntu.com>
18123
18124 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
18125 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
18126 "development".
18127
d7a565e9
VS
181282011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18129
18130 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
18131 grub_strcpy since the lines aren't necessarily 0-terminated.
18132
7c2e4909
VS
181332011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18134
18135 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
18136 root on legacy.
18137
34c09785
VS
181382011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18139
18140 * grub-core/commands/probe.c (options): Argument to set isn't optional.
18141 (GRUB_MOD_INIT): DEVICE isn't optional.
18142
6a6f8058
VS
181432011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18144
18145 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
18146 word on new line if it's too long anyway. Fixes a hang.
18147
2e335e90
VS
181482011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18149
18150 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
18151 const.
18152 * util/grub-setup.c (main): Reuse md device name if available.
18153 * util/raid.c (grub_util_raid_getmembers): Receive device name and
18154 not GRUB name as argument.
18155 Based on patch by: Florian Wagner <fwagner>.
18156
10a7a867
VS
181572011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18158
18159 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
18160 Place mbi on low memory for better compatibility.
18161
7a3d6cd9
VS
181622011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18163
18164 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
18165
18dd6b47
VS
181662011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
181672011-04-08 Colin Watson <cjwatson@ubuntu.com>
18168
18169 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 18170 * conf/Makefile.common: Likewise.
18dd6b47 18171
3c0e3f14
VS
181722011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18173
f7148863
VS
18174 * grub-core/normal/menu.c: Add missing include.
18175
181762011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18177
18178 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 18179
6d1fa41f
MZ
181802011-04-08 Martin Zuther <mzuther@mzuther.de>
18181
18182 * util/grub-mkconfig.in: Ignore emacsen backup.
18183
478182a8
VS
181842011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18185
18186 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
18187 on open.
18188 (grub_util_biosdisk_close): Likewise.
18189
72a89a54
VS
181902011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18191
18192 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
18193 const attribute and use grub_isdigit.
18194
b5ebecfa
A
181952011-04-06 Andrey <dev_null@ukr.net>
18196
18197 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
18198 gcc warning.
18199
7755f66e
VS
182002011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18201
18202 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
18203 useful grub_dprintf's.
18204
461121ff
VS
182052011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18206
18207 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
18208
2a961775
VS
182092011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18210
18211 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
18212
adf594cc
VS
182132011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18214
18215 Output errors if theme loading failed.
18216
18217 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
18218 grub_gfxterm_fullscreen on error paths to ...
18219 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
18220 theme loading error.
18221
665900a3
VS
182222011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18223
18224 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
18225 space for older compilers.
18226 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
18227
a562b479
VS
182282011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18229
18230 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
18231 and report them as not RAID members since they are useless for GRUB.
18232 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
18233
850e9373
VS
182342011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18235
18236 Increase LVM implementation robustness in order not to crash on
18237 configurations like pvmove. Previously code assumed that in some places
18238 only lvs or only pvs are used whereas it seems that they are used
18239 interchangeably.
18240
18241 * grub-core/disk/lvm.c (read_node): New function.
18242 (read_lv): Use read_node.
18243 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
18244 Match volumes only at the end when all lvs are found. Take both
18245 pvs (first) and lvs (second) into account.
18246 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
18247 mirror_* into node_*. All users updated.
18248 (grub_lvm_stripe): Merge this ...
18249 (grub_lvm_mirror): ... and this ...
18250 (grub_lvm_node): ... into this. All users updated.
18251
6f332153
VS
182522011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18253
18254 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
18255 of function to allow further scanning for LVMs.
18256
829ea451
VS
182572011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18258
18259 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
18260 on failed seek as it breaks open fd reusage.
18261
09ceb9a5
VS
182622011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18263
18264 * util/grub-install.in: Add a recommendation to use --recheck before
18265 reporting bugs.
18266
67e11623
VS
182672011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18268
18269 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
18270 are obtained.
18271
caee5efd
VS
182722011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18273
18274 GRUB developper manual based on existing Internals section and
18275 contributions by the various authors with active copyright assignment.
18276
18277 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
18278 * docs/font_char_metrics.png: New file.
18279 * docs/font_char_metrics.txt: Likewise.
18280 * docs/grub-dev.texi: Likewise.
18281 * docs/grub.texi (Internals): Move from here ...
18282 * docs/grub-dev.texi: ... here.
18283
2cccc747
CW
182842011-04-01 Colin Watson <cjwatson@ubuntu.com>
18285
18286 Store the loopback device as data on loopback grub_disk structures,
18287 rather than the file it points to. This fixes use of freed memory
18288 if an existing loopback device is replaced.
18289
18290 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
18291 disk->data, not dev->file.
18292 (grub_loopback_read): Adjust file assignment to match.
18293 Fixes Ubuntu bug #742967.
18294
186ae367
CW
182952011-04-01 Colin Watson <cjwatson@ubuntu.com>
18296
18297 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
18298 when replacing an existing device.
18299
cfed2ad0
VS
183002011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
18301
18302 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
18303 memory corruptions.
18304
18305 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
18306 unsigned.
18307 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
18308 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
18309 (grub_jfs_read_inode): Likewise.
18310 (grub_jfs_opendir): Likewise. Remove now useless casts.
18311 (grub_jfs_getent): Likewise.
18312 Make ino a grub_uint32_t rather than int.
18313 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
18314 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
18315 division and module with bit operations.
18316 (grub_jfs_find_file): Make ino a grub_uint32_t.
18317 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
18318
05d2ed32
CW
183192011-04-01 Colin Watson <cjwatson@ubuntu.com>
18320
18321 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
18322 warning. (This was in fact always initialised before use, but GCC
18323 wasn't smart enough to prove that.)
18324 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
18325
91dc6073
VS
183262011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
18327
18328 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
18329 stack alignment.
18330 (efi_wrap_1): Likewise.
18331 (efi_wrap_2): Likewise.
18332 (efi_wrap_3): Likewise.
18333 (efi_wrap_4): Likewise.
18334 (efi_wrap_5): Likewise.
18335 (efi_wrap_6): Likewise.
18336 (efi_wrap_10): Likewise.
18337 Based on information by: Red Hat/Peter Jones.
18338
a8afc1d1
CW
183392011-03-31 Colin Watson <cjwatson@ubuntu.com>
18340
18341 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
18342 set-but-not-used variable.
18343
a826cc7d
CW
183442011-03-31 Colin Watson <cjwatson@ubuntu.com>
18345
18346 * docs/grub.texi (Simple configuration): Be more explicit about
18347 GRUB_DEFAULT, and add an example.
18348 Reported by: Leslie Rhorer.
18349
875b67ba
CW
183502011-03-30 Colin Watson <cjwatson@ubuntu.com>
18351
18352 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
18353 shell".
18354
fd7cd914
AS
183552011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
18356
18357 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
18358 * util/grub.d/20_linux_xen.in: Likewise.
18359
090b1b6a
VS
183602011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18361
18362 * util/grub.d/10_linux.in: Try alternative config filenames where
18363 we parse config file.
18364 * util/grub.d/20_linux_xen.in: Likewise.
18365
baad885c
AS
183662011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
18367
18368 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
18369 * util/grub.d/20_linux_xen.in: Likewise.
18370
241e41f5
VS
183712011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18372
18373 * grub-core/disk/raid.c (insert_array): Add few potentially
18374 useful grub_util_info.
18375 (grub_raid_register): Likewise.
18376
56445fb2
VS
183772011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18378
18379 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
18380 Preserve partition number in mdadm code path.
18381
c871b1c6
VS
183822011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18383
18384 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
18385 few potentially useful grub_util_info.
18386
5e631b4f
CW
183872011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18388
18389 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
18390
2d5d0333
CW
183912011-03-30 Colin Watson <cjwatson@ubuntu.com>
18392
18393 * docs/grub.texi (default): Use @example rather than nested
18394 itemized lists to avoid breaking gendocs.
18395
3d7ed04e
CW
183962011-03-30 Colin Watson <cjwatson@ubuntu.com>
18397
18398 * docs/grub.texi (Future): Update.
18399
abf04200 184002011-03-30 Colin Watson <cjwatson@ubuntu.com>
18401
18402 * docs/grub.texi (Environment): New chapter.
18403 (Changes from GRUB Legacy): Link to "Environment block" section for
18404 details of limitations.
18405 (Simple configuration): Likewise. Link to documentation of gfxmode
18406 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
18407 respectively.
18408 (Shell-like scripting): Note that normal variables are stored in the
18409 environment.
18410 (gettext): Link to documentation of lang and locale_dir.
18411 (list_env): New section.
18412 (load_env): New section.
18413 (save_env): New section.
18414
18415 (Reporting bugs): Fix typo.
18416
e1ad0edd
VS
184172011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18418
18419 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
18420 the example.
18421
5d803174
VS
184222011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18423
18424 * grub-core/term/at_keyboard.c (set_scancodes)
18425 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
18426
2a2da1d0
CW
184272011-03-30 Colin Watson <cjwatson@ubuntu.com>
18428
18429 * docs/grub.texi (Menu-specific commands): Remove some semantics
18430 that were true in GRUB Legacy but not in GRUB 2.
18431 (submenu): New section.
18432 (false): New section.
18433 (read): New section.
18434 (true): New section.
18435
a7527639
CW
184362011-03-30 Colin Watson <cjwatson@ubuntu.com>
18437
18438 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
18439
184402011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
18441
18442 * docs/grub.texi (Simple configuration): Explain some of the
18443 current limitations of grub-mkconfig.
8a748df2 18444 Reported by: Leslie Rhorer.
e30af029 18445
fc858482
VS
184462011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18447
18448 Old macs search for boot.efi rather than for bootia32.efi.
18449
18450 * util/grub-install.in: Copy bootia32.efi to boot.efi.
18451 * util/grub-mkrescue.in: Likewise.
18452 Suggested by: Peter Jones.
18453
e1eb511d
VS
184542011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18455
18456 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
18457
70e75364
VS
184582011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18459
18460 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
18461 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
18462 (grub_lvm_mirror): New struct.
18463 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
18464 (grub_lvm_iterate): Iterate only visible volumes.
18465 (grub_lvm_read): Factor out to ..
18466 (read_lv): ... this. Support mirrors.
18467 (grub_lvm_read): New wrapper function.
18468 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
18469 stripped or mirrored.
18470
fc18f6a3
VS
184712011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18472
18473 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
18474
5c650f4c
CW
184752011-03-29 Colin Watson <cjwatson@ubuntu.com>
18476
18477 * docs/grub.texi (loopback): New section.
18478
61d7156b
CW
184792011-03-29 Colin Watson <cjwatson@ubuntu.com>
18480
18481 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
18482 removed -p option.
18483
994b8264
CW
184842011-03-29 Colin Watson <cjwatson@ubuntu.com>
18485
18486 * docs/grub.texi (BIOS installation): New section, partly based on
18487 previous text in other sections.
18488 (Installing GRUB using grub-install): Replace BIOS discussion with a
18489 cross-reference.
18490 (Images): Likewise.
18491
9e4d19e0
VS
184922011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18493
18494 * grub-core/kern/emu/hostdisk.c (find_partition_start)
18495 [HAVE_DIOCGDINFO]: Add safety checks.
18496
a307c0b2
VS
184972011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18498
18499 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
18500 per default compiled in kernel and prior to 8.0 isn't shipped at all.
18501
b4db4f39
CW
185022011-03-29 Colin Watson <cjwatson@ubuntu.com>
18503
18504 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
18505 real_sb->size is zero (e.g. RAID-0), get the disk size from
18506 real_sb->data_size instead.
18507 Fixes Ubuntu bug #743136.
18508
35e5f84c
VS
185092011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18510
18511 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
18512 printf clauses for printing size and start.
18513
d2e29d81
VS
185142011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18515
18516 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
18517 Reported and tested by: Timothy Nikkel.
18518
ed5587af
VS
185192011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18520
18521 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
18522 (dirty_region_add_real): ... this.
18523 (dirty_region_add): Don't discard margin refresh when performing
18524 scheduled repaint.
18525
a1dc717c
VS
185262011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18527
18528 * grub-core/lib/relocator.c (allocate_regstart)
18529 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
18530 terminals are capabple of malloc-free operation.
18531 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
18532 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
18533
9f3677d3
VS
185342011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
18535
18536 * util/grub-setup.c: Copy the partition table zone if floppy support
18537 is disabled, even if no partition table is found.
18538
18539 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
18540 during POST if an invalid partition table is contained in the PBR
18541 of the active partition when GRUB is installed to a partition.
18542
24148725
CW
185432011-03-28 Colin Watson <cjwatson@debian.org>
18544
18545 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
18546 comment.
18547
f329eda7
CW
185482011-03-28 Colin Watson <cjwatson@debian.org>
18549
18550 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
18551 to be specific about what kind of RAID device we're scanning for.
18552
c482ad98
SG
185532011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
18554
18555 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
18556 return freed string.
18557
5ee04984
VS
185582011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18559
18560 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
18561
f4727da9
VS
185622011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18563
18564 Use libgeom on FreeBSD to detect partitions.
18565
18566 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
18567 (grub-mkrelpath): Likewise.
18568 (grub-script-check): Likewise.
18569 (grub-editenv): Likewise.
18570 (grub-mkpasswd-pbkdf2): Likewise.
18571 (grub-fstest): Likewise.
18572 (grub-mkfont): Likewise.
18573 (grub-mkdevicemap): Likewise.
18574 (grub-probe): Likewise.
18575 (grub-setup): Likewise.
18576 (grub-ofpathname): Likewise.
18577 (grub-mklayout): Likewise.
18578 (example_unit_test): Likewise.
18579 (grub-menulst2cfg): Likewise.
18580 * grub-core/Makefile.core.def (grub-emu): Likewise.
18581 (grub-emu-lite): Likewise.
18582 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
18583 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
18584 define HAVE_DIOCGDINFO.
18585 (follow_geom_up) [FreeBSD]: New function.
18586 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
18587 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
18588 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
18589 unconditionally of HAVE_DIOCGDINFO.
18590
82fe6c75
VS
185912011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18592
18593 Fix FreeBSD compilation problem.
18594
18595 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
18596 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
18597
4c6c9431
CW
185982011-03-24 Colin Watson <cjwatson@ubuntu.com>
18599
18600 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
18601 Switch back to page zero before loading a kernel, since some kernel
18602 drivers expect that.
18603 Thanks to: Felix Kuehling.
18604
c7064d94
VS
186052011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
18606
18607 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
18608 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
18609 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
18610
3f71cded
VS
186112011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
18612
18613 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
18614 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
18615
ef6de21a
VS
186162011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
18617
18618 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
18619 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
18620 malloc is disabled.
18621
8bc66a2c
VS
186222011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
18623
18624 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
18625 for modules headers when counting the needed allocation size.
18626
5657722c
VS
186272011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18628
18629 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
18630 if no ASCII character is found to prevent crash.
18631
41a85f55
AK
186322011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
18633
18634 * grub-core/video/bitmap.c (match_extension): Ignore case.
18635
59e1e5f1
VS
186362011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18637
18638 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
18639
bd4d051a
VS
186402011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18641
18642 * grub-core/script/parser.y: Declare "time" as valid argument.
18643
bae7fcc1
PJ
186442011-03-23 Peter Jones <pjones@redhat.com>
18645
18646 Fix incorrect assert failure reporting.
18647
18648 * grub-core/tests/example_functional_test.c (example_test): Add
18649 a failure comment.
18650 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
18651 (failure_start): ...this. Check that malloc succeeded.
18652 Don't call xvasprintf. Return failure struct.
18653 (failure_append_vtext): New function.
18654 (failure_append_text): Likewise.
18655 (add_failure): Likewise.
18656 (grub_test_assert_helper): Likewise.
18657 * include/grub/test.h (grub_test_assert_helper): New declaration.
18658 (grub_test_assert): Macro rewritten.
18659
537dc9be
VS
186602011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18661
18662 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
18663
fa3e01bf
VS
186642011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18665
18666 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
18667
b1d28404
VS
186682011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18669
18670 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
18671 into GRUB-style one.
18672
2e3e2e09
VS
186732011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18674
18675 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
18676 error and not grub_errno.
18677 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
18678
ed57e557
VS
186792011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18680
18681 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
18682 GRUB_USB_SPEED_NONE in case of failure and not the error code.
18683
d1611f01
VS
186842011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18685
18686 * grub-core/efiemu/i386/pc/cfgtables.c
18687 (grub_machine_efiemu_init_tables): Make declaration a prototype.
18688 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
18689 (grub_xnu_unlock): Likewise.
18690 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
18691
7d4e39d6
VS
186922011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18693
18694 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
18695 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
18696 * grub-core/commands/hashsum.c (aliases): Likewise.
18697 * grub-core/commands/setpci.c (pci_registers): Likewise.
18698 * grub-core/disk/usbms.c (attach_hook): Likewise.
18699 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
18700 (zio_checksum_table): Likewise.
18701 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
18702 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
18703 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
18704 * grub-core/lib/relocator.c (leftovers): Likewise.
18705 (extra_blocks): Likewise.
18706 * grub-core/loader/i386/bsd.c (relocator): Likewise.
18707 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
18708 (modules_last): Likewise.
18709 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
18710 (devices): Likewise.
18711 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
18712 (modules_last): Likewise.
18713 * grub-core/normal/auth.c (users): Likewise.
18714 * grub-core/normal/context.c (initial_menu): Likewise.
18715 (current_menu): Likewise.
18716 * grub-core/normal/crypto.c (crypto_specs): Likewise.
18717 * grub-core/term/serial.c (grub_serial_ports): Likewise.
18718 (grub_serial_terminfo_input_template): Likewise.
18719 (grub_serial_terminfo_output_template): Likewise.
18720 (grub_serial_terminfo_input): Likewise.
18721 (grub_serial_terminfo_output): Likewise.
18722 (registered): Likewise.
18723 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
18724
40fc4659
VS
187252011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18726
18727 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
18728 grub_video_mode_type_t.
18729 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
18730 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
18731 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
18732
2da48d28
VS
187332011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18734
18735 * util/grub-install.in: Correct the x86-64 name as x86_64.
18736
9b43bf39
CW
187372011-03-11 Colin Watson <cjwatson@ubuntu.com>
18738
18739 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
18740 initial chunk read from the kernel always includes GRUB's multiboot
18741 header, which is now outside the first sector.
18742
be1a7ce0
CW
187432011-03-09 Colin Watson <cjwatson@ubuntu.com>
18744
18745 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
18746 cached mmap_size, so that this works correctly when called multiple
18747 times.
18748 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
18749
83a3c48d
CW
187502011-03-09 Colin Watson <cjwatson@ubuntu.com>
18751
18752 * docs/grub.texi (Simple configuration): Tidy up formatting.
18753
57d75699
SJ
187542011-03-07 Szymon Janc <szymon@janc.net.pl>
18755
18756 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
18757 Set-but-not-used variable removed.
18758
028501a0
VS
187592011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
18760
18761 Workaround yet another IEEE1275 bug.
18762
18763 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
18764 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
18765 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
18766 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
18767 is set.
18768 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
18769 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
18770
d998657d
VS
187712011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
18772
18773 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
18774 error.
18775
fee7cdd4
CW
187762011-02-11 Colin Watson <cjwatson@ubuntu.com>
18777
18778 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
18779 empty, since in that case we can only generate either nothing or a
18780 syntactically invalid configuration file.
18781 Reported by: Michal Suchanek. Fixes Debian bug #612898.
18782
97286eb5
CW
187832011-02-09 Colin Watson <cjwatson@ubuntu.com>
18784
18785 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
18786 (Making a GRUB bootable CD-ROM): Likewise.
18787 (Invoking grub-mkrescue): New section.
18788 Reported by: Yann Dirson. Fixes Debian bug #612585.
18789
22b28eb3
CW
187902011-02-09 Colin Watson <cjwatson@ubuntu.com>
18791
18792 * util/grub-install.in: Remove unnecessary brackets from tr
18793 arguments.
18794 * util/grub.d/10_hurd.in: Likewise.
18795 * util/grub.d/10_kfreebsd.in: Likewise.
18796 * util/grub.d/10_linux.in: Likewise.
18797 * util/grub.d/20_linux_xen.in: Likewise.
18798 Reported by: Jamie Heilman. Fixes Debian bug #612564.
18799
7e735e43
CW
188002011-02-08 Colin Watson <cjwatson@ubuntu.com>
18801
18802 * include/grub/file.h (not_easly_seekable): Rename to ...
18803 (not_easily_seekable): ... this. Update all users.
18804
800f1881
CW
188052011-01-28 Colin Watson <cjwatson@ubuntu.com>
18806
18807 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
18808 grub-mkrescue.
18809
3281d3d6
VS
188102011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
18811
18812 * util/grub-mkimage.c (generate_image): Refuse to create the images
18813 bigger than the actual flash (512K) in Loongson machines. 512K is also
18814 the biggest chip supported by them.
18815
3533413c
VS
188162011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18817
18818 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
18819
73ae4f4f
VS
188202011-01-22 Anthony DeRobertis <anthony@derobert.net>
18821
18822 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
18823 super_offset field.
18824
37f4f608
VS
188252011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18826
18827 * util/grub-install.in: Ignore install device on platforms
18828 where it doesn't make sense. Always use UUIDs except on pc, efi and
18829 sparc64.
18830 Reported by: Daniel Kahn Gillmor.
18831
03a4ccb5
VS
188322011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18833
18834 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
18835
ffc8f4d8
VS
188362011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18837
18838 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
18839 (iterate_real): Don't rely on partition being non-NULL.
18840
80f23be7
VS
188412011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18842
18843 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
18844 supported platforms. Put a compile time assert for this rather than
18845 generate a warning with 32-bit shift.
18846
5d4f4dd5
VS
188472011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18848
18849 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
18850 logical expression more readable.
18851
e489601a
VS
188522011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18853
18854 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
18855 even if some elements have a name.
18856 Reported by: Alexander GQ Gerasiov.
18857
96e0a6ea
CW
188582011-01-22 Colin Watson <cjwatson@ubuntu.com>
18859
18860 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
18861 path unreadable if `grub-probe -t abstraction' fails, for example if
18862 memberlist fails on an LVM volume group.
18863 Reported by: Darius Jahandarie.
18864
81431e2b
CW
188652011-01-22 Colin Watson <cjwatson@ubuntu.com>
18866
18867 * docs/grub.texi (Simple configuration): Document
18868 GRUB_PRELOAD_MODULES.
18869
5e79d66a
CW
188702011-01-17 Colin Watson <cjwatson@ubuntu.com>
18871
18872 * .bzrignore: Remove nonexistent grub-pbkdf2.
18873
646ada34
VS
188742011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
18875
18876 * configure.ac: Bump version to 1.99~rc1.
18877
04360337
VS
188782011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
18879
18880 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
18881 for safety.
18882
46c9db88
VS
188832011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
18884
18885 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
18886 module.
18887
188882011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
18889
18890 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
18891
4fbf1852
VS
188922011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
18893
18894 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
18895 diskdevid.
18896
f1632d4d
VS
188972011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
18898
18899 Fix compilation on cygwin.
18900
18901 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
18902 -R .drectve on cygwin.
18903 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
18904 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
18905 (COND_CYGWIN): New condition.
18906 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
18907 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
18908 not @TARGET_OBJ2ELF@.
18909 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
18910 type to determine whether aux is to be used.
18911
0b5e127b
VS
189122011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
18913
18914 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
18915 realpath'ed device string.
18916 Handle floppy (somewhat).
18917 Issue error in unknown case rather than garbage.
18918 Reported by: Axel Beckert.
18919
173b71e9
VS
189202011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
18921
18922 * util/grub.d/00_header.in (load_video): Handle the case when no video
18923 drivers available.
18924 Thanks to: Axel Beckert.
18925
f8f479db
VS
189262011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
18927
18928 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
18929 variable. Fixes problem on big endian platforms.
18930
8fc0a245
VS
189312011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
18932
18933 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
18934 It doesn't work well there.
18935
b8494fbe
VS
189362011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
18937
18938 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
18939 warning.
18940 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
18941 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
18942 counter.
18943
b44a558c
VS
189442011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
18945
18946 Use alias->path rather than buggy "canon".
18947
18948 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
18949 (ofdisk_hash_add): New argument curcan. All users updated.
18950
51fa856c
CW
189512011-01-11 Colin Watson <cjwatson@ubuntu.com>
18952
18953 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
18954
9da068a5
VS
189552011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
18956
18957 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
18958 loadmask before doing any calculations. Use correct type for offset.
18959 (grub_linux_load64): Likewise.
18960
86205c94
CW
189612011-01-11 Colin Watson <cjwatson@ubuntu.com>
18962
18963 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
18964 with NULL.
18965 (console_grub_equivalences_unshift): Likewise.
18966 Reported by: Daniel Dehennin.
18967
4531a206
VS
189682011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
18969
18970 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
18971 (set_env_limn_ro): Likewise.
18972 (GRUB_MOD_INIT): Likewise.
18973 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
18974 ARRAY_SIZE while on it.
18975 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
18976 * grub-core/normal/context.c (grub_env_export): Move from here ...
18977 * grub-core/kern/env.c (grub_env_export): ... here.
18978 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
18979 prefix.
18980 * grub-core/kern/main.c (grub_main): Export root and prefix.
18981 * include/grub/env.h (grub_env_export): Export.
18982 Reported by: Seth Goldberg.
18983
45146057
VS
189842011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
18985
18986 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
18987 Take into account space used by ELF sections and multiboot palette.
18988 Reported by: Grégoire Sutre.
18989
f093110b
VS
189902011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
18991
18992 * BUGS: New file.
18993
3395fe52
VS
189942011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18995
18996 Pass more appropriate video id to Linux.
18997
18998 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
18999 grub_video_get_driver_id and variable gfxpayloadforcelfb to
19000 fill have_vga.
19001 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
19002 shift params->lfb_size.
19003 * include/grub/i386/linux.h: Make an enume out of have_vga values.
19004
c2fa6cbb
VS
190052011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19006
19007 * util/grub-menulst2cfg.c: Add missing include of misc.h.
19008
b3ff6ff0
VS
190092011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19010
19011 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
19012 separator and pass bootpath/devid even if only one of them is available.
19013 Reported by: Seth Goldberg.
19014
ae67942e
VS
190152011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19016
19017 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
19018 implementations bug on them.
19019
19020 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
19021 memory.
19022 (filter_memory_map): Likewise.
19023
d570097a
VS
190242011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19025
19026 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
19027 Reported by: nebuchadnezzar.
19028
a508e776
VS
190292011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19030
19031 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
19032 Reported by: nebuchadnezzar.
19033
dcb883b1
VS
190342011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19035
19036 Submenu default support.
19037
19038 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
19039 auto_boot. All users updated.
19040 Declared static.
19041 Handle chosen and default with submenus.
19042 (grub_menu_execute_with_fallback): Declared static.
19043 Don't notify failure if autobooted. Upper level does it.
19044 (menuentry_eq): New function.
19045 (get_entry_number): Use menuentry_eq.
19046 (show_menu): New parameter "autobooted". All users updated.
19047 (grub_show_menu): Likewise.
19048 * include/grub/normal.h (grub_show_menu): Likewise.
19049 * include/grub/menu.h (grub_menu_execute_entry): Removed.
19050 (grub_menu_execute_with_fallback): Likewise.
19051
6fef99b4
VS
190522011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19053
19054 * util/grub-mklayout.c (usage): Update help text.
19055
47a77af5
VS
190562011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19057
19058 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
19059
ce6bb3ee
VS
190602011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19061
19062 * util/grub-menulst2cfg.c (main): Trim the line.
19063
db87be2a
VS
190642011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19065
19066 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
19067 (grub_machine_init): Don't check amount of low memory as reportedly
19068 INT 12h can be broken and if low memory is too low we wouldn't have
19069 gotten into grub_machine_init anyway.
19070
c49849cc
VS
190712011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19072
19073 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
19074 (grub_machine_mmap_iterate): Take low memory into account
19075
b1969b30
VS
190762011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19077
19078 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
19079 badfs.
19080 Reported by: TiCPU.
19081
cf0eaf13
VS
190822011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19083
19084 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
19085 members errors.
19086
1f060f39
GS
190872011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
19088
19089 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
19090 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
19091
a21e5672
GS
190922011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
19093
19094 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
19095 openbsd and netbsd types being in part_bsd module.
19096
c88172fa
VS
190972011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19098
19099 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
19100 (_FILE_OFFSET_BITS): Likewise.
19101 Reported by: Seth Goldberg.
19102
53798c4b
GS
191032011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
19104
19105 * configure.ac: Check for libdevmapper header.
19106
e7121b69
VS
191072011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19108
19109 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
19110 avoid aliasing.
19111 (fzap_lookup): Likewise.
19112 (dnode_get): Likewise.
19113 (make_mdn): Likewise.
19114 (zfs_mount): Likewise.
19115 (fzap_iterate): Use temporary pointer to avoid aliasing.
19116 (grub_zfs_read): Likewise.
19117 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
19118 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
19119 pointers to avoid aliasing.
19120 (grub_cmd_xnu_kernel64): Likewise.
19121 (grub_xnu_load_driver): Likewise.
19122
fc836af9
VS
191232011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19124
19125 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
19126 aliasing warning.
19127 (grub_cmd_terminal_output): Likewise.
19128 Reported and tested by: Grégoire Sutre.
19129
f9f37648
VS
191302011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19131
19132 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
19133 warning.
19134 Reported and tested by: Grégoire Sutre.
19135
ec1dfd63
VS
191362011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19137
19138 * configure.ac: Do CPU substitution even if it's specified explicitly.
19139 Reported and tested by: Alain Greppin.
19140
9462775a
VS
191412011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19142
19143 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
19144 Reported and tested by: Alain Greppin.
19145
0fd48e35
VS
191462011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19147
19148 Satisfy some bison versions need for inttypes.h.
19149
19150 * grub-core/lib/posix_wrap/inttypes.h: New file.
19151 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
19152 (int16_t): Likewise.
19153 (int32_t): Likewise.
19154 (int64_t): Likewise.
19155 Reported and tested by: Alain Greppin.
19156
43f1bc83
VS
191572011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19158
19159 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
19160 Silence spurious warning.
19161 Reported and tested by: Alain Greppin.
19162
64d1f041
SJ
191632011-01-07 Szymon Janc <szymon@janc.net.pl>
19164
19165 * docs/grub.texi (Support automatic decompression): Update with xz
19166 decompression support.
19167
25953e10
SJ
191682011-01-07 Szymon Janc <szymon@janc.net.pl>
19169
19170 Improve loaders' kernel command line handling.
19171
19172 * grub-core/lib/cmdline.c: New file.
19173 * include/grub/lib/cmdline.h: Likewise.
19174 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
19175 grub_create_loader_cmdline to create kernel command line.
19176 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
19177 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
19178 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
19179 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
19180 (linux): Add lib/cmdline.c on common.
19181
e72d259f
VS
191822011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19183
19184 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
19185 inopos might be unaligned.
19186
c0cf26da
VS
191872011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19188
19189 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
19190 endian transformations.
19191 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
19192 Based on report by: Doug Nazar.
19193
0ca09e6c
DN
191942011-01-07 Doug Nazar <nazard.michi@gmail.com>
19195
19196 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
19197 array->members[i].start_sector.
19198 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
19199
014b6806
VS
192002011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19201
19202 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
19203 Reported and tested by: Grégoire Sutre.
19204
415502c2
CW
192052011-01-06 Colin Watson <cjwatson@ubuntu.com>
19206
19207 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
19208 avoid causing test failures by clearing the screen.
19209
71b6a2b7
CW
192102011-01-06 Colin Watson <cjwatson@ubuntu.com>
19211
19212 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
19213 Fix prefix check to handle the case where dir ends with a slash
19214 (most significantly, "/" itself).
19215 Reported by: Michael Vogt.
19216
b3f8d28a
VS
192172011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
19218
19219 Run terminfo_cls on initing terminfo output to clear the screen and
19220 move the cursor to (0,0).
19221
19222 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
19223 Call grub_terminfo_output_init.
19224 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
19225 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
19226 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
19227
4c3e4f37
VS
192282011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
19229
19230 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
19231 only when needed.
19232
488f71f1
VS
192332011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
19234
19235 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
19236 CTRL.
19237
18a38098
VS
192382011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
19239
19240 The E820 type 5 is BADRAM, not EXEC_CODE.
19241
19242 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
19243 (GRUB_E820_BADRAM): New define.
19244 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
19245 into reserved. Propagate BADRAM.
19246 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
19247 (GRUB_E820_BADRAM): New define.
19248
9eae2084
VS
192492011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19250
19251 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
19252 Ignore the memory post-4G.
19253 (grub_relocator_firmware_alloc_region): Additional debug statement.
19254
ebc71d28
VS
192552011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19256
19257 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
19258 names.
19259 Reported by: David Pravec.
19260
446fa400
VS
192612011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19262
19263 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
19264 BIOSes.
19265
a0159f37
VS
192662011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19267
19268 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
19269 Prevent overflow.
19270 (grub_reed_solomon_recover): Likewise.
19271
e5146ca1
VS
192722011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19273
19274 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
19275
192762011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
19277
19278 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
19279 variable.
19280
5b1bdf12
CW
192812011-01-04 Colin Watson <cjwatson@ubuntu.com>
19282
19283 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
19284 descriptions of extract_legacy_entries_source and
19285 extract_legacy_entries_configfile.
19286 Reported by: Seung Soo, Ha.
19287
99d925aa
CW
192882011-01-03 Colin Watson <cjwatson@ubuntu.com>
19289
19290 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
19291 on devices that do not implement function 0.
19292
4af0504b
DV
192932011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
19294
19295 * grub-core/fs/hfsplus.c: Make parent unsigned.
19296 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
19297 overflows.
19298 (grub_hfsplus_cmp_extkey): Likewise
19299
469ee10a
VS
193002011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
19301
19302 * util/grub-install.in: Correctly use bootloader_id and not
19303 GRUB_DISTRIBUTOR on efibootmgr line.
19304
323a8e9c
VS
193052011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
19306
19307 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
19308
1b394975
IC
193092010-12-31 Ian Campbell <ijc@hellion.org.uk>
19310
19311 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
19312 Xen and reorder menu item wording to make it clearer that this entry
19313 will launch Xen. Print separate messages when loading Xen and
19314 Linux.
19315
275bff5f
VS
193162010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
19317
19318 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
19319 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
19320 loop in case of incorrect amiga partmap.
19321
307806cb
VS
193222010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
19323
19324 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
19325 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
19326 Reported by:EHeM.
19327
b12b923e
VS
193282010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
19329
19330 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
19331 spurious warning.
19332 Reported by: crocket
19333
14b48a19
VS
193342010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19335
19336 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
19337 Preload EFIemu.
19338 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
19339
693db2df
VS
193402010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19341
19342 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
19343 is loaded
19344 (grub_cmd_xnu_kextdir): Likewise.
19345 (grub_cmd_xnu_splash): Likewise.
19346
c7638645
VS
193472010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19348
19349 Avoid using Reed-Solomon with 0 redundancy.
19350
19351 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
19352 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
19353 or 0 redundancy.
19354 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
19355 (grub_reed_solomon_recover): Likewise.
19356
25dd4780
VS
193572010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19358
19359 Don't use disk subsystem in freebsd_boot.
19360
19361 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
19362 (freebsd_biosdev): Likewise.
19363 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
19364 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
19365
0b2db943
VS
193662010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
19367
19368 Handling of files of unknown size is currently limited. They can't be
19369 used e.g. for initrd or modules. Moreover gzip handling of not
19370 easily seekable files is buggy. Disable unknown file size for now. May
19371 be inefficient but works.
19372
19373 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
19374 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
19375
5c408d0f
MP
193762010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
19377
19378 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
19379 floppy probe.
19380
190a011a
JD
193812010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
19382
19383 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
19384
022d01b8
SL
193852010-12-25 Shea Levy <shlevy>
19386
19387 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
19388
c4855fdc
VS
193892010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
19390
19391 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
19392 Windows Server 2008.
19393 Reported by: Devin Giddings.
19394
0354b867
VS
193952010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
19396
19397 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
19398 writing an error message because of async power management.
19399 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
19400 (grub_reboot): Likewise.
19401
ab66c69f
JU
194022010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
19403
19404 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
19405 keep unit tests from failing when they shouldn't.
19406
1426ef35
CW
194072010-12-21 Colin Watson <cjwatson@ubuntu.com>
19408
19409 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
19410 previous patch increased the size of the RS code by 20 bytes (at
19411 least with gcc-4.4), so increase this by 20 bytes to match.
19412 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
19413
20641b6b
CW
194142010-12-21 Colin Watson <cjwatson@ubuntu.com>
19415
19416 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
19417 scratch area. Make sure to initialise chosen in standalone mode as
19418 well as non-standalone.
19419 Reported by: Robert Hooker and Andy Whitcroft.
19420 Tested by: Andy Whitcroft.
19421
d060ad60
CW
194222010-12-21 Colin Watson <cjwatson@ubuntu.com>
19423
19424 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
19425 constructing a new unescaped string and passing it to grub_xputs in
19426 one go, rather than passing characters to grub_printf one at a time.
19427
b889cfad
CW
194282010-12-21 Colin Watson <cjwatson@ubuntu.com>
19429
19430 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
19431 initialising utf16.
19432
4e01b6c8
CW
194332010-12-21 Colin Watson <cjwatson@ubuntu.com>
19434
19435 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
19436 comment. Add an extra layer of quotation, requiring the output of
19437 this function to be used in a printf format string.
19438 (gettext_printf): New function.
19439 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
19440 Extract translatable strings from here-documents and use a temporary
19441 variable instead, so that xgettext can find them.
19442 * util/grub.d/10_kfreebsd.in: Likewise.
19443 * util/grub.d/10_linux.in: Likewise.
19444 * util/grub.d/20_linux_xen.in: Likewise.
19445
19446 * po/grub.d.sed: New file.
19447 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
19448 arguments. Set c-format flags on all strings extracted from
19449 util/grub.d/ (xgettext refuses to include these itself for strings
19450 it extracted from a shell file, but these really are c-format).
19451
5318fe98
VS
194522010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
19453
19454 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
19455 Avoid next pointing to nowhere.
19456
6c85b743
VS
194572010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
19458
19459 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
19460 rather than assuming than rootblock is exactly in the middle.
19461 (grub_affs_label): Likewise.
19462
a2a08a35
VS
194632010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
19464
19465 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
19466 reserved_first_sector to 0.
19467 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
19468 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
19469 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
19470
7059d1ec
VS
194712010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
19472
19473 Fix handling of UTF-16 UDF labels.
19474
19475 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
19476 (read_string): .. here.
19477 (grub_udf_label): Use read_string.
19478
30aff4cb
BC
194792010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
19480
19481 * grub-core/normal/menu_entry.c (run): Execute commands from menu
19482 editor under argument scope.
19483 Reported by: Jordan Uggla
19484
5cf86f4b
VS
194852010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
19486
19487 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
19488
32570200
CW
194892010-12-18 Colin Watson <cjwatson@ubuntu.com>
19490
19491 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
19492 line, and other keys scroll an entire page (previous handling was
19493 for \r and \n to scroll a page and other keys to scroll two lines).
19494
e1dffcf2
VS
194952010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
19496
19497 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
19498 Set ptrdest to correct get_physical_target_address rather than
19499 incorrect get_virtual_current_address.
19500
b04298cf 195012010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
19502
19503 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
19504 correct cat to grub_uint8_t * rather than grub_uint32_t *.
19505
5367ecd3
CW
195062010-12-10 Colin Watson <cjwatson@ubuntu.com>
19507
19508 * .bzrignore: Ignore grub-core/rs_decoder.S.
19509
1fb430f8
CW
195102010-12-10 Colin Watson <cjwatson@ubuntu.com>
19511
19512 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
19513 .mo/.mo.gz opening sequence to ...
19514 (grub_mofile_open_lang): ... here.
19515 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
19516 * util/grub.d/00_header.in (grub_lang): Include country part of
19517 locale.
19518 Reported by: Mario Limonciello.
19519
a94a6671
RM
195202010-12-09 Robert Millan <rmh@gnu.org>
19521
19522 * NEWS: Document addition of ZFS support.
19523
24b7938b
CW
195242010-12-04 Colin Watson <cjwatson@ubuntu.com>
19525
19526 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
19527 rather than `/ 2', as the latter requires -Wa,--divide which would
19528 require bumping our minimum binutils version.
19529
bddc3ef6
BC
195302010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
19531
19532 * util/grub-script-check.c (main): Print script line number on
19533 error.
19534
bf78d5b2
RM
195352010-12-01 Robert Millan <rmh@gnu.org>
19536
19537 * grub-core/fs/zfs/zfs.c: New file.
19538 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
19539 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
19540 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
19541 * grub-core/fs/zfs/zfsinfo.c: Likewise.
19542
19543 * include/grub/zfs/dmu.h: Likewise.
19544 * include/grub/zfs/dmu_objset.h: Likewise.
19545 * include/grub/zfs/dnode.h: Likewise.
19546 * include/grub/zfs/dsl_dataset.h: Likewise.
19547 * include/grub/zfs/dsl_dir.h: Likewise.
19548 * include/grub/zfs/sa_impl.h: Likewise.
19549 * include/grub/zfs/spa.h: Likewise.
19550 * include/grub/zfs/uberblock_impl.h: Likewise.
19551 * include/grub/zfs/vdev_impl.h: Likewise.
19552 * include/grub/zfs/zap_impl.h: Likewise.
19553 * include/grub/zfs/zap_leaf.h: Likewise.
19554 * include/grub/zfs/zfs.h: Likewise.
19555 * include/grub/zfs/zfs_acl.h: Likewise.
19556 * include/grub/zfs/zfs_znode.h: Likewise.
19557 * include/grub/zfs/zil.h: Likewise.
19558 * include/grub/zfs/zio.h: Likewise.
19559 * include/grub/zfs/zio_checksum.h: Likewise.
19560
19561 * Makefile.util.def: Build ZFS into libgrubmods.
19562 * grub-core/Makefile.core.def: Build zfs.mod.
19563
3f0f3831
SJ
195642010-11-30 Szymon Janc <szymon@janc.net.pl>
19565
19566 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
19567 variable.
19568 * grub-core/commands/wildcard.c (match_files): Likewise.
19569
3a4253b2
RM
195702010-11-30 Robert Millan <rmh@gnu.org>
19571
19572 * grub-core/loader/i386/bsd.c
19573 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
19574 whether kernel is loaded using grub_loader_is_loaded(), rather
19575 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
19576 certain error conditions.
19577
8c317b27
RM
195782010-11-30 Robert Millan <rmh@gnu.org>
19579
c5c9cd3e
RM
19580 * grub-core/commands/echo.c: Include `<grub/term.h>'.
19581 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 19582
49d3ab46
VS
195832010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
19584
19585 Avoid using tricks for initialising endian variables.
19586
19587 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
19588 Make const.
19589 (GRUB_MOD_INIT): Don't byte-swap.
19590 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
19591 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
19592 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
19593 (grub_swap_bytes32_compile_time): Likewise.
19594 (grub_cpu_to_le32_compile_time): Likewise.
19595 (grub_cpu_to_le16_compile_time): Likewise.
19596
f420a804
VS
195972010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
19598
19599 * util/grub-setup.c (setup): Stop recommending --force. People who
19600 understand the dangers of blocklists are able to find this option
19601 anyway and the ones who don't shouldn't use it anyway.
19602
4e7db17b
RM
196032010-11-26 Robert Millan <rmh@gnu.org>
19604
19605 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
19606 Update all users.
19607
9be57a0d
CW
196082010-11-26 Colin Watson <cjwatson@ubuntu.com>
19609
19610 Fix LVM-on-RAID probing.
19611
19612 * util/grub-probe.c (probe): Remember which disk was detected as
19613 RAID (perhaps an LVM physical volume). Use that disk's raidname
19614 rather than that of the top-level disk.
19615
2c7859b3 196162010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 19617
d7647bb6
BC
19618 Fix cmdline argument quotes for setparams command of menuentry
19619 definitions.
7e623b0d
BC
19620
19621 * grub-core/commands/menuentry.c (setparams_prefix): Use single
19622 quotes for arguments.
f866fe80 19623 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 19624 grub_strchrsub function instead.
f866fe80 19625
7955bea0 19626 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 19627
74f72a64
CW
196282010-11-24 Colin Watson <cjwatson@ubuntu.com>
19629
19630 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
19631 effort by skipping "." and ".." entries up-front.
19632 Suggested by: Michael Lazarev.
19633
5a407278
CW
196342010-11-24 Colin Watson <cjwatson@ubuntu.com>
19635
19636 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
19637 ldflags to ldadd, to fix link line ordering.
19638 (none_decompress): Likewise.
19639
3030d8ec
CW
196402010-11-24 Colin Watson <cjwatson@ubuntu.com>
19641
19642 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
19643 platforms.
19644 (grub-emu-lite): Remove kern/emu/cache.S.
19645
b7fbac12
CW
196462010-11-23 Colin Watson <cjwatson@ubuntu.com>
19647
19648 * util/deviceiter.c (compare_devices): If the by-id link for a
19649 device couldn't be resolved, fall back to sorting by the by-id link
19650 rather than segfaulting.
19651 Reported and tested by: Daniel Mierswa.
19652
5225f328
CW
196532010-11-23 Colin Watson <cjwatson@ubuntu.com>
19654
19655 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
19656 ldflags, to fix link line ordering.
19657
038b3ce8
CW
196582010-11-23 Colin Watson <cjwatson@ubuntu.com>
19659
19660 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
19661 linkers are picky about this.
19662
bf16e98e
CW
196632010-11-23 Colin Watson <cjwatson@ubuntu.com>
19664
19665 * grub-core/Makefile.am (command.lst): Adjust sed expression
19666 ordering so that extended and priority commands aren't treated as
19667 ordinary commands.
19668
7242bab6
CW
196692010-11-23 Colin Watson <cjwatson@ubuntu.com>
19670
19671 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
19672 Remove byte-swapping function calls, which are not valid in
19673 structure initialisers.
19674 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
19675 non-const.
19676 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
19677 grub_gpt_partition_type_bios_boot.
19678
14e8b279
CW
196792010-11-22 Colin Watson <cjwatson@ubuntu.com>
19680
19681 Fix test program build on GNU/kFreeBSD.
19682
19683 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
19684 $(LIBNVPAIR)' library dependencies.
19685
e6f63338 196862010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
19687
19688 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
19689
cf8ffc38
CW
196902010-11-22 Colin Watson <cjwatson@ubuntu.com>
19691
19692 * util/grub-install.in: Remove excessive quoting that broke
19693 installations to RAID devices.
19694
7f8b0fd7
VS
196952010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
19696
19697 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
19698 bootloader version instead of 0.
19699
dfd240b1
VS
197002010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
19701
19702 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
19703 warning.
19704
7b61e609
VS
197052010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
19706
19707 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
19708 retrieve the metadat sector if size isn't known.
19709 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
19710
9dfe92d0
RM
197112010-11-18 Robert Millan <rmh@gnu.org>
19712
19713 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
19714 with grub_memcmp().
19715
41cc919e
VS
197162010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
19717
19718 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
19719 arrow.
19720 Reported by: Jordan Uggla.
19721
1afcc914
VS
197222010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
19723
19724 Make better UTF compliant.
19725
19726 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
19727 sequences as incorrect.
19728 (grub_is_valid_utf8): Likewise.
19729 (grub_utf8_to_ucs4): Likewise.
19730 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
19731 (grub_ucs4_to_utf8_alloc): Likewise.
19732 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
19733
f1808884
VS
197342010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
19735
19736 Make legacy_source behave like source.
19737
19738 * grub-core/commands/legacycfg.c (legacy_file): Don't call
19739 grub_show_menu.
19740 (grub_cmd_legacy_source): Call grub_show_menu if needed.
19741
24ec575b
CW
197422010-11-16 Colin Watson <cjwatson@debian.org>
19743
19744 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
19745 (-Wunused implies -Wunused-parameter, but not vice versa).
19746
72b7c7aa
CW
197472010-11-16 Colin Watson <cjwatson@ubuntu.com>
19748
19749 * configure.ac: Make error messages less confusing by testing for
19750 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
19751 accepted, but produces a diagnostic if something else is wrong).
19752
e98937aa
VS
197532010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
19754
19755 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
19756 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
19757 (now unused).
19758 (grub_keyboard_controller_init)
19759 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
19760 read the initial state since controller isn't inited yet.
19761
f6bbabc3
VS
197622010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
19763
19764 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
19765 allocate_regbeg may need to create new chunk header.
19766
22e7dbb2
VS
197672010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
19768
19769 Fix quoting in legacy parser.
19770
19771 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
19772 single quotes.
19773 (grub_legacy_parse): Likewise.
19774 Reported by: Jordan Uggla.
19775 Tested by: Jordan Uggla.
19776
03f80960
VS
197772010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
19778
19779 Don't add -lgcc on i386 and x86_64.
19780
19781 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
19782 * conf/Makefile.common (LDADD_KERNEL): Likewise.
19783 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
19784
779dc15b
VS
197852010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
19786
19787 * configure.ac: Add -Wno-trampolines when supported.
19788
d20a3b37
MV
197892010-11-14 Modestas Vainius <modax@debian.org>
19790
19791 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
19792 fakeraid.
19793
e5360933
GC
197942010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
19795
19796 Add generic logical block size support for UDF.
19797
19798 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
19799 (GRUB_UDF_BLKSZ): Removed.
19800 (struct grub_udf_data): New field "lbshift" to hold the logical block
19801 size of the file system in log2 format. All users updated.
19802 (sblocklist): Change type to unsigned.
19803 (grub_udf_mount): Change type of "sblklist" to unsigned.
19804 Move AVDP search before VRS recognition, because the latter requires
19805 knowledge of the logical block size, which is detected during the
19806 former.
19807 Detect and validate logical block size during AVDP search, adding
19808 support for block sizes 512, 1024 and 4096.
19809 Make VRS recognition independent of block size.
19810
cb0229c5
GC
198112010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
19812
19813 Properly handle deleted files on UDF.
19814
19815 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
19816 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
19817 set.
19818
406858a8
GC
198192010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
19820
19821 Support reading files larger than 2 GiB.
19822
19823 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
19824 "offset" to grub_off_t.
19825 (grub_udf_read_file): Likewise for parameter "pos".
19826
130da6a7
VS
198272010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
19828
19829 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
19830 unavailable.
19831 (Simple configuration): Refer to Changes from GRUB Legacy about
19832 save_env availability.
19833
65e93f6b
VS
198342010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
19835
19836 * util/grub-install.in: Ignore empty partition table detection
19837 instead of trying to include part_ module.
19838
1fd08bf1
VS
198392010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
19840
19841 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
19842 LVM on RAID support.
19843
de1a024f
VS
198442010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
19845
19846 Properly define WORDS_BIGENDIAN in wrapped environments.
19847
19848 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
19849 definition.
19850 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
19851
19852 Reported by: Manoel Rebelo Abranches.
19853 Tested by: Manoel Rebelo Abranches.
19854
bc5dd0b9
VS
198552010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
19856
19857 * util/grub-mkconfig.in: Fix quoting.
19858
58c184be
VS
198592010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
19860
19861 Support big ext2 files.
19862
19863 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
19864 (grub_ext2_read_block): Support triple indirect blocks.
19865 (grub_ext2_read_file): Use 64-bit types and read size_high.
19866 (grub_ext2_open): Read size_high.
19867 Reported by: Ximin Luo.
19868 Tested by: Manoel Rebelo Abranches.
19869
5f0c02b3
VS
198702010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
19871
19872 * util/grub-install.in: Handle filenames containing spaces.
19873 Reported by: Jordan Uggla.
19874 Tested by: Jordan Uggla.
19875
4417aae6
VS
198762010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
19877
19878 * util/grub-mkconfig.in (grub_script_check): New variable.
19879 Use grub_script_check instead of grub-script-check.
19880 Reported by: Barry Jackson.
19881
7625a68e
VS
198822010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
19883
19884 * docs/grub.texi (menu): Correct the order.
19885 Reported by: D. Hugh Redelmeier.
19886
10001ac5
VS
198872010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
19888
19889 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
19890 jump.
19891
9c4cf53b
MRA
198922010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
19893
10001ac5
VS
19894 * include/grub/elfload.h (grub_elf32_size): New parameter.
19895 All users updated.
9c4cf53b
MRA
19896 Return maximum segments alignment.
19897 (grub_elf64_size): Likewise.
19898 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
19899 Return maximum segments alignment.
19900 (grub_elf64_size): Likewise.
19901 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
19902 (grub_linux_claimmap_iterate): New function. Uses the
19903 "available" property in the "memory" node for memory allocation
19904 for kernel in the PowerPC loader.
9c4cf53b
MRA
19905 (grub_linux_load32): Correctly find linux entry point offset.
19906 (grub_linux_load64): Likewise.
19907
d2bf06bf
RM
199082010-11-07 Robert Millan <rmh@gnu.org>
19909
19910 On mips-yeeloong, build with -march=loongson2f when this flag is
19911 available (GCC >= 4.4).
19912 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
19913 `-march=mips3'.
19914 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
19915 or otherwise add -march=mips3.
19916
898c99a2
BC
199172010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
19918
87220a68
BC
19919 Suppress shell expansion on echo '*' and echo "*" like cases.
19920 Reported by: Jordan Uggla.
898c99a2
BC
19921
19922 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
19923 string arguments before shell expansion.
19924 * tests/grub_cmd_echo.in: New testcases.
19925
4f9b406a
RM
199262010-11-07 Robert Millan <rmh@gnu.org>
19927
19928 * conf/mips-qemu-mips.rmk: Remove stale file from previous
19929 transition.
19930
80c6d25e
VS
199312010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
19932
19933 * grub-core/kern/emu/hostdisk.c
19934 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
19935
4a1a0153
VS
199362010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
19937
19938 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
19939 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
19940 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
19941
34706ddc
VS
199422010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
19943
19944 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
19945
6972dea9
VS
199462010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
19947
19948 * util/grub-install.in: Replace useless recomendation to pass
19949 --modules with a recomendation to report a bug.
19950
9c693bd6
VS
199512010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
19952
19953 Properly register serial terminfo.
19954 Reported by: Jordan Uggla
19955
19956 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
19957 const.
19958 (grub_serial_terminfo_output_template): Likewise.
19959 (grub_cmd_serial): Register "serial" with terminfo.
19960 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
19961 grub_serial_terminfo_output.
19962
6c9e4c0c
RM
199632010-11-05 Robert Millan <rmh@gnu.org>
19964
19965 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
19966 needed).
19967
b9b3839f
RM
199682010-11-05 Robert Millan <rmh@gnu.org>
19969
19970 On Yeeloong, pass machine type information to Linux.
19971
19972 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
19973 (LOONGSON_MACHTYPE): New macro, set to
19974 "machtype=lemote-yeeloong-2f-8.9inches".
19975 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
19976 additional argument to Linux.
19977
1a3aaff4
RM
199782010-11-04 Robert Millan <rmh@gnu.org>
19979
19980 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
19981 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
19982 (its SATA disks are detected as slaveless IDE master drives on
19983 kFreeBSD).
19984 Reported by Carsten Aulbert.
19985
a75f4f62
CW
199862010-11-02 Colin Watson <cjwatson@ubuntu.com>
19987
19988 * util/bin2h.c (main): Fix spelling error in generated output.
19989
33b4b0c6
GS
199902010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
19991
19992 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
19993
2b36fbf4
VS
199942010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
19995
19996 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
19997 vga= option is supplied.
19998
74aaf558
VS
199992010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20000
20001 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
20002 * util/grub.d/10_kfreebsd.in: Likewise.
20003 * util/grub.d/10_linux.in: Likewise.
20004 * util/grub.d/20_linux_xen.in: Likewise.
20005
6428dec3
VS
200062010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20007
20008 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
20009 argument as an argument to no-argument option.
20010
f8729d98
VS
200112010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20012
20013 * util/grub.d/10_linux.in: Add missing load_video with explicit
20014 GRUB_GFXPAYLOAD_LINUX.
20015
89d68fa6
VS
200162010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20017
20018 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
20019
3a1197cd
VS
200202010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20021
20022 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
20023 elements with invlid index.
20024 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
20025 * grub-core/disk/raid.c (insert_array): Automatically reallocate
20026 members.
20027 * include/grub/raid.h (grub_raid_member): New struct.
20028 (grub_raid_array): Transform devices and start_sector into usage of
20029 grub_raid_member. All users updated
20030 (allocated_devs): New member.
20031
71574288
VS
200322010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20033
20034 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
20035 is modified
20036
8d40ec65
BC
200372010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
20038
20039 NetBSD build fix for getline function conflict from gnulib.
20040
20041 * Makefile.util.def (libgrubkern.a): New library for grub kernel
20042 components that depend on gnulib headers.
20043 (libgrubmods.a): Renamed from earlier libgrub.a.
20044 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
20045
95b9257e
VS
200462010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
20047
20048 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
20049 install rather than creating a broken install.
20050
26c53dc6
VS
200512010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
20052
20053 * util/grub-setup.c (argp): Remove misleading example of installing to
20054 a partition.
20055
4171b3c5
VS
200562010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
20057
20058 * util/grub-setup.c (setup): Clarify the error message.
20059
18568d18
VS
200602010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
20061
20062 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
20063
4f6a2e21
VS
200642010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
20065
20066 * grub-core/kern/emu/misc.c
20067 (grub_make_system_path_relative_to_its_root)
20068 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
20069
200702010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
20071
20072 * grub-core/kern/emu/misc.c
20073 (grub_make_system_path_relative_to_its_root): Revert r2882.
20074
e138c458
VS
200752010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
20076
20077 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
20078 useless field head. All users updated.
20079 (free_subchunk): Correct handling of IN_REGION subchunk.
20080
0cbcdf0e
CW
200812010-10-22 Colin Watson <cjwatson@ubuntu.com>
20082
20083 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
20084 (Supported kernels): Likewise.
20085
b65ea155
GS
200862010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
20087
20088 Make mktemp invocations portable.
20089
20090 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
20091 exit if mktemp fails.
20092 * tests/grub_script_blockarg.in: Likewise.
20093 * tests/partmap_test.in: Likewise.
20094 * tests/util/grub-shell-tester.in: Likewise.
20095 * tests/util/grub-shell.in: Likewise.
20096 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
20097 * Makefile.am: Likewise, and chain shell commands with `&&'
20098 instead of ';'.
20099 * util/grub-mkrescue.in: Use the same explicit template as above, and
20100 exit if mktemp fails.
20101
05f43cdd
BC
201022010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
20103
20104 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
20105 Linux kernel, reported by Dennis Schridde.
20106
800e6a9b
SJ
201072010-10-17 Szymon Janc <szymon@janc.net.pl>
20108
20109 * grub-core/normal/auth.c (grub_auth_check_authentication):
20110 Set-but-not-used variable removed.
20111
d82df574
VS
201122010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20113
20114 * docs/grub.texi (GNU/Linux): Document APM unavailability with
20115 32-bit linux protocol.
20116
7bced458
VS
201172010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20118
20119 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
20120 cursor shape for sanity.
20121
5b027690
VS
201222010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20123
20124 * docs/grub.texi (Installation): Document buggy BIOS install.
20125
ba5f65cf
VS
201262010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20127
20128 * docs/grub.texi (Installation): Indent.
20129
fdf2ec9c
VS
201302010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20131
20132 * util/grub-setup.c (setup): New parameter allow_floppy.
20133 (arguments): New member allow_floppy.
20134 (argp_parser): Handle --allow-floppy.
20135 (main): Pass allow_floppy.
20136 * util/grub-install.in: New option --allow-floppy passed though to
20137 grub-setup.
20138
861dfd4c
VS
201392010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20140
20141 * util/grub-install.in: Handle partitionless disks.
20142
f77a8c24
VS
201432010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20144
20145 * util/grub-setup.c (setup): Don't clean blocklists before readability
20146 verfification.
20147
27d9ee32
VS
201482010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20149
20150 * docs/grub.texi (Installation): Document embedding zone. Remove
20151 obsolete grub-install example.
20152
6bdda8f8
SJ
201532010-10-16 Szymon Janc <szymon@janc.net.pl>
20154
20155 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
20156 Set-but-not-used variable ifdef'ed.
20157 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
20158 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
20159 variable removed.
20160 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
20161 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
20162 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
20163 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
20164 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
20165 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
20166 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
20167 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
20168 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
20169 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
20170 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
20171 Likewise.
20172
e19b016b
VS
201732010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20174
20175 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
20176 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
20177 enum value.
20178
6c8d3002
VS
201792010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20180
20181 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
20182 synonym to _S5_. Needed for some DSDTs.
20183
c32b51c9
VS
201842010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20185
20186 Userspace ACPI parser debugging.
20187
20188 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
20189 headers and add relevant defines. Don't include standard headers.
20190 (main) [GRUB_DSDT_TEST]: New function.
20191 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
20192 Don't declare functions.
20193
fbfbeb39
VS
201942010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20195
20196 Remove dead grub_efi_mm_fini.
20197
20198 * grub-core/kern/efi/mm.c (allocated_page): Removed.
20199 (ALLOCATED_PAGES_SIZE): Likewise.
20200 (MAX_ALLOCATED_PAGES): Likewise.
20201 (allocated_pages): Likewise.
20202 (grub_efi_allocate_pages): Don't record allocated pages.
20203 (grub_efi_free_pages): Likewise.
20204 (grub_efi_mm_init): Likewise.
20205 (grub_efi_mm_fini): Removed.
20206
65f7ed7c
VS
202072010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20208
20209 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
20210 (grub_efi_mm_init): Take into account the memory map size increase.
20211
24977b44
VS
202122010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20213
20214 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
20215 (serial_hw_put): Wait based on real time rather than port reads. Don't
20216 roken ports.
20217 * include/grub/serial.h (grub_serial_port): New field broken.
20218
1eb01cd2
RM
202192010-10-16 Robert Millan <rmh@gnu.org>
20220
20221 * grub-core/kern/emu/misc.c
20222 (grub_make_system_path_relative_to_its_root): Fix premature return
20223 when processing non-root ZFS filesystems.
5f8b440b 20224 Reported by Sergio Talens-Oliag.
1eb01cd2 20225
2d5fed60
RM
202262010-10-15 Robert Millan <rmh@gnu.org>
20227
20228 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
20229 guarantee compressed ones are processed first.
20230
d0f4c1ea
VS
202312010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
20232
20233 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
20234 grub_efiemu_autocore.
20235
d87c681f
VS
202362010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
20237
20238 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
20239 rather than 0x1b.
20240 (grub_console_getkey): Use correct jae opcode rather than ja.
20241
219b3564
RM
202422010-10-12 Robert Millan <rmh@gnu.org>
20243
20244 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
20245 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
20246 variable. All references updated.
20247
20248 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
20249
20c6bb7e
VS
202502010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
20251
20252 Correctly distinguish mdraid flavours.
20253
20254 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
20255 (insert_array): New argument raid.
20256 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
20257 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
20258 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
20259
74baff84
VS
202602010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
20261
20262 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
20263 handling of special keys.
20264
3ef068df 202652010-10-02 Aleš Nesrsta <starous@volny.cz>
20266
c7980ad9
VS
20267 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
20268 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 20269
a9455194 202702010-10-02 Aleš Nesrsta <starous@volny.cz>
20271
c7980ad9
VS
20272 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
20273 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
20274 users updated.
a9455194 20275 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 20276 Use right endpoint when querying descriptor.
a9455194 20277
441cfe65
VS
202782010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
20279
20280 Clear out 0x80 color bit on EFI.
20281 Tested by: decoder
20282 Reported by: decoder and meta tech.
20283
20284 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
20285 (grub_console_setcolorstate): Clear out 0x80 bit.
20286 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
20287 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
20288 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
20289
bf26bcc4
VS
202902010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
20291
20292 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
20293 Set to "auto".
20294
6e3c515d
VS
202952010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20296
20297 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
20298 mo_file after freeing.
20299
e6d983ba
VS
203002010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20301
20302 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
20303
74ccb5b5
VS
203042010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20305
20306 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
20307 flags.
20308
17821956
VS
203092010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20310
20311 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
20312 usage.
20313
ee74fa48
VS
203142010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20315
20316 Put terminfo into core on ieee1275 and yeeloong (needed for console).
20317
20318 * gentpl.py: New groups terminfoinkernel and terminfomodule.
20319 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
20320 and terminfo.h when needed.
20321 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
20322 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
20323 (terminfo): Enable only on terminfokernel.
20324 (extcmd): Likewise.
20325 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
20326 * include/grub/lib/arg.h: Likewise.
20327 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
20328 incorrect usage of ->.
20329
aa438e68
VS
203302010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20331
20332 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
20333 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
20334
57994012
VS
203352010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20336
20337 Fix coreboot compilation.
20338
20339 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
20340 Take VBE info into account even if only text is supported.
20341 (fill_vbe_info): Take into account the case when only VGA text
20342 is supported.
20343 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
20344 on coreboot, multiboot and qemu.
20345
2a406611
VS
203462010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20347
20348 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
20349 debug messages.
20350 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
20351
d33613fc
VS
203522010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20353
20354 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
20355 parameters.
20356
44a1b432
VS
203572010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20358
20359 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
20360 if they were BSD-style.
20361
edde54e6
VS
203622010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20363
20364 * grub-core/boot/i386/pc/lnxboot.S: Replace
20365 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
20366 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
20367
b65830fa
VS
203682010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20369
20370 Write embedding zone using Reed-Solomon.
20371
20372 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
20373 * grub-core/Makefile.am (rs_decoder.S): New target.
20374 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
20375 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
20376 (multiboot): Move to RS part.
20377 (post_reed_solomon): New label.
20378 (grub_boot_drive): Move to non-RS part since it's modified in memory
20379 on boot.
20380 Include rs_decoder.S.
20381 * grub-core/lib/reed_solomon.c: New file.
20382 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
20383 New definition.
20384 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
20385 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
20386 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
20387 * include/grub/partition.h (grub_partition_map): Change prototype of
20388 embed to allow returning additional sectors.
20389 * include/grub/reed_solomon.h: New file.
20390 * util/grub-setup.c (setup): Handle Reed-Solomon.
20391
0b4b227f
CW
203922010-09-28 Colin Watson <cjwatson@ubuntu.com>
20393
20394 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
20395 i386 and x86-64 definedness tests.
20396
f772623b
YB
203972010-09-27 Yves Blusseau <blusseau@zetam.org>
20398
20399 Fix generation of kernel_syms.lst
20400
20401 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
20402 ASM_PREFIX
20403
8e57a6ca
RM
204042010-09-26 Robert Millan <rmh@gnu.org>
20405
20406 Support degraded ZFS arrays in "grub-probe -t device" resolution.
20407
20408 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
20409 the pool is an array of devices, iterate through it and return the
20410 first device that passes a stat() test (instead of blindly returning
20411 the first one).
20412
f9130836
RM
204132010-09-26 Robert Millan <rmh@gnu.org>
20414
20415 Build fixes for GNU/kFreeBSD.
20416
20417 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
20418 to programs that require ZFS conversion.
20419 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
20420 kernels that don't have FLOPPY_MAJOR.
20421
96510faf
BC
204222010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
20423
20424 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
20425
449333eb
BC
204262010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
20427
20428 Fix grub-emu build.
20429
20430 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
20431 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
20432 mdraid09 and mdraid1x.
20433
e1fd1939
CW
204342010-09-24 Colin Watson <cjwatson@ubuntu.com>
20435
20436 Re-enable grub-extras.
20437
20438 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
20439 avoid confusing Automake. Run autogen only twice, once for the top
20440 level and once for grub-core. Add Makefile.util.def and
20441 Makefile.core.def from extra modules to the appropriate autogen
20442 invocations. If Makefile.common exists in an extra module, include
20443 it in both Makefile.util.am and grub-core/Makefile.core.am;
20444 similarly, include any Makefile.util.common file in Makefile.util.am
20445 and any Makefile.core.common file in grub-core/Makefile.core.am.
20446 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
20447 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
20448 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
20449 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
20450
20451 * gentpl.py (gvar_add): Turn GVARS into a set.
20452 (global_variable_initializers): Sort global variables on output.
20453 (vars_init): New function.
20454 (first_time): Likewise.
20455 (library): Ensure that non-global variable initialisations are
20456 emitted before the first time we emit code for a library block.
20457 Append to variables rather than setting them. Only emit
20458 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
20459 each conditional path.
20460 (program): installdir() emits an Autogen macro, so must be passed to
20461 var_add rather than gvar_add.
20462 (data): Likewise.
20463 (script): Likewise.
20464 (rules): New function, centralising handling for different target
20465 types. Set up Guile association lists for first_time and vars_init,
20466 and send most output to a diversion so that variable initialisations
20467 can be emitted first.
20468 (module_rules): Use new rules function.
20469 (kernel_rules): Likewise.
20470 (image_rules): Likewise.
20471 (library_rules): Likewise.
20472 (program_rules): Likewise.
20473 (script_rules): Likewise.
20474 (data_rules): Likewise.
20475
20476 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
20477
20478 * .bzrignore: Add contrib and grub-core/contrib. Remove
20479 grub-core/Makefile.gcry.am.
20480
1d12cf29
YB
204812010-09-24 Yves Blusseau <blusseau@zetam.org>
20482
20483 * grub-core/lib/LzFind.c: Add missing include.
20484 * grub-core/lib/LzmaEnc.c: Likewise.
20485 * grub-core/script/lexer.c: Likewise.
20486 * grub-core/script/yylex.l: Likewise.
20487 * util/grub-macho2img.c: Likewise.
20488 * util/grub-menulst2cfg.c: Likewise.
20489 * util/grub-mklayout.c: Likewise.
20490 * util/grub-mkpasswd-pbkdf2.c
20491 * util/grub-mkrelpath.c: Likewise.
20492 * util/resolve.c: Likewise.
20493
dd363028
BC
204942010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
20495
20496 * Makefile.util.def (example_unit_test): Add
20497 grub-core/gnulib/libgnu.a.
20498
f5a109e2
GS
204992010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
20500
20501 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
20502
6d0fa83c
VS
205032010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
20504
20505 Support xz compression on yeeloong.
20506
20507 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
20508 * configure.ac: Check for LZMA.
20509 * grub-core/Makefile.core.def (xz_decompress): New target.
20510 (none_decompress): Likewise.
20511 * grub-core/boot/decompressor/minilib.c: New file.
20512 * grub-core/boot/decompressor/none.c: Likewise.
20513 * grub-core/boot/decompressor/xz.c: Likewise.
20514 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
20515 * grub-core/kern/mips/cache_flush.S: Likewise.
20516 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
20517 * grub-core/kern/mips/startup.S: Move first stage to ...
20518 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
20519 nomacro.
20520 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
20521 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
20522 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
20523 Allocate statically.
20524 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
20525 Allocate statically or use scratch. Don't check CRC32.
20526 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
20527 Allocate statically. Don't check CRC32.
20528 * include/grub/decompressor.h: New file.
20529 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
20530 Removed.
20531 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
20532 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
20533 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
20534 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
20535 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
20536 * util/grub-mkimage.c (grub_compression_t): New type.
20537 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
20538 (image_target_desc): New field default_compression.
20539 (image_targets): Adjust yeeloong targets.
20540 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
20541 (compress_kernel): New parameter comp.
20542 (generate_image): Likewise. Handle new compression case.
20543 (options): New option --compression
20544 (help): Likewise.
20545 (main): Handle new option.
20546
1b655af6
GS
205472010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
20548
20549 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
20550
8f03f0b5
CW
205512010-09-22 Colin Watson <cjwatson@ubuntu.com>
20552
20553 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
20554 typo in __i386__ conditional.
20555
7835dfd3
VS
205562010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
20557
20558 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
20559 include.
20560
e255597e
VS
205612010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
20562
6d0fa83c 20563 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
20564
20565 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
20566 new tags as supported.
20567 (acpiv2_size): New function.
20568 (grub_multiboot_get_mbi_size): Take new tags into account.
20569 (grub_multiboot_make_mbi): Add new tags.
20570 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 20571
6cc14051 205722010-09-21 Aleš Nesrsta <starous@volny.cz>
20573
20574 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
20575 Added missing configuration of USB device.
20576
df7769d8
CW
205772010-09-21 Colin Watson <cjwatson@ubuntu.com>
20578
20579 * grub-core/normal/menu_entry.c (run): Make sure we always return
20580 a value.
20581
b031012d
CW
205822010-09-21 Colin Watson <cjwatson@ubuntu.com>
20583
20584 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
20585 NumberOfPages is UINT64 according to the UEFI specification, not
20586 UINTN. Fix printf format.
20587
174de8f3
CW
205882010-09-21 Colin Watson <cjwatson@ubuntu.com>
20589
20590 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
20591 `err' to grub_usb_err_t.
20592 Reported and tested by: KESHAV P.R.
20593
d7dbe923
CW
205942010-09-21 Colin Watson <cjwatson@ubuntu.com>
20595
20596 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
20597 tpart non-const, so that we can assign to it. (Since this is a
20598 typedef, the constness refers to the pointer rather than what it
20599 points to.)
20600
8d5e2af3
CW
206012010-09-21 Colin Watson <cjwatson@ubuntu.com>
20602
20603 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
20604 $(top_srcdir)/grub-core/gnulib as well as
20605 $(top_builddir)/grub-core/gnulib.
20606 Reported by: KESHAV P.R.
20607
5c527783
CW
206082010-09-21 Colin Watson <cjwatson@ubuntu.com>
20609
20610 * util/grub-install.in: Fix the bootloader ID option to be
20611 consistently --bootloader-id, not --bootloader_id.
20612 Reported by: KESHAV P.R.
20613
d309a16e
CW
206142010-09-21 Colin Watson <cjwatson@ubuntu.com>
20615
20616 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
20617 check hash checksum." consistently translatable.
20618
b830cd16
YB
206192010-09-21 Yves Blusseau <blusseau@zetam.org>
20620
20621 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
20622 $(top_builddir).
20623
c4fe27a8
CW
206242010-09-21 Colin Watson <cjwatson@ubuntu.com>
20625
20626 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
20627 (GRUB_MOD_INIT): Register sha1sum command.
20628 (GRUB_MOD_FINI): Unregister sha1sum command.
20629
a4c1d277
YB
206302010-09-21 Yves Blusseau <blusseau@zetam.org>
20631
20632 Keep boot and grub directory names in sync with utils scripts
20633
20634 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
20635 * config.h.in: Add previous macros.
20636 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
20637 * util/grub-install.in: Use $bootdir and $grubdir variables.
20638
4eff79d2
CW
206392010-09-21 Colin Watson <cjwatson@ubuntu.com>
20640
20641 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
20642 convert partition names to disk names if the new `convert' parameter
20643 is set.
20644 (grub_util_biosdisk_get_grub_dev): If opening the disk device
20645 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
20646 disk in its own right. This can happen with Xen disk images.
20647
934d7e44
YB
206482010-09-21 Yves Blusseau <blusseau@zetam.org>
20649
20650 * util/grub-editenv.c: Update strings to avoid warnings when generating
20651 grub.pot file.
20652 * util/grub-setup.c: Likewise.
934d7e44 20653
df3367cc
VS
206542010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
20655
20656 * configure.ac: Change version to 1.99~beta0.
20657
77a94e98
VS
206582010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
20659
20660 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
20661 Add BADRAM.
20662 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
20663 Likewise.
20664 * include/multiboot.h: Resynced with specification.
20665 * include/multiboot2.h: Likewise.
20666
269004c1
CW
206672010-09-21 Colin Watson <cjwatson@ubuntu.com>
20668
20669 Fix po directory handling.
20670
20671 * configure.ac: Create po/Makefile.in rather than po/Makefile.
20672 * grub-core/gnulib/Makefile.am: Import gettext module.
20673 * m4/gnulib-cache.m4: Likewise.
20674 * m4/gnulib-comp.m4: Likewise.
20675 * m4/gettext.m4: New file, from gnulib.
20676 * m4/glibc2.m4: Likewise.
20677 * m4/iconv.m4: Likewise.
20678 * m4/intdiv0.m4: Likewise.
20679 * m4/intl.m4: Likewise.
20680 * m4/intldir.m4: Likewise.
20681 * m4/intlmacosx.m4: Likewise.
20682 * m4/intmax.m4: Likewise.
20683 * m4/inttypes-pri.m4: Likewise.
20684 * m4/lcmessage.m4: Likewise.
20685 * m4/lib-ld.m4: Likewise.
20686 * m4/lib-link.m4: Likewise.
20687 * m4/lib-prefix.m4: Likewise.
20688 * m4/lock.m4: Likewise.
20689 * m4/nls.m4: Likewise.
20690 * m4/po.m4: Likewise.
20691 * m4/printf-posix.m4: Likewise.
20692 * m4/progtest.m4: Likewise.
20693 * m4/threadlib.m4: Likewise.
20694 * m4/uintmax_t.m4: Likewise.
20695 * m4/visibility.m4: Likewise.
20696 * po/Makefile.am: Remove.
20697 * po/Makefile.in.in: New file, from gettext.
20698 ($(DOMAIN).pot-update): Support POTFILES-shell.
20699 * po/Makevars: New file.
20700 * po/POTFILES-shell: Rename to ...
20701 * po/POTFILES-shell.in: ... this. Update.
20702 * po/POTFILES: Rename to ...
20703 * po/POTFILES.in: ... this. Update.
20704 * po/Rules-quot: New file, from gettext.
20705 * po/boldquot.sed: Likewise.
20706 * po/en@boldquot.header: Likewise.
20707 * po/en@quot.header: Likewise.
20708 * po/insert-header.sin: Likewise.
20709 * po/quot.sed: Likewise.
20710 * po/remove-potcdate.sin: Likewise.
20711
3e0fa5d0
VS
207122010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20713
20714 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
20715
ade9bd66
VS
207162010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20717
20718 * util/grub.d/20_linux_xen.in: Use submenus.
20719
fc55cc4c
VS
207202010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20721
20722 Support submenus.
20723
20724 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
20725 parameter submenu. All users updated.
20726 * grub-core/normal/main.c (free_menu): Rename to ...
20727 (grub_normal_free_menu): ... this. Made global.
20728 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
20729 if requested.
20730 * grub-core/normal/menu_entry.c (screen): New field submenu.
20731 (make_screen): Set submenu.
20732 (run): Open new context if requested.
20733 * include/grub/menu.h (grub_menu_entry): New field submenu.
20734 * include/grub/normal.h (grub_normal_free_menu): New proto.
20735
600cedf7
VS
207362010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20737
20738 Menu entries extractor.
20739
20740 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
20741 variants.
20742 (GRUB_MOD_INIT): Register new variants.
20743 (GRUB_MOD_FINI): Unregister new variants.
20744 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
20745 into grub_cmd_legacy_source.
20746 (grub_cmd_legacy_source): Implement extractor variants.
20747 (GRUB_MOD_INIT): Register new variants.
20748 (GRUB_MOD_FINI): Unregister new variants.
20749 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
20750 as an extractor.
20751 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
20752 search as an extractor.
20753 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
20754 test as an extractor.
20755 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
20756 as an extractor.
20757 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
20758 (grub_env_new_context): New function.
20759 (grub_env_context_open): Likewise.
20760 (grub_env_extractor_open): Likewise.
20761 (grub_env_extractor_close): Likewise.
20762 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
20763 grub_extractor_level.
20764 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
20765 * include/grub/env.h (grub_env_extractor_open): New proto.
20766 (grub_env_extractor_close): Likewise.
20767 * include/grub/normal.h (grub_extractor_level): New external variable.
20768
7bda3a87
VS
207692010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20770
20771 Make cutmem accept a region specification.
20772 Suggested by: Samuel Thibault
20773
20774 * grub-core/mmap/mmap.c (parsemem): New function.
20775 (grub_cmd_cutmem): Handle new arguments.
20776
2ea57f88
VS
207772010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20778
20779 New command cutmem.
20780
20781 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
20782 (GRUB_MOD_INIT): Register new command.
20783 (GRUB_MOD_FINI): Unregister new command.
20784
74342e31
VS
207852010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20786
20787 Support some annoying BSD and Minix subpartitions.
20788
20789 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
20790 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
20791 Properly handle concatenation.
20792 * grub-core/kern/device.c (grub_device_iterate): Likewise.
20793 * grub-core/normal/completion.c (iterate_partition): Likewise.
20794 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
20795 contain partition. All users updated.
20796 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
20797 struct.
20798 (grub_openbsdlabel_partition_map): Likewise.
20799 (bsdlabel_partition_map_iterate): Rename to ..
20800 (iterate_real): ... this. New arguments sector, freebsd and pmap.
20801 (bsdlabel_partition_map_iterate): New function.
20802 (netopenbsdlabel_partition_map_iterate): Likewise.
20803 (netbsdlabel_partition_map_iterate): Likewise.
20804 (openbsdlabel_partition_map_iterate): Likewise.
20805 (GRUB_MOD_INIT): Register new partmaps.
20806 (GRUB_MOD_FINI): Unregister new partmaps.
20807 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
20808 (grub_partition_msdos_iterate): ... this. All users updated.
20809 Don't support embedding other than in a minix partition.
20810 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
20811 proto.
20812 * include/grub/partition.h (grub_partition): New field msdostype.
20813 * util/grub-install.in: Handle openbsd and netbsd types being in
20814 part_bsd module.
20815
1e8d555b
VS
208162010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20817
20818 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
20819
20820 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
20821 * grub-core/Makefile.core.def (mdraid): Renamed to ...
20822 (mdraid09): ... this.
20823 (mdraid1x): New module.
20824 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
20825 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
20826
899d8af4
VS
208272010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20828
20829 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
20830 vsprintf.
20831
40901acd
CW
208322010-09-20 Colin Watson <cjwatson@ubuntu.com>
20833
20834 * grub-core/commands/efi/lsefimmap.c: Correct header.
20835 * NEWS: Update.
20836
dfe3b247
CW
208372010-09-20 Colin Watson <cjwatson@ubuntu.com>
20838
20839 * util/grub-editenv.c (argp_parser): Don't pass translated strings
20840 as printf format strings; the translations might contain '%' which
20841 could cause a crash.
20842 (main): Likewise.
20843 * util/grub-fstest.c (argp_parser): Likewise.
20844 * util/grub-setup.c (argp_parser): Likewise.
20845 (main): Likewise.
20846
3286a4b4
VS
208472010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20848
20849 Use argp in grub-fstest.
20850
20851 * util/grub-fstest.c: Don't include getopt.h.
20852 Include argp.h.
20853 (root): New variable.
20854 (args_count): Likewise.
20855 (nparm): Likewise.
20856 (num_disks): Likewise.
20857 (images): Likewise.
20858 (cmd): Likewise.
20859 (debug_str): Likewise.
20860 (args): Likewise.
20861 (options): Transformed to argp.
20862 (usage): Removed.
20863 (main): Split argument parsing into ...
20864 (argp_parser): ... this. Changed to argp format.
20865 (argp): New variable.
20866 (main): Use argp_parse.
20867
3dccbe4b
TG
208682010-09-20 Tristan Gingold <gingold@free.fr>
208692010-09-20 Robert Millan <rmh.grub@aybabtu.com>
208702010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20871
20872 * grub-core/commands/efi/lsefimmap.c: New file.
20873 * grub-core/Makefile.core.def (lsefimmap): New module.
20874 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
20875
38c259a7
VS
208762010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20877
20878 Pause the execution (10s max) if any errors are displayed so the user
20879 has a chance to see them.
20880
20881 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
20882 (grub_print_error): Increment grub_err_printed_errors.
20883 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
20884 execution if any errors were displayed.
20885 (show_menu): Remove old code for pause.
20886 * grub-core/normal/menu_entry.c (run): Likewise.
20887 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
20888 users updated.
20889 (grub_normal_get_char_counter): Likewise.
20890 * include/grub/err.h (grub_err_printed_errors): New external variable.
20891 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
20892
f218b09c
VS
208932010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20894
20895 Support multiboot VBE info.
20896
20897 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
20898 Take VBE info into account.
20899 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
20900 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
20901 Call fill_vbe_info when appropriate.
20902 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
20903 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
20904 as supported.
20905 (grub_multiboot_get_mbi_size): Take new tags into account.
20906 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
20907 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
20908 Call fill_vbe_tag when appropriate.
20909 (grub_multiboot_make_mbi): Properly align tags.
20910 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
20911 function.
20912 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
20913 proto.
20914 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
20915
a9cc5438
VS
209162010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20917
20918 Suport manual terminal geometry specification.
20919
20920 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
20921 Save state in grub_ofconsole_terminfo_output.
20922 (grub_ofconsole_term): Use grub_terminfo_getwh.
20923 (grub_ofconsole_getwh): Removed.
20924 * grub-core/term/serial.c (grub_serial_getwh): Removed.
20925 (grub_serial_term): Use grub_terminfo_getwh.
20926 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
20927 (options): New struct.
20928 (OPTION_*): New enum.
20929 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
20930 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
20931 width and height.
20932 (grub_terminfo_getwh): New proto.
20933 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
20934
1a8fed20
VS
209352010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20936
20937 Handle legacy "terminal" command.
20938
20939 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
20940 and FLAG_TERMINAL.
20941 (legacy_commands): Add terminal and title.
20942 (grub_legacy_parse): Handle terminal. Simplify title handling.
20943
41e9c57d
VS
209442010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20945
20946 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
20947 parameters overflow.
20948
61c874c5
CW
209492010-09-20 Colin Watson <cjwatson@ubuntu.com>
20950
20951 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
20952 widthspec.h.
20953
20954 * docs/grub.texi (Shell-like scripting): Document `!'.
20955 (Network): Simplify using new i386-pc-pxe format. Mention
20956 grub-mknetdir.
20957
20958 * NEWS: Update.
20959
943682b4
CW
209602010-09-20 Colin Watson <cjwatson@ubuntu.com>
20961
20962 * Makefile.am (SUBDIRS): Restore "."; it's important to force
20963 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
20964 when needed.
20965
6d3d698d
CW
209662010-09-20 Colin Watson <cjwatson@ubuntu.com>
20967
20968 * grub-core/commands/efi/lsefisystab.c: Correct header.
20969 * grub-core/commands/efi/lssal.c: Likewise.
20970 * grub-core/commands/testload.c: Likewise.
20971
c982589f
CW
209722010-09-20 Colin Watson <cjwatson@ubuntu.com>
20973
20974 * util/grub-mkrescue.in: Add explicit root argument to --set to
20975 prevent the UUID being interpreted as an argument to --set (matches
20976 previous change to prepare_grub_to_access_device).
20977
a63c31b6
CW
209782010-09-20 Colin Watson <cjwatson@ubuntu.com>
20979
20980 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
20981 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
20982 the verbosity of later #ifs.
20983 (find_partition_start): Define this function on FreeBSD too.
20984 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
20985 function.
20986 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
20987 on FreeBSD.
20988
6439b8ee
YB
209892010-09-20 Yves Blusseau <blusseau@zetam.org>
20990
20991 * util/grub-editenv.c: Use argp instead of getopt.
20992
c5930ec8
YB
209932010-09-20 Yves Blusseau <blusseau@zetam.org>
20994
20995 * util/grub-setup.c: Use argp instead of getopt.
20996
15c69261
YB
209972010-09-20 Yves Blusseau <blusseau@zetam.org>
20998
20999 Use gnulib-tool to create gnulib source files.
21000
21001 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
21002 grub-core/gnulib directories
21003 * .bzignore: Add **/.deps and autogenerated gnulib files
21004 * configure.ac: Assign auxiliary directory to build-aux, add invocation
21005 of gnulib macros, add grub-core/gnulib/Makefile
21006 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
21007 include m4 directory to aclocal.
21008 * Makefile.util.def: Remove direct compilation of gnulib source files
21009 and use the new grub-core/gnulib/libgnu.a.
21010 * build-aux/config.rpath: move config.rpath from top directory to
21011 build-aux
21012 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
21013 in gnulib headers
21014 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
21015 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
21016 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
21017 header.
21018 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
21019 string.
21020
e511c9f5
YB
210212010-09-20 Yves Blusseau <blusseau@zetam.org>
21022
21023 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
21024 grub-core/genmod.sh and grub-core/gensyminfo.sh
21025
c2dede05
BC
210262010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
21027
21028 Add a test for echo command options.
21029
21030 * tests/grub_cmd_echo.in: New test.
21031 * Makefile.util.def: Rules for new test.
21032
c55f5018
SJ
210332010-09-20 Szymon Janc <szymon@janc.net.pl>
21034
21035 Remove crc.mod and move crc command to hashsum.mod.
21036 Remove lib/crc.c - users updated to use gcrypt implementation.
21037
21038 * grub-core/commands/crc.c: Removed.
21039 * grub-core/Makefile.core.def (crc): Module removed.
21040 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
21041 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
21042 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
21043 * grub-core/lib/crc.c: Removed.
21044 * include/grub/lib/crc.h: Removed.
21045 * Makefile.util.def (crc): Remove lib/crc.c
21046 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
21047 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
21048 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
21049 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
21050 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
21051 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
21052
e0337366
VS
210532010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21054
21055 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
21056
742f9232
VS
210572010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21058
21059 Split config.h for util and core.
21060
21061 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
21062 (ADDR32): Likewise.
21063 (DATA32): Likewise.
21064 (BSS_START_SYMBOL): Likewise.
21065 (END_SYMBOL): Likewise.
21066 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
21067 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
21068 * config.h.in: New file.
21069 * configure.ac: Use config-util.h as config define file.
21070 Rename MACHINE into GRUB_MACHINE. All users updated.
21071 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
21072 updated.
21073 (NESTED_FUNC_ATTR): Likewise.
21074 Substitue new variables.
21075 (COND_HAVE_ASM_USCORE): New conditional.
21076 * grub-core/Makefile.am (ASM_PREFIX): New variable.
21077 (kernel_syms.lst): Use ASM_PREFIX.
21078 * grub-core/kern/emu/console.c: Include config-util.h.
21079 * grub-core/kern/emu/misc.c: Likewise.
21080 * grub-core/kern/emu/mm.c: Likewise.
21081 * include/grub/emu/misc.h: Likewise.
21082 * include/grub/libgcc.h: Likewise.
21083
39feb0e8
VS
210842010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21085
21086 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
21087 constants usage.
21088 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
21089 Fix GRUB_TERM_KEY_* constants usage.
21090 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
21091
9af6dac3
VS
210922010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21093
21094 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
21095 print pointer.
21096 * grub-core/bus/usb/uhci.c: Remove empty define.
21097 (grub_uhci_check_transfer): Add missing cast.
21098 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
21099 print pointer.
21100 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
21101 PRIuGRUB_SIZE.
21102 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
21103
d6d94820
VS
211042010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21105
21106 * grub-core/Makefile.core.def (legacycfg): Add
21107 lib/i386/pc/vesa_modes_table.c on emu.
21108
3572f2b6
BC
211092010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
21110
21111 Reduce number of temporary files generated by build system.
21112
21113 * grub-core/gencmdlist.sh: Removed.
21114 * grub-core/genfslist.sh: Removed.
21115 * grub-core/genhandlerlist.sh: Removed.
21116 * grub-core/genmodsrc.sh: Removed.
21117 * grub-core/genpartmaplist.sh: Removed.
21118 * grub-core/genparttoollist.sh: Removed.
21119 * grub-core/gentermiinallist.sh: Removed.
21120 * grub-core/genvideolist.sh: Removed.
21121
21122 * grub-core/genmod.sh.in: New file.
21123 * grub-core/gensyminfo.sh.in: New file.
21124
21125 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
21126 * conf/Makefile.extra-dist: Update with new files.
21127 * gentpl.py: Remove rules related to unnecessary temporary files.
21128 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
21129 and und-* files.
21130 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
21131 genmod.sh scripts.
21132 * grub-core/bus/usb/uhci.c: Remove empty #define.
21133 * grub-core/genmoddep.awk: Updated with new syminfo format.
21134 * util/bash-completion.d/Makefile.am: Add config.log to
21135 CLEANFILES.
21136
c836b030
YB
211372010-09-19 Yves Blusseau <blusseau@zetam.org>
21138
21139 * Makefile.util.def: Add forgotten $(LIBINTL) library.
21140
2f4e8053
BC
211412010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
21142
21143 * util/grub-mkconfig.in: Check the config script for syntax errors
21144 before saving.
21145
75831c34
CW
211462010-09-19 Colin Watson <cjwatson@ubuntu.com>
211472010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21148
21149 * Makefile.util.def (grub-install): Use util/grub-install.in on all
21150 platforms.
21151 * util/grub-install.in: Add EFI and IEEE1275 support.
21152 * util/i386/efi/grub-install.in: Removed.
21153 * util/ieee1275/grub-install.in: Likewise.
21154
eaf41b25
VS
211552010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21156
21157 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
21158 (grub_cmd_cmosclean): Likewise.
21159 (GRUB_MOD_INIT): Register command cmosclean.
21160 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
21161 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
21162
1a9130dd
CPE
211632010-09-18 Carles Pina i Estany <carles@pina.cat>
211642010-09-18 Aleš Nesrsta <starous@volny.cz>
211652010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
21166
21167 Add keyboard layouts support.
21168
21169 * Makefile.util.def (grub-mklayout): New file.
21170 (grub-kbdcomp): New script.
21171 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
21172 Add keyboard_layouts.h.
21173 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
21174 commands/boot.c on yeeloong.
21175 (keylayouts): New module.
21176 * grub-core/bus/usb/ohci.c
21177 * grub-core/bus/usb/uhci.c
21178 * grub-core/bus/usb/usbhub.c (rescan): New variable.
21179 (grub_usb_add_hub): Poll interrupt pipe for device handling.
21180 (attach_root_port): Likewise.
21181 (poll_nonroot_hub): Likewise.
21182 (grub_usb_poll_devices): Likewise.
21183 (detach_device): Close transfer.
21184 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
21185 function.
21186 (grub_usb_bulk_setup_readwrite): Likewise.
21187 (grub_usb_bulk_finish_readwrite): Likewise.
21188 * grub-core/commands/keylayouts.c: New file.
21189 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
21190 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
21191 aliases.
21192 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
21193 support scancode 2.
21194 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
21195 * include/grub/keyboard_layouts.h: New file.
21196 * util/grub-mklayout.c: New file.
21197 * util/grub-kbdcomp.in: Likewise.
21198
a1d84a5e
VS
211992010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
21200
21201 Unify memory types.
21202
21203 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
21204 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
21205 types.
21206 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
21207 (grub_upper_mem): Likewise.
21208 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
21209 * include/grub/memory.h (grub_memory_type_t): New enum.
21210 All users updated.
21211
9696382e
VS
212122010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
21213
21214 * grub-core/Makefile.core.def (lsapm): New module.
21215 * grub-core/commands/i386/pc/lsapm.c: New file.
21216 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
21217 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
21218 Likewise.
21219 * include/grub/i386/pc/apm.h: New file.
21220 * include/multiboot.h (multiboot_apm_info): New struct.
21221
212222010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
21223
21224 GRUB-legacy configuration file support.
21225
21226 * Makefile.util.def (grub-menulst2cfg): New util.
21227 * docs/man/grub-menulst2cfg.h2m: New file.
21228 * grub-core/Makefile.core.def (legacycfg): New module.
21229 * grub-core/commands/legacycfg.c: New file.
21230 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
21231 (grub_normal_add_menu_entry): ... this.
21232 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
21233 (grub_normal_set_password): ...this.
21234 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
21235 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
21236 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
21237 * grub-core/lib/legacy_parse.c: New file.
21238 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
21239 * include/grub/i386/pc/vesa_modes_table.h: New file.
21240 * include/grub/legacy_parse.h: Likewise.
21241 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
21242 * util/grub-menulst2cfg.c: New file.
21243
bf8d1338
CW
212442010-09-17 Colin Watson <cjwatson@ubuntu.com>
21245
21246 * grub-core/kern/emu/hostdisk.c
21247 (convert_system_partition_to_system_disk): Initialise node.
21248
9c0bad2e
CW
212492010-09-17 Colin Watson <cjwatson@ubuntu.com>
21250
21251 * grub-core/kern/emu/hostdisk.c
21252 (convert_system_partition_to_system_disk): Fix devmapper memory pool
21253 leak.
21254 Reported and based on patch by: Modestas Vainius.
21255
a939d135
CW
212562010-09-17 Colin Watson <cjwatson@ubuntu.com>
21257
21258 Fix DM-RAID probing with recent versions of device-mapper udev
21259 rules.
21260
21261 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
21262 canonicalise device paths under /dev/mapper/.
21263 (convert_system_partition_to_system_disk): Compare the
21264 uncanonicalised path to /dev/mapper/ rather than the canonicalised
21265 path, since device nodes under /dev/mapper/ are often symlinks.
21266
0f7ee3c9
YB
212672010-09-17 Yves Blusseau <blusseau@zetam.org>
21268
21269 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
21270
10854d0d
YB
212712010-09-16 Yves Blusseau <blusseau@zetam.org>
21272
21273 * configure.ac: Avoid some annoying error messages if freetype-config
21274 program is not found.
21275
108538d8
CW
212762010-09-16 Colin Watson <cjwatson@ubuntu.com>
21277
21278 Support RAID on virtio devices, and others.
21279
21280 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
21281 Rename to ...
21282 [__MINGW32__] (grub_find_device): ... this.
21283 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
21284 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
21285 reasonable default if dir is NULL.
21286 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
21287 ...
21288 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
21289 (grub_guess_root_device): Update callers.
21290 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
21291
21292 * util/raid.c (grub_util_getdiskname): Remove.
21293 (grub_util_raid_getmembers): Use grub_find_device rather than
21294 grub_util_getdiskname.
21295
e5bfc130
CW
212962010-09-16 Colin Watson <cjwatson@ubuntu.com>
21297
21298 * docs/grub.texi (serial): Remove obsolete comment about GRUB
21299 needing to be compiled with serial support.
21300 (ls): Indicate that multiple files are accepted.
21301 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
21302 indicate that multiple files are accepted.
21303
be458ae2
CW
213042010-09-16 Colin Watson <cjwatson@ubuntu.com>
21305
21306 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
21307 libgrub_a_init.c, and util/bash-completion.d/grub.
21308
cb731b5e
VS
213092010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21310
21311 * util/grub-setup.c (setup): Fix incorrect container semantics.
21312
35139e8a
VS
213132010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21314
21315 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
21316 misusage.
21317 Reported by: J. Nick Terry
21318
e50fca4a
VS
213192010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21320
21321 Move embedding routines to partmap sources files.
21322
21323 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
21324 [GRUB_UTIL]: New variable.
21325 (gpt_partition_map_iterate): Set part.parent.
21326 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
21327 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
21328 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
21329 New function.
21330 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
21331 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
21332 (grub_partition_map) [GRUB_UTIL]: New field embed.
21333 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
21334 (setup): Use ->embed.
21335
f00478b7
VS
213362010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21337
21338 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
21339 function.
21340 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
21341 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
21342
2b94e3ff
YB
213432010-09-15 Yves Blusseau <blusseau@zetam.org>
21344
21345 Add function to get completions from usage.
21346
21347 * util/bash-completion.d/grub-completion.bash.in: Add function to get
21348 completions from usage. Use LC_ALL=C to get options properly.
21349
2e04a006
VS
213502010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21351
21352 * grub-core/gnulib/basename-lgpl.c: Imported.
21353 * grub-core/gnulib/basename.c: Likewise.
21354 * grub-core/gnulib/dirname-lgpl.c: Likewise.
21355 * grub-core/gnulib/dirname.c: Likewise.
21356 * grub-core/gnulib/dirname.h: Likewise.
21357 * grub-core/gnulib/stripslash.c: Likewise.
21358
5dcdf93a
VS
213592010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21360
21361 * grub-core/gnulib/error.c: Resynced.
21362 * grub-core/gnulib/getopt.c: Likewise.
21363 * grub-core/gnulib/getopt_int.h: Likewise.
21364 * grub-core/gnulib/regex.h: Likewise.
21365 * grub-core/gnulib/regex_internal.c: Likewise.
21366 * grub-core/gnulib/regex_internal.h: Likewise.
21367
014f47b7
SJ
213682010-09-15 Szymon Janc <szymon@janc.net.pl>
21369
21370 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
21371 CRC calculations and validity checks.
21372 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
21373 calculations.
21374
dd521a4a
SJ
213752010-09-15 Szymon Janc <szymon@janc.net.pl>
21376
21377 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
21378
79c4eeb9
VS
213792010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21380
21381 Fix incorrect echo options handling.
21382 Reported by: Yves Blusseau.
21383
21384 * include/grub/command.h (grub_command_flags_t): New flags
21385 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
21386 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
21387 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
21388
ed80f7d5
VS
213892010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21390
21391 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
21392 users updated.
21393 (GRUB_COMMAND_FLAG_MENU): Likewise.
21394 (GRUB_COMMAND_FLAG_BOTH): Likewise.
21395 (GRUB_COMMAND_FLAG_TITLE): Removed.
21396 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
21397 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
21398 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
21399 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
21400 (grub_command_flags_t): New enum. All users updated.
21401
5fe7620a
SG
214022010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
21403
21404 Fix solaris compilation.
21405
21406 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
21407 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
21408 (grub-emu-list): Likewise.
21409
545b752f
VS
214102010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21411
21412 Remove deprecated root command.
21413
21414 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
21415 updated.
21416
6c1a338c
VS
214172010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21418
21419 * util/i386/pc/grub-setup.c: Merge this ...
21420 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
21421 * util/grub-setup.c: ... into this.
21422 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
21423 New struct.
21424
214252010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21426
21427 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
21428 possible.
21429
d2ea4551
VS
214302010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21431
21432 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
21433 allocate p.
21434
3c3b5040
VS
214352010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21436
21437 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
21438 explicit root argument to set to prevent UUID to be interpreted as
21439 argument to set.
21440
b71c3fae
VS
214412010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21442
21443 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
21444
275433e6
VS
214452010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21446
21447 Don't export grub_gate_a20.
21448
21449 * grub-core/kern/i386/pc/init.c: Remove leftovers.
21450 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
21451 to ...
21452 (grub_gate_a20): ... this. All users updated.
21453 * include/grub/i386/pc/init.h: Removed. All users updated.
21454
a5dbb1f1
VS
214552010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21456
21457 Create euro.pf2 which supports most European languages.
21458
21459 * Makefile.am (grubdata_DATA): Add euro.pf2.
21460 (euro.pf2): New target.
21461 (CLEANFILES): Add euro.pf2.
21462
62a747cb
VS
214632010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21464
21465 * configure.ac: Disable emu-usb by default to prevent inadvertent
21466 device takeover.
21467
608e43b1
VS
214682010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21469
21470 Disable usbserial on grub-emu since our libusb code isn't good enough
21471 yet.
21472
21473 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
21474 (usbserial_pl2303): Likewise.
21475 (usbserial_ftdi): Likewise.
21476
94564f81
VS
214772010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21478
21479 * include/grub/disk.h (grub_disk): Remove has_partitions.
21480 All users updated.
21481 * disk/loopback.c (grub_loopback): Remove has_partitions.
21482 All users updated.
21483 (options): Remove partitions. All users updated.
21484 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
21485 * util/i386/pc/grub-setup.c (setup): copy partition table only when
21486 actual partition table is found.
21487
3352800b
VS
214882010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21489
21490 Remove readability checks (too many false negatives).
21491
21492 * util/grub-install.in: Remove readability checks.
21493 * util/grub-mkconfig.in: Likewise.
21494 * util/grub.d/10_hurd.in: Likewise.
21495 * util/grub.d/10_kfreebsd.in: Likewise.
21496 * util/grub.d/10_linux.in: Likewise.
21497 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
21498 way.
21499
2419f17a
VS
215002010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21501
21502 Enable acpi shutdown on all ACPI platforms.
21503
21504 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
21505 on coreboo, multiboot and EFI.
21506 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
21507 (grub_acpi_halt): Likewise.
21508 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
21509 (grub_cmd_halt): Don't call grub_acpi_halt directly.
21510 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
21511 * grub-core/lib/i386/halt.c (grub_halt)
21512 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
21513
0575c7c3
VS
215142010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21515
21516 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
21517 context.
21518
54ac3cd1
VS
215192010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21520
21521 * grub-core/video/efi_gop.c: Fix over-80-chars line.
21522 * grub-core/video/efi_uga.c: Likewise.
21523
b2a30ac5
VS
215242010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21525
21526 Filter devaliases and never open same device twice.
21527
21528 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
21529 (last_ihandle): Likewise.
21530 (ofdisk_hash_ent): New member shortest.
21531 (ofdisk_hash_add): Add canonical path too.
21532 (scan): New function.
21533 (grub_ofdisk_iterate): Iterate over hashed entries.
21534 (compute_dev_path): Don't add :0.
21535 (grub_ofdisk_open): Don't really open the disk.
21536 (grub_ofdisk_close): Avoid closing unrelated disk.
21537 (grub_ofdisk_read): Implement reopen logic.
21538 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
21539 New function.
21540 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
21541 New proto.
21542
fb53b340
VS
215432010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21544
21545 Fix sparc64.
21546
21547 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
21548 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
21549 right address. Add sparc64_ieee1275_ldflags.
21550 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
21551 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
21552 to grub_host_to_target_addr
21553 (load_image): Likewise.
21554
f452b040
VS
215552010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21556
21557 * grub-core/normal/completion.c (complete_file): Handle device
21558 containing slash.
21559 Fix based on patch by Doug Nazar.
21560
9b5b2541
VS
215612010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21562
21563 grub-mknetdir script.
21564
21565 * Makefile.util.def (grub-mknetdir): New module.
21566 * tests/util/grub-shell.in: Support boot=net
21567 * util/grub-mknetdir.in: New file.
21568
9d2be652
VS
215692010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21570
21571 videoinfo on non-vbe.
21572
21573 * grub-core/Makefile.core.def (vbeinfo): Removed.
21574 (vbetest): Removed.
21575 (videoinfo): New module.
21576 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
21577 * grub-core/commands/i386/pc/vbetest.c: Removed.
21578 * grub-core/commands/videoinfo.c: New file.
21579 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
21580 specification.
21581 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
21582 as vbetest.
21583 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
21584 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
21585 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
21586 mode_number. New parameter mode. All users updated.
21587 (grub_video_gop_iterate): New function.
21588 (grub_video_efi_gop): New member iterate.
21589 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
21590 (grub_vbe_set_video_mode): Remove setting useless fields.
21591 (vbe2videoinfo): New function.
21592 (grub_video_vbe_iterate): Likewise.
21593 (grub_video_vbe_setup): Use vbe2videoinfo.
21594 (grub_video_vbe_print_adapter_specific_info): New function.
21595 (grub_video_vbe_adapter): New fields iterate and
21596 print_adapter_specific_info.
21597 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
21598 All users updated.
21599 (grub_video_mode_info): New field mode_number.
21600 (grub_video_adapter): New fields iterate and
21601 print_adapter_specific_info.
21602
179503f5
TG
216032010-09-13 Tristan Gingold <gingold@free.fr>
216042010-09-13 Robert Millan <rmh.grub@aybabtu.com>
216052010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21606
21607 * grub-core/commands/efi/lsefisystab.c: New file.
21608 * grub-core/commands/efi/lssal.c: Likewise.
21609 * grub-core/Makefile.core.def (lsacpi): New module.
21610 (lsefisystab): Likewise.
21611 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
21612 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
21613 (grub_efi_sal_system_table): New struct.
21614 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
21615 (grub_efi_sal_system_table_memory_descriptor): Likewise.
21616 (grub_efi_sal_system_table_platform_features): Likewise.
21617 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
21618 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
21619 (grub_efi_sal_system_table_ap_wakeup): Likewise.
21620 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
21621
cf9827de
VS
216222010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21623
21624 Support explicit user claim that a device is BIOS-visible.
21625
21626 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
21627 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
21628 * grub-core/kern/emu/hostdisk.c
21629 (convert_system_partition_to_system_disk): Support mdX.
21630 (find_system_device): New parameter add. All users updated.
21631 (grub_util_biosdisk_is_present): New function.
21632 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
21633 proto.
21634
53f0eb1f
VS
216352010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21636
21637 Search hints support.
21638
21639 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
21640 All users updated.
21641
b23ffd70
YB
216422010-09-13 Yves Blusseau <blusseau@zetam.org>
21643
21644 Bash completion script for util commands
21645
21646 * Makefile.am: Add util/bash-completion.d directory
21647 * configure.ac: Likewise.
21648 * util/bash-completion.d/Makefile.am: New file.
21649 * util/bash-completion.d/grub-completion.bash.in: Likewise.
21650
d547dc28
VS
216512010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21652
21653 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
21654 (print_backlog): set backlog_ucs4 and backlog_glyphs.
21655 Reported by: Yves Blusseau.
21656
2fc8ccb9
VS
216572010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21658
21659 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
21660 partition size and offset.
21661
d8a84076
VS
216622010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21663
21664 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
21665
84fb3b3d
VS
216662010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21667
21668 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
21669
768ec2e2
VS
216702010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21671
21672 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
21673 (grub_xvasprintf): Likewise.
21674
4870900f
VS
216752010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21676
21677 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
21678
faca6bec
VS
216792010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21680
21681 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
21682 args ending with NULL.
21683
216842010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
21685
21686 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
21687 pointer.
21688
3c70f225
SJ
216892010-09-11 Szymon Janc <szymon@janc.net.pl>
21690
21691 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
21692
4df7996d
VS
216932010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
21694
21695 Shutdown using ACPI.
21696
21697 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
21698 * grub-core/commands/acpihalt.c: New file.
21699 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
21700 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
21701 (grub_acpi_halt): New proto.
21702 (GRUB_ACPI_SLP_EN): New const.
21703 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
21704 (GRUB_ACPI_OPCODE_*): New enum.
21705 (GRUB_ACPI_EXTOPCODE_*): Likewise.
21706
126b4c32
TG
217072010-09-11 Tristan Gingold <gingold@free.fr>
217082010-09-11 Robert Millan <rmh.grub@aybabtu.com>
217092010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
21710
21711 * commands/lsacpi.c: New file.
21712 * grub-core/Makefile.core.def (lsacpi): New module.
21713 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
21714 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
21715 (grub_acpi_madt_entry_header): New struct.
21716 (grub_acpi_madt): Likewise.
21717 (grub_acpi_madt_entry_interrupt_override): Likewise.
21718 (grub_acpi_madt_entry_sapic): Likewise.
21719 (grub_acpi_madt_entry_lsapic): Likewise.
21720 (grub_acpi_madt_entry_platform_int_source): Likewise.
21721 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
21722 (PRIuGRUB_UINT32_T): Likewise.
21723 (PRIxGRUB_UINT64_T): Likewise.
21724
1aa4fe88
VS
217252010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
21726
21727 Implement loading palette on ieee1275_fb.
21728
21729 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
21730 (have_setcolors): Likewise.
21731 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
21732 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
21733 (grub_video_ieee1275_set_palette): Implement.
21734
25761e13
VS
217352010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
217362010-09-11 Colin Watson <cjwatson@ubuntu.com>
21737
21738 * util/grub-install.in (grub_partition): New variable.
21739 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
21740 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
21741 Fixes a bug reported by Yves Blusseau.
21742
050abaea
VS
217432010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
21744
21745 Fix emu on mipsel.
21746
21747 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
21748 =grub_cpu_flush_cache on all mips and not only yeeloong.
21749 * configure.ac (COND_mips): New conditional.
21750 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
21751 platforms.
21752 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
21753 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
21754 [GRUB_LINKER_HAVE_INIT]: New function.
21755 (grub_emu_post_init): Likewise.
21756 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
21757 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
21758 * include/grub/cache.h (_mips): Include mips/cache.h.
21759 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
21760 LVM and RAID prototypes.
21761 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
21762 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
21763 function.
21764
5ed7d816
CW
217652010-09-10 Colin Watson <cjwatson@ubuntu.com>
21766
21767 * util/grub-install.in: Don't try to verify core.img until after
21768 running grub-mkimage to create it.
21769
90367e04
RM
217702010-09-10 Robert Millan <rmh@gnu.org>
21771
21772 * util/grub.d/10_hurd.in: Add misc readability checks.
21773 * util/grub.d/10_kfreebsd.in: Likewise.
21774 * util/grub.d/10_linux.in: Likewise.
21775
c452fa66
CW
217762010-09-10 Colin Watson <cjwatson@ubuntu.com>
21777
21778 * util/grub-install.in: ${imgext} won't be defined here until the
21779 install branch is merged. For the meantime, only verify core.img on
21780 i386-pc and sparc64-ieee1275 platforms.
21781
c38fe9f4
RM
217822010-09-10 Robert Millan <rmh@gnu.org>
21783
21784 Solaris support in grub_find_zpool_from_dir(). Thanks
21785 Seth Goldberg for referring to getextmntent() facility.
21786
21787 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
21788 `sys/mkdev.h'.
21789 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
21790 `<sys/mnttab.h>'.
21791 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
21792 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
21793 method for finding zpool name.
21794
905f7773
CW
217952010-09-10 Colin Watson <cjwatson@ubuntu.com>
21796
21797 grub-fstest needs the host and hostfs modules while other utilities
21798 actively require those modules to be absent, so grub-fstest needs
21799 its own initialisation and finalisation code.
21800
21801 * Makefile.am (grub_fstest.pp): New target.
21802 (grub_fstest_init.lst): Likewise.
21803 (grub_fstest_init.c): Likewise.
21804 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
21805
fb90b546
RM
218062010-09-10 Robert Millan <rmh@gnu.org>
21807
21808 * configure.ac: Check for `struct statfs.f_fstypename' and
21809 `struct statfs.f_mntfromname'.
21810
21811 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
21812 kFreeBSD-specific code.
21813
66d4bea5
RM
218142010-09-10 Robert Millan <rmh@gnu.org>
21815
21816 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
21817 on ZFS. Now non-main filesystems are supported as / too.
21818
b6a690ee
CW
218192010-09-09 Colin Watson <cjwatson@ubuntu.com>
21820
21821 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
21822 and grub-core/disk/host.c to ...
21823 (grub-fstest): ... here. Having the host disk implementation
21824 present confuses grub-probe and other utility programs.
21825
21826 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
21827 when writing to a file, not when writing to stdout.
21828
8901b00c 218292010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
21830
21831 * tests/partmap_test.in: New test for partitions.
21832 * Makefile.util.def: Rules for new test.
21833
7bf45fdd
RM
218342010-09-09 Robert Millan <rmh@gnu.org>
21835
21836 * util/grub-probe.c (probe): Fix a pair of unhandled error
21837 conditions.
21838
4dfbc574
RM
218392010-09-09 Robert Millan <rmh@gnu.org>
21840
21841 Basic Btrfs support (detection and UUID).
21842
21843 * grub-core/fs/btrfs.c: New file.
21844 * Makefile.util.def (library): Register btrfs.c.
21845 * grub-core/Makefile.core.def: Likewise.
21846
6b8e78ae
RM
218472010-09-08 Robert Millan <rmh@gnu.org>
21848
21849 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
21850 with (optional) parameters to specify device and relative path.
21851 * util/grub-install.in: Use is_path_readable_by_grub() to
21852 verify readability of a few critical files.
21853 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
21854 verify readability of grub.cfg.new.
21855
27f21a8b
VS
218562010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
21857
21858 Split minix.mod into minix.mod and minix2.mod.
21859
21860 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
21861 * grub-core/Makefile.core.def (minix2): New module.
21862 * grub-core/fs/minix.c: Use definitions instead of runtime version
21863 checking.
21864 * grub-core/fs/minix2.c: New file.
21865
c0e53ea5
YB
218662010-09-08 Yves Blusseau <blusseau@zetam.org>
21867
21868 Add new --boot-directory option to replace --root-directory
21869
21870 * util/grub-install.in: Add new --boot-directory option
21871 * util/grub-reboot.in: Likewise.
21872 * util/grub-set-default.in: Likewise.
21873
b9fe6ea2
YB
218742010-09-08 Yves Blusseau <blusseau@zetam.org>
21875
21876 * util/grub-mkconfig.in: Use new variable.
21877
d87aedff
YB
218782010-09-08 Yves Blusseau <blusseau@zetam.org>
21879
21880 * configure.ac: Define some useful variables.
21881
e55e8495
VS
218822010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
21883
21884 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
21885 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
21886 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
21887 Use terminfo and don't use cursor-on/cursor-off unless it's known
21888 to work.
21889 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
21890 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
21891
6fa6d675
CW
218922010-09-08 Colin Watson <cjwatson@ubuntu.com>
21893
21894 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
21895 starts with "(,", fill the drive containing the loaded image in
21896 between those two characters, but expect that a full partition
21897 specification including partition map names will follow.
21898
92f2aef0
RM
218992010-09-08 Robert Millan <rmh@gnu.org>
21900
21901 * configure.ac: Remove `--enable-grub-fstest' option.
21902 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
21903
21904 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
21905 `grub-fstest' instead of `grub-probe' for readability verification.
21906 * util/grub-probe.c (probe): Remove readability verification kludge.
21907
99fd620d
RM
219082010-09-08 Robert Millan <rmh@gnu.org>
21909
21910 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
21911 initializing `GRUB_FS'.
21912
058e30ac 219132010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
21914
21915 Not command (!) support to GRUB script.
21916
21917 * tests/grub_script_not.in: New test.
21918 * Makefile.util.def: Rules for new test.
21919
21920 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
21921 ! command as a special case.
21922 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
21923
b61d05ed 219242010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
21925
058e30ac 21926 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
21927 grub_free.
b61d05ed 21928
4d69c786 219292010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
21930
21931 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
21932
aa3119c4 219332010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
21934
21935 * docs/grub.texi (Shell-like scripting): Documentation for break,
21936 continue, shift and return commands.
21937
db0f7e3d
VS
219382010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
21939
21940 Rename CD-ROM to cd on BIOS.
21941
21942 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
21943 "cd".
21944 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
21945
88b87c93
VS
219462010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
21947
21948 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
21949 * util/grub-probe.c (main): Likewise.
21950 * util/i386/pc/grub-setup.c (main): Likewise.
21951 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
21952 Reported and debugged by: alexxy
21953
294f324d
VS
219542010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
21955
21956 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
21957 diagnostic info.
21958
d7ee3441
JS
219592010-09-05 Jo Shields <directhex@apebox.org>
21960
21961 * util/grub.d/30_os-prober.in: Add missing classes.
21962
d7e06c1f
VS
219632010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
21964
21965 * docs/grub.texi (Theme file format): Document new position format.
21966
fc157e53
VS
219672010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
21968
21969 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
21970 a table. Use @code instead of @verbatim.
21971
506e9a1c
CB
219722010-09-05 Colin D Bennett <colin@gibibit.com>
21973
21974 Gfxmenu documentation.
21975
21976 * docs/grub.texi (Theme file format): New chapter.
21977
f0aff67c
SJ
219782010-09-05 Szymon Janc <szymon@janc.net.pl>
21979
21980 * grub-core/Makefile.core.def (xzio): New module.
21981 * grub-core/io/xzio.c: New file.
21982 * grub-core/lib/xzembed/xz.h: New file (from xembed).
21983 * grub-core/lib/xzembed/xz_config.h: Likewise.
21984 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
21985 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
21986 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
21987 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
21988 * grub-core/lib/xzembed/xz_private.h: Likewise.
21989 * grub-core/lib/xzembed/xz_stream.h: Likewise.
21990 * include/grub/file.h (grub_file_filter_id): New compression filter
21991 GRUB_FILE_FILTER_XZIO.
21992
82a85062
VS
219932010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
21994
21995 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
21996 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
21997 size.
21998
3579415d
VS
219992010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22000
22001 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
22002 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
22003
5124ae6d
VS
220042010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22005
22006 Uncompressed checksum support.
22007
22008 * grub-core/commands/hashsum.c (options): Add option --uncompress.
22009 (check_list): New parameter uncompress.
22010 (grub_cmd_hashsum): Handle --uncompress.
22011
9aadb3d1
VS
220122010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22013
22014 Reintroduce testload.
22015
22016 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
22017 from here ...
22018 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
22019 (GRUB_MOD_INIT): New function.
22020 (GRUB_MOD_FINI): Likewise.
22021 * grub-core/Makefile.core.def (testload): New module.
22022
a17792c3
SJ
220232010-09-05 Szymon Janc <szymon@janc.net.pl>
22024
22025 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
22026 (uint8_t): New type.
22027 (uint16_t): Likewise.
22028 (uint32_t): Likewise.
22029 (uint64_t): Likewise.
22030
b81e40a3
SJ
220312010-09-05 Szymon Janc <szymon@janc.net.pl>
22032
22033 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
22034
fc2ef117
VS
220352010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22036
22037 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
22038 Made static.
22039 (grub_gzfile_open): Removed. All users updated.
22040 (GRUB_MOD_INIT): New function.
22041 (GRUB_MOD_FINI): Likewise.
22042 * grub-core/kern/file.c (grub_file_filters_all): New variable.
22043 (grub_file_filters_enabled): Likewise.
22044 (grub_file_open): Handle filters.
22045 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
22046 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
22047 * include/grub/file.h (grub_file_filter_id_t): New type.
22048 (grub_file_filter_t): Likewise.
22049 (grub_file_filters_all): New extern variable.
22050 (grub_file_filters_enabled): Likewise.
22051 (grub_file_filter_register): New inline function.
22052 (grub_file_filter_unregister): Likewise.
22053 (grub_file_filter_disable): Likewise.
22054 (grub_file_filter_disable_compression): Likewise.
22055 * include/grub/gzio.h: Removed.
22056
35ee15e0
BC
220572010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22058
22059 Filename expansion support for wildcards in GRUB script.
22060
22061 * tests/grub_script_expansion.in: New test.
22062 * Makefile.util.def: Rule for new test.
22063
22064 * grub-core/commands/wildcard.c: New file, implements filename
22065 expansion support for GRUB script.
22066 * grub-core/Makefile.core.def: Rule update for regexp.mod.
22067 * grub-core/script/argv.c: Cosmetic changes.
22068 * grub-core/script/execute.c (grub_script_arglist_to_argv):
22069 Refactored to perform wildcard expansion on arguments.
22070 * include/grub/script_sh.h (grub_script_wildcard_translator): New
22071 struct.
22072
22073 * tests/util/grub-shell.in: Fix quoting for read input.
22074
5f0c4aca
BC
220752010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22076
22077 Support for updating environment variables with matched substrings
22078 of regexp.
22079
22080 * tests/grub_cmd_regexp.in: New test.
22081 * Makefile.util.def: Rule for new test.
22082
22083 * grub-core/commands/regexp.c: New option -s to update environment
22084 variables with regexp matches.
22085
3759a35f
SJ
220862010-09-04 Szymon Janc <szymon@janc.net.pl>
22087
22088 * include/grub/file.h (grub_file): New member not_easly_seekable.
22089 (grub_file_seekable): New inline function.
22090 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
22091 easily seekable.
22092 (grub_gzio_open): Set not_easly_seekable.
22093 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
22094 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
22095
ed8c6dec
BC
220962010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22097
22098 Support for options to appear multiple times on cmdline.
22099
22100 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
22101 * grub-core/commands/extcmd.c: Support for repeatable option.
22102 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
22103 repeatable option support.
22104
22105 Refactor menuentry into a regular command.
22106
22107 * grub-core/commands/menuentry.c: New file, menuentry command
22108 implementation.
22109 * grub-core/Makefile.core.def: Rule update for normal.mod.
22110 * grub-core/normal/main.c: Moved menuentry creation to
22111 grub-core/commands/menuentry.c.
22112 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
22113 (grub_menu_execute_entry_real): Removed.
22114 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
22115 function.
22116 (grub_script_execute_menuentry): Removed.
22117 * grub-core/script/parser.y (menuentry): Removed.
22118 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
22119 * grub-core/script/yylex.l (menuentry): Removed.
22120 * include/grub/menu.h (grub_menu_init): New prototype.
22121 (grub_menu_fini): New prototype.
22122 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
22123 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
22124 (grub_script_execute_sourcecode): New prototype.
22125
dacd0cf0
BC
221262010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22127
22128 "return" command for GRUB script functions.
22129
22130 * tests/grub_script_return.in: New test.
22131 * Makefile.util.def: Rules for new test.
22132
22133 * grub-core/script/execute.c (grub_script_return): New function.
22134 * grub-core/script/main.c: Register/unregister return commaond.
22135 * include/grub/script_sh.h (grub_script_return): New prototype.
22136
52e72f9d
BC
221372010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22138
22139 "setparams" command to update positional parameters.
22140
22141 * tests/grub_script_setparams.in: New test.
22142 * Makefile.util.def: Rules for new test.
22143
22144 * grub-core/script/argv.c (grub_script_argv_make): New function.
22145 * grub-core/script/execute.c (replace_scope): New function.
22146 (grub_script_setparams): New function.
22147 * grub-core/script/lexer.c: Remove unused variables.
22148 * grub-core/script/main.c: Register/unregister setparams command.
22149 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
22150 (grub_script_setparams): New prototype.
22151
25b60c91
BC
221522010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22153
22154 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
22155 grub_free order.
22156
37e7bf68
BC
221572010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22158
22159 Support for passing block of commands as an argument to extcmds.
22160
22161 * Makefile.util.def: Rules for new test.
22162 * tests/grub_script_blockarg.in: New test.
22163 * grub-core/tests/test_blockarg.c: New file, block argument
22164 command used in the test.
22165
22166 * include/grub/extcmd.h (grub_extcmd_context): New struct.
22167 (grub_register_extcmd_prio): New function prototype.
22168 (grub_extcmd_dispatcher): New function prototype.
22169 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
22170 type.
22171 * include/grub/script_sh.h (struct grub_script): New members
22172 `children', `next_siblings' and `refcnt' for block arguments and
22173 reference counting.
22174 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
22175 (grub_script_arg): New member `script' for block argument.
22176 (grub_script_argv): New member `script' for block argument.
22177 (grub_parser_param): New member `scripts' for block argument.
22178 (grub_script_mem_free): New extern function prototype.
22179 (grub_script_ref): New function prototype.
22180 (grub_script_unref): New function prototype.
22181
22182 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
22183 extcmd form to support block arguments.
22184 * grub-core/script/argv.c: Block arguments support.
22185 * grub-core/script/execute.c: Likewise.
22186 * grub-core/script/lexer.c: Likewise.
22187 * grub-core/script/main.c: Likewise.
22188 * grub-core/script/script.c: Likewise.
22189 * grub-core/script/parser.y: Likewise. New `block' and `block0'
22190 non-terminals.
22191
22192 * grub-core/commands/acpi.c: Update extcmd implementations with
22193 grub_extcmd_context_t.
22194 * grub-core/commands/cat.c: Likewise.
22195 * grub-core/commands/echo.c: Likewise.
22196 * grub-core/commands/extcmd.c: Likewise.
22197 * grub-core/commands/hashsum.c: Likewise.
22198 * grub-core/commands/hdparm.c: Likewise.
22199 * grub-core/commands/help.c: Likewise.
22200 * grub-core/commands/hexdump.c: Likewise.
22201 * grub-core/commands/i386/cpuid.c: Likewise.
22202 * grub-core/commands/i386/pc/drivemap.c: Likewise.
22203 * grub-core/commands/i386/pc/halt.c: Likewise.
22204 * grub-core/commands/i386/pc/sendkey.c: Likewise.
22205 * grub-core/commands/iorw.c: Likewise.
22206 * grub-core/commands/keystatus.c: Likewise.
22207 * grub-core/commands/loadenv.c: Likewise.
22208 * grub-core/commands/ls.c: Likewise.
22209 * grub-core/commands/lspci.c: Likewise.
22210 * grub-core/commands/memrw.c: Likewise.
22211 * grub-core/commands/probe.c: Likewise.
22212 * grub-core/commands/search_wrap.c: Likewise.
22213 * grub-core/commands/setpci.c: Likewise.
22214 * grub-core/commands/sleep.c: Likewise.
22215 * grub-core/disk/loopback.c: Likewise.
22216 * grub-core/hello/hello.c: Likewise.
22217 * grub-core/loader/i386/bsd.c: Likewise.
22218 * grub-core/loader/xnu.c: Likewise.
22219 * grub-core/term/gfxterm.c: Likewise.
22220 * grub-core/term/serial.c: Likewise.
22221 * grub-core/tests/lib/functional_test.c: Likewise.
22222
888d1500
BC
222232010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22224
22225 Multi-line quoted strings support.
22226
22227 * grub-core/script/lexer.c (append_newline): Removed.
22228 (grub_script_lexer_yywrap): Refactored.
22229 (grub_script_lexer_init): Refactored.
22230 * grub-core/script/yylex.l (yywrap): New function.
22231 (grub_lexer_resplit): New function.
22232 (grub_lexer_unput): New function.
22233 * include/grub/script_sh.h (grub_lexer_param): New members, unput
22234 and resplit.
22235 * tests/grub_script_echo1.in: Added few more testcases.
22236
dda060dd
VS
222372010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
22238
22239 * grub-core/kern/misc.c: Don't add abort alias in utils.
22240 Reported by: echoline.
22241
6556eba9
BC
222422010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
22243
22244 Add missing files into "make dist" tarball for other platforms.
22245
22246 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
22247 * conf/Makefile.common (dist_noinst_DATA): New variable.
22248 * conf/Makefile.extra-dist: Added missing make dist files.
22249 * grub-core/Makefile.core.def: Likewise.
22250
c8e7bf5f
VS
222512010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
22252
22253 Compress grub_prefix.
22254
22255 * grub-core/boot/i386/pc/lnxboot.S: Use
22256 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
22257 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
22258 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
22259 GRUB_MACHINE_PREFIX_END. All users updated.
22260 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
22261 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
22262 + 0x40.
22263 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
22264 * util/grub-mkimage.c (image_target_desc): Change data_end to
22265 prefix_end. All users updated.
22266
a7c00cdb
VS
222672010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
22268
22269 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
22270 value.
22271 (grub_openbsd_boot): Likewise.
22272 (grub_netbsd_boot): Likewise.
22273 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
22274 (grub_xnu_boot): Likewise.
22275
9f915872
VS
222762010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22277
22278 * configure.ac: Clean LIBS variable after tests.
22279
efa1bee7
CW
222802010-09-02 Colin Watson <cjwatson@ubuntu.com>
22281
22282 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
22283
61d720e5
VS
222842010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22285
22286 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
22287 echo if libdevmapper will be used.
22288
ef8e0ec8
IT
222892010-09-02 Ian Turner <Ian.Turner@deshaw.com>
22290
22291 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
22292 constant for the same file.
22293
03e261d8
VS
222942010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22295
22296 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
22297
c2a4eba6
CW
222982010-09-02 Colin Watson <cjwatson@ubuntu.com>
22299
22300 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
22301 grub-core/*.pp.
22302
9056cbf3
CW
223032010-09-02 Colin Watson <cjwatson@ubuntu.com>
22304
22305 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
22306 required by the boot protocol.
22307
22308 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
22309 ebp and edi members.
22310 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
22311 state.ebp and state.edi.
22312 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
22313 %ebp and %edi according to grub_relocator32_ebp and
22314 grub_relocator32_edi respectively.
22315 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
22316 and state.edi.
22317
529cc99a
VS
223182010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22319
22320 Add i386-pc-pxe image target.
22321
22322 * util/grub-mkimage.c (image_target_desc): New enum value
22323 IMAGE_I386_PC_PXE.
22324 (image_targets): New target i386-pc-pxe.
22325 (generate_image): Handle i386-pc-pxe image.
22326
9a093920
VS
223272010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22328
22329 Fix grub_pxe_scan.
22330
22331 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
22332 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
22333 All users updated.
22334 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
22335 (grub_pxe_pxenv): Correct type.
22336
f9cefc4e
CW
223372010-09-01 Colin Watson <cjwatson@ubuntu.com>
22338
22339 * NEWS: Document most of the important changes since 1.98.
22340
4066f57f
CW
223412010-09-01 Colin Watson <cjwatson@ubuntu.com>
22342
22343 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
22344 generated manual page) a little.
22345
da2891f9
CW
223462010-09-01 Colin Watson <cjwatson@ubuntu.com>
22347
22348 * docs/grub.texi: Add myself as an author.
22349
ad717fae
VS
223502010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
22351
22352 * Makefile.util.def (libgrub.a): Add missing sunpc.
22353 Reported by: Seth Goldberg.
22354
eefe8abd
VS
223552010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22356
22357 Interrupt wrapping and code simplifications.
22358
9494ef9a
VS
22359 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
22360 x86_noieee1275 which are functionaly equivalent in this case.
22361 (grub-install): Make source on each platform explicit. Enable on
22362 all noemu.
22363 * gentpl.py (x86_efi_pc): Removed group.
22364 (x86_noefi): Likewise.
22365 (i386_noefi): Likewise.
22366 (x86_noieee1275): Likewise.
22367 (i386_noieee1275): Likewise.
22368 (i386_noefi_noieee1275): Likewise.
22369 (i386_pc_qemu_coreboot): Likewise.
22370 (i386_coreboot_multiboot): Likewise.
22371 (i386_pc_coreboot_multiboot_qemu): Likewise.
22372 (x86_noefi_mips): Likewise.
22373 (noieee1275): Likewise.
22374 (ieee1275_mips): Likewise.
22375 (noemu_noieee1275): Likewise.
22376 (cmos): New group.
22377 (usb): Likewise.
22378 (videoinkernel): Likewise.
22379 (videomodules): Likewise.
eefe8abd 22380 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
22381 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
22382 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
22383 include/grub/loader.h, include/grub/msdos_partition.h,
22384 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
22385 include/grub/machine/console.h, include/grub/machine/vga.h,
22386 include/grub/machine/vbe.h, include/grub/machine/init.h,
22387 include/grub/machine/kernel.h, include/grub/cpu/time.h,
22388 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 22389 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
22390 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
22391 * grub-core/Makefile.core.def (kernel): Explicit the source for
22392 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
22393 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
22394 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
22395 Use videoinkernel tag.
22396 (usb): Enable on all usb.
22397 (usbserial_common): Likewise.
22398 (usbserial_pl2303): Likewise.
22399 (usbserial_ftdi): Likewise.
22400 (uhci): Enable on all x86.
22401 (ohci): Enable on all pci.
22402 (cmostest): Enable on all CMOS.
22403 (acpi): Include commands/acpi.c on all platforms.
22404 (halt): Add relevant lib/*/halt.c.
22405 (hdparm): Enable on all pci.
22406 (lspci): Likewise.
22407 (usbtest): Enable on all usb.
22408 (ata): Enable on all pci.
22409 (ata_pthru): Likewise.
22410 (usbms): Enable on all usb.
22411 (usb_keyboard): Likewise.
22412 (font): Use tag videomodules.
22413 (bufio): Likewise.
22414 (datetime): Use tag cmos. Enable on all noemu.
22415 (mmap): Use tags common and x86.
22416 (gfxterm): Use tag videomodules.
22417 (bitmap): Likewise.
22418 (bitmap_scale): Likewise.
22419 (video_fb): Likewise.
22420 (video): Likewise.
22421 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
22422 adjust padding accordingly. All users updated.
22423 (grub_ohci_transaction): Fix bad format specification.
22424 (GRUB_MOD_INIT): Add asserts for struct size.
22425 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
22426 (grub_alloc_td): Likewise.
22427 (grub_free_queue): Likewise.
22428 (grub_uhci_transfer): Likewise.
22429 (grub_uhci_transaction): Fix bad format specification.
22430 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
22431 (grub_usb_bulk_readwrite): Likewise.
22432 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
22433 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
22434 Made static.
22435 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
22436 Made static.
22437 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
22438 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
22439 Transformed into C.
22440 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
22441 Moved from here ...
22442 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
22443 ... here. Transformed into C. Made static.
22444 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
22445 Moved from here ...
22446 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
22447 ... here. Transformed into C. Made static.
22448 * grub-core/kern/i386/pc/startup.S
22449 (grub_biosdisk_check_int13_extensions): Moved from here ...
22450 * grub-core/disk/i386/pc/biosdisk.c
22451 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
22452 Made static.
22453 * grub-core/kern/i386/pc/startup.S
22454 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
22455 * grub-core/disk/i386/pc/biosdisk.c
22456 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
22457 Transformed into C. Made static.
22458 * grub-core/kern/i386/pc/startup.S
22459 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
22460 * grub-core/disk/i386/pc/biosdisk.c
22461 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
22462 Transformed into C. Made static.
22463 * grub-core/kern/i386/pc/startup.S
22464 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
22465 * grub-core/disk/i386/pc/biosdisk.c
22466 (grub_biosdisk_get_diskinfo_standard): ... here.
22467 Transformed into C. Made static.
22468 * grub-core/kern/i386/pc/startup.S
22469 (grub_biosdisk_get_num_floppies): Moved from here ...
22470 * grub-core/disk/i386/pc/biosdisk.c
22471 (grub_biosdisk_get_num_floppies): ... here.
22472 Transformed into C. Made static.
22473 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
22474 New function.
22475 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
22476 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
22477 Transformed into C. Made static.
22478 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
22479 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
22480 Transformed into C. Made static.
22481 * grub-core/kern/i386/ieee1275/init.c: Removed.
22482 * grub-core/kern/i386/misc.S: Likewise.
22483 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
22484 Splitted from here ...
22485 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
22486 Transformed into C. Made static. All users updated.
22487 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
22488 Transformed into C. Made static. All users updated.
22489 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
22490 Moved from here...
22491 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
22492 Transformed into C. Made static. All users updated.
22493 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
22494 Moved from here...
22495 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
22496 Transformed into C. Made static. All users updated.
22497 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
22498 Removed (replaced by C version).
22499 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
22500 Moved from here...
22501 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
22502 Transformed into C. Made static.
22503 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
22504 Moved from here...
22505 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
22506 ... here. Transformed into C.
22507 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
22508 Moved from here...
22509 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
22510 ... here. Transformed into C.
22511 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
22512 Moved from here...
22513 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
22514 ... here. Transformed into C. Made static.
22515 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
22516 Moved from here...
22517 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
22518 ... here. Transformed into C.
21ed554b
VS
22519 * grub-core/kern/i386/pc/startup.S
22520 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
22521 * grub-core/video/i386/pc/vbe.c
22522 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
22523 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
22524 Moved from here...
22525 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
22526 ... here. Transformed into C.
22527 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
22528 Moved from here...
22529 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
22530 ... here. Transformed into C.
22531 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
22532 Moved from here...
22533 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
22534 ... here. Transformed into C.
22535 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
22536 Moved from here...
22537 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
22538 ... here. Transformed into C.
22539 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
22540 Moved from here...
22541 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
22542 ... here. Transformed into C. Made static.
22543 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
22544 Moved from here...
22545 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
22546 ... here. Transformed into C. Made static.
22547 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
22548 Moved from here...
22549 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
22550 ... here. Transformed into C. Made static.
22551 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
22552 pxe_rm_entry as third argument.
22553 (grub_bios_interrupt): New function.
22554 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
22555 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
22556 of calling grub_stop.
22557 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
22558 * grub-core/lib/efi/halt.c (grub_halt): ...here.
22559 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
22560 * grub-core/lib/emu/halt.c (grub_halt): ... here.
22561 * grub-core/lib/i386/halt.c: Moved from here ...
22562 * grub-core/lib/i386/halt.c: ... here.
22563 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
22564 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
22565 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
22566 grub_stop_floppy.
22567 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
22568 * include/grub/i386/coreboot/init.h: Removed.
22569 * include/grub/i386/multiboot/init.h: Likewise.
22570 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
22571 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
22572 * include/grub/i386/pc/int.h: New file.
22573 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
22574 (grub_pxe_scan): Removed.
22575 (grub_pxe_call): Update prototype.
22576 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
22577 prototypes.
22578 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
22579 * include/grub/i386/qemu/init.h: Removed.
22580 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
22581 noreturn.
22582 (grub_halt): Likewise.
22583 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
22584 (grub_reboot): Likewise.
22585 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
22586 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
22587 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
22588
215dd471
RM
225892010-08-30 Robert Millan <rmh@gnu.org>
22590
22591 * NEWS: Document addition of ZFS support in `grub-install' and
22592 `grub-mkconfig'.
22593
ebd65b82
BC
225942010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
22595
22596 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
22597 dprintf output.
22598
11721d19
VS
225992010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22600
22601 Remove leftover embedding of font objects.
22602
22603 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
22604 * util/grub-install.in (font): Removed.
22605 * util/grub-mkimage.c (generate_image): Remove font support. All users
22606 updated.
22607
37837d4e
VS
226082010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22609
22610 Remove leftover embedding of font objects.
22611
22612 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
22613 * util/grub-install.in (font): Removed.
22614 * util/grub-mkimage.c (generate_image): Remove font support. All users
22615 updated.
22616
b4c1aae0
VS
226172010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22618
22619 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 22620 Reported by: Ian Turner
b4c1aae0 22621
8920a08d
VS
226222010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22623
22624 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
22625 timeout to avoid indefinite boot stalling.
22626
f21db033
VS
226272010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22628
22629 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
22630 (grub_env_write_color_highlight): Likewise.
22631
9a9de209
VS
226322010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22633
22634 * grub-core/normal/term.c (print_more): Return to normal and not
22635 to standard state after printing "---MORE---".
22636
3dca01d7
VS
226372010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22638
22639 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
22640 Mask out the bit 0x80 since it has other meaning that specifiing color.
22641
0b986c40
VS
226422010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
22643
22644 New relocator. Allows for more kernel support and more straightforward
22645 loader writing.
22646
22647 * Makefile.am (BOOTTARGET): New variable.
22648 (QEMU32): Likewise.
22649 (linux.init.x86_64): New target.
22650 (linux.init.i386): Likewise.
22651 (multiboot.elf): Likewise.
22652 (kfreebsd.elf): Likewise.
22653 (kfreebsd.aout): Likewise.
22654 (pc-chainloader.elf): Likewise.
22655 (pc-chainloader.bin): Likewise.
22656 (ntldr.elf): Likewise.
22657 (ntldr.bin): Likewise.
22658 (multiboot2.elf): Likewise.
22659 (kfreebsd.init.x86_64): Likewise.
22660 (kfreebsd.init.i386): Likewise.
22661 (knetbsd.init.i386): Likewise.
22662 (kopenbsd.init.i386): Likewise.
22663 (knetbsd.init.x86_64): Likewise.
22664 (kopenbsd.init.x86_64): Likewise.
22665 (linux-initramfs.i386): Likewise.
22666 (linux-initramfs.x86_64): Likewise.
22667 (kfreebsd-mfsroot.i386.img): Likewise.
22668 (knetbsd.image.i386): Likewise.
22669 (kopenbsd.image.i386): Likewise.
22670 (kopenbsd.image.x86_64): Likewise.
22671 (knetbsd.miniroot-image.i386.img): Likewise.
22672 (kfreebsd-mfsroot.x86_64.img): Likewise.
22673 (knetbsd.image.x86_64): Likewise.
22674 (knetbsd.miniroot-image.x86_64.img): Likewise.
22675 (kfreebsd-mfsroot.i386.gz): Likewise.
22676 (bootcheck-kfreebsd-i386): Likewise.
22677 (kfreebsd-mfsroot.x86_64.gz): Likewise.
22678 (bootcheck-kfreebsd-x86_64): Likewise.
22679 (knetbsd.miniroot-image.i386.gz): Likewise.
22680 (bootcheck-knetbsd-i386): Likewise.
22681 (bootcheck-kopenbsd-i386): Likewise.
22682 (bootcheck-kopenbsd-x86_64): Likewise.
22683 (knetbsd.miniroot-image.x86_64.gz): Likewise.
22684 (bootcheck-knetbsd-x86_64): Likewise.
22685 (bootcheck-linux-i386): Likewise.
22686 (bootcheck-linux-x86_64): Likewise.
22687 (bootcheck-linux16-i386): Likewise.
22688 (bootcheck-linux16-x86_64): Likewise.
22689 (bootcheck-multiboot): Likewise.
22690 (bootcheck-multiboot2): Likewise.
22691 (bootcheck-kfreebsd-aout): Likewise.
22692 (bootcheck-pc-chainloader): Likewise.
22693 (bootcheck-ntldr): Likewise.
22694 (CLEANFILES): Add new targets.
22695 (BOOTCHECKS): New variable.
22696 (.PHONY): Add bootchecks.
22697 (SUCCESSFUL_BOOT_STRING): New variable.
22698 (BOOTCHECK_TIMEOUT): Likewise.
22699 (bootcheck): New target
22700 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
22701 * configure.ac: Correct efiemu excuse.
22702 * docs/grub.texi (Supported kernels): New chapter.
22703 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
22704 include/grub/mm_private.h. Simplify inclusion of
22705 include/grub/boot.h, include/grub/loader.h
22706 and include/grub/msdos_partition.h
22707 (KERNEL_HEADER_FILES) [i386_coreboot]:
22708 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
22709 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
22710 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
22711 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
22712 include/grub/machine/loader.h.
22713 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
22714 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
22715 extra_dist.
22716 (pci.mod): Enable on i386-multiboot.
22717 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
22718 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
22719 i386-qemu.
22720 (relocator.mod): Rewritten.
22721 (aout.mod): Enable on all x86.
22722 (bsd.mod): Likewise.
22723 (ntldr.mod): New module.
22724 (linux.mod): Use loader/i386/linux.c on all x86.
22725 (xnu.mod): Enable on all x86.
22726 (vga_text.mod): disable on EFI and QEMU.
22727 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
22728 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
22729 * grub-core/efiemu/loadcore.c: Likewise.
22730 * grub-core/efiemu/main.c: Likewise.
22731 (grub_efiemu_exit_boot_services): Removed.
22732 (grub_efiemu_finish_boot_services): Likewise.
22733 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
22734 function.
22735 * grub-core/efiemu/i386/nocfgtables.c: New file.
22736 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
22737 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
22738 (grub_efi_finish_boot_services): Moved from here ...
22739 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
22740 Fille finish memory map and related data.
22741 (finish_mmap_buf): New variable.
22742 (grub_efi_uintn_t finish_mmap_size): Likewise.
22743 (grub_efi_uintn_t finish_key): Likewise.
22744 (grub_efi_uintn_t finish_desc_size): Likewise.
22745 (grub_efi_uint32_t finish_desc_version): Likewise.
22746 (grub_efi_is_finished): Likewise.
22747 (grub_efi_get_memory_map): Use saved memory map if EFI is already
22748 finished.
22749 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
22750 (grub_elf64_phdr_iterate): Likewise.
22751 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
22752 (grub_os_area_size): Likewise.
22753 (grub_machine_init): Don't reserve os area.
22754 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
22755 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
22756 * grub-core/kern/i386/loader.S: Removed.
22757 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
22758 (grub_os_area_size): Likewise.
22759 (grub_machine_init): Don't reserve os area.
22760 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
22761 Don't call grub_dl_unload_all.
22762 Don't include loader.S.
22763 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
22764 Declare the memory after _end as available.
22765 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 22766 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 22767 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
22768 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
22769 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
22770 * include/grub/mm_private.h (grub_mm_header): ... here.
22771 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
22772 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
22773 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
22774 (grub_mm_region): ..here. Removed addr. Added pre_size.
22775 All users updated.
22776 * grub-core/kern/mm.c (base): Renamed to ...
22777 (grub_mm_base): ... this. Made global.
22778 (grub_real_malloc): Alloc from end of region.
22779 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
22780 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
22781 * grub-core/kern/powerpc/cache_flush.S: ... here.
22782 * grub-core/lib/efi/relocator.c: New file.
22783 * grub-core/lib/i386/relocator.c: Rewritten.
22784 * grub-core/lib/i386/relocator16.S: New file.
22785 * grub-core/lib/i386/relocator32.S: Likewise.
22786 * grub-core/lib/i386/relocator64.S: Likewise.
22787 * grub-core/lib/i386/relocator_asm.S: Rewritten.
22788 * grub-core/lib/i386/relocator_common.S: New file.
22789 * grub-core/lib/ieee1275/relocator.c: Likewise.
22790 * grub-core/lib/mips/relocator.c: Rewritten.
22791 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
22792 stylistic adjustments.
22793 * grub-core/lib/powerpc/relocator.c: New file.
22794 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
22795 * grub-core/lib/relocator.c: Rewritten.
22796 * grub-core/lib/x86_64/relocator_asm.S: New file.
22797 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
22798 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
22799 (bsd_tag): New struct.
22800 (tags): New variable.
22801 (tags_last): Likewise.
22802 (netbsd_module): New struct.
22803 (netbsd_mods): New variable.
22804 (netbsd_mods_last): Likewise.
22805 (openbsd_opts): New parameter "serial".
22806 (OPENBSD_SERIAL_ARG): New definition.
22807 (netbsd_opts): New parameter "serial".
22808 (NETBSD_SERIAL_ARG): New definition.
22809 (grub_freebsd_add_meta): Reorganised into ...
22810 (grub_bsd_add_meta): ...this. All users updated.
22811 (grub_freebsd_add_mmap): Reorganised into ...
22812 (generate_e820_mmap): ...this...
22813 (grub_bsd_add_mmap): ...and this. All users updated.
22814 (grub_freebsd_list_modules): Use tags.
22815 (grub_netbsd_add_meta_module): New function.
22816 (grub_netbsd_list_modules): Likewise.
22817 (grub_freebsd_boot): Use relocator and finish EFI.
22818 (grub_openbsd_boot): Likewise.
22819 (grub_netbsd_setup_video): New function.
22820 (grub_netbsd_add_modules): Likewise.
22821 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
22822 and finish EFI.
22823 (grub_bsd_unload): Unload tags.
22824 (grub_bsd_load_aout): Use relocator.
22825 (grub_bsd_elf32_size_hook): New function.
22826 (grub_bsd_elf32_hook): Use relocator.
22827 (grub_bsd_elf64_size_hook): New function.
22828 (grub_bsd_elf64_hook): Use relocator.
22829 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
22830 (grub_bsd_load): Zero-out openbsd_ramdisk.
22831 (grub_bsd_load): Use relocator.
22832 (grub_cmd_openbsd): Support serial.
22833 (grub_cmd_netbsd): Support modules.
22834 (grub_cmd_freebsd_module): Use relocator.
22835 (grub_netbsd_module_load): New function.
22836 (grub_cmd_netbsd_module): Likewise.
22837 (grub_cmd_openbsd_ramdisk): Likewise.
22838 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
22839 kopenbsd_ramdisk.
22840 (GRUB_MOD_FINI): Unregister new commands.
22841 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
22842 (grub_freebsd_load_elfmodule_obj): Use relocator.
22843 (grub_freebsd_load_elfmodule): Likewise.
22844 (grub_freebsd_load_elf_meta): Likewise.
22845 (grub_netbsd_load_elf_meta): New function.
22846 (grub_openbsd_find_ramdisk): Likewise.
22847 * grub-core/loader/i386/bsd_helper.S: Removed.
22848 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
22849 * grub-core/loader/i386/bsd_trampoline.S: Removed.
22850 * grub-core/loader/i386/efi/linux.c: Likewise.
22851 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
22852 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
22853 (DEFAULT_VIDEO_MODE): Likewise.
22854 (real_mode_target): New variable.
22855 (prot_mode_target): Likewise.
22856 (initrd_mem_target): Likewise.
22857 (relocator): Likewise.
22858 (efi_mmap_buf): Likewise.
22859 (efi_mmap_size): Likewise.
22860 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
22861 (free_pages): Use relocator.
22862 (allocate_pages): Account for efi_mmap and use relocator. Return error.
22863 (grub_linux_setup_video): Return error.
22864 (grub_linux_trampoline_start): Removed.
22865 (grub_linux_trampoline_end): Likewise.
22866 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
22867 andd video parameters depending on firmware.
22868 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
22869 [GRUB_MACHINE_EFI]: Pass EFI parameters.
22870 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
22871 (grub_cmd_initrd): Use relocator.
22872 * grub-core/loader/i386/linux_trampoline.S: Removed.
22873 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
22874 (elf_sec_entsize): Likewise.
22875 (elf_sec_shstrndx): Likewise.
22876 (elf_sections): Likewise.
22877 (grub_multiboot_load): Use relocator.
22878 (grub_multiboot_get_mbi_size): Account for sections.
22879 (grub_multiboot_make_mbi): Use relocator and support sections.
22880 (grub_multiboot_add_elfsyms): New function.
22881 (grub_multiboot_free_mbi): Free sections.
22882 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
22883 (grub_linux_real_target): Likewise.
22884 (grub_linux_real_chunk): Likewise.
22885 (grub_linux16_prot_size): Likewise.
22886 (grub_linux16_boot): Use relocator.
22887 (grub_linux_unload): Unload relocator.
22888 (grub_cmd_linux): Use relocator.
22889 (grub_cmd_initrd): Likewise.
22890 * grub-core/loader/i386/pc/ntldr.c: New file.
22891 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
22892 Don't try to guess CPU frequency.
22893 (grub_xnu_set_video): Stretch bitmap.
22894 (grub_xnu_boot): Use relocator.
22895 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
22896 (grub_linux_unload): Free relocator.
22897 (grub_linux_load32): Use relocator.
22898 (grub_linux_load64): Likewise.
22899 (grub_cmd_initrd): Likewise.
22900 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
22901 (grub_multiboot_unload): Unload relocator.
22902 (grub_cmd_multiboot): Use relocator.
22903 (grub_cmd_module): Likewise.
22904 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
22905 Use relocator and support sections.
22906 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
22907 (elf_sec_entsize): Likewise.
22908 (elf_sec_shstrndx): Likewise.
22909 (elf_sections): Likewise.
22910 (grub_multiboot_load): Use relocator.
22911 (grub_multiboot_get_mbi_size): Account for sections.
22912 (grub_multiboot_make_mbi): Use relocator and support sections.
22913 (grub_multiboot_add_elfsyms): New function.
22914 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
22915 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
22916 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
22917 Prototype changed. All users updated.
22918 (grub_xnu_align_heap): Simplified.
22919 (grub_xnu_writetree_toheap): Likewise.
22920 (grub_xnu_unload): Unload relocator.
22921 (grub_cmd_xnu_kernel): Use relocator.
22922 (grub_cmd_xnu_kernel64): Likewise.
22923 (grub_xnu_register_memory): Simplified.
22924 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
22925 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
22926 EFI is finished.
22927 (grub_console_checkkey): Likewise.
22928 (grub_console_getkey): Likewise.
22929 (grub_console_getwh): Likewise.
22930 (grub_console_getxy): Likewise.
22931 (grub_console_gotoxy): Likewise.
22932 (grub_console_cls): Likewise.
22933 (grub_console_setcolorstate): Likewise.
22934 (grub_console_setcursor): Likewise.
22935 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
22936 * grub-core/tests/boot/kbsd.init-i386.S: New file.
22937 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
22938 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
22939 * grub-core/tests/boot/kernel-8086.S: Likewise.
22940 * grub-core/tests/boot/kernel-i386.S: Likewise.
22941 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
22942 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
22943 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
22944 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
22945 * grub-core/tests/boot/knetbsd.cfg: Likewise.
22946 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
22947 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
22948 * grub-core/tests/boot/linux.cfg: Likewise.
22949 * grub-core/tests/boot/linux.init-i386.S: Likewise.
22950 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
22951 * grub-core/tests/boot/linux16.cfg: Likewise.
22952 * grub-core/tests/boot/multiboot.cfg: Likewise.
22953 * grub-core/tests/boot/multiboot2.cfg: Likewise.
22954 * grub-core/tests/boot/ntldr.cfg: Likewise.
22955 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
22956 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
22957 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
22958 New definition.
22959 * include/grub/dl.h (grub_dl_unload_all): Removed.
22960 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
22961 (grub_efi_finish_boot_services): Change prototype.
22962 (grub_efi_is_finished): New variable.
22963 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
22964 Changed prototype.
22965 (grub_efiemu_finish_boot_services): Removed.
22966 (grub_machine_efiemu_init_tables): New prototype.
22967 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
22968 (grub_elf64_phdr_iterate): Likewise.
22969 * include/grub/i386/bsd.h: Include relocator.h.
22970 (freebsd_tag_header): New struct.
22971 (grub_openbsd_bios_mmap): Removed.
22972 (grub_unix_real_boot): Removed.
22973 (grub_freebsd_load_elfmodule32): Changed prototype.
22974 (grub_freebsd_load_elfmodule_obj64): Likewise.
22975 (grub_freebsd_load_elf_meta32): Likewise.
22976 (grub_freebsd_load_elf_meta64): Likewise.
22977 (grub_freebsd_add_meta): Removed.
22978 (grub_netbsd_load_elf_meta32): New prototype.
22979 (grub_netbsd_load_elf_meta64): Likewise.
22980 (grub_bsd_add_meta): Likewise.
22981 (grub_openbsd_ramdisk_descriptor): New struct.
22982 (grub_openbsd_find_ramdisk32): New prototype.
22983 (grub_openbsd_find_ramdisk64): Likewise.
22984 * include/grub/i386/coreboot/loader.h: Removed.
22985 * include/grub/i386/efi/loader.h: Likewise.
22986 * include/grub/i386/ieee1275/loader.h: Likewise.
22987 * include/grub/i386/linux.h (linux_kernel_header): Change void *
22988 to grub_uint32_t.
22989 * include/grub/i386/loader.h: Removed.
22990 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
22991 value.
22992 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
22993 (grub_phys_addr_t): New type.
22994 (grub_vtop): New inline function.
22995 (grub_map_memory): Likewise.
22996 (grub_unmap_memory): Likewise.
22997 * include/grub/i386/multiboot/loader.h: Removed.
22998 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
22999 (NETBSD_BTINFO_CONSOLE): New definition.
23000 (NETBSD_BTINFO_SYMTAB): Likewise.
23001 (NETBSD_BTINFO_MODULES): Likewise.
23002 (NETBSD_BTINFO_FRAMEBUF): Likewise.
23003 (grub_netbsd_bootinfo): New struct.
23004 (grub_netbsd_btinfo_common): Use explicit bitsize.
23005 (grub_netbsd_btinfo_mmap_entry): Removed.
23006 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
23007 (grub_netbsd_btinfo_bootdisk): New struct.
23008 (grub_netbsd_btinfo_symtab): Likewise.
23009 (grub_netbsd_btinfo_serial): Likewise.
23010 (grub_netbsd_btinfo_modules): Likewise.
23011 (grub_netbsd_btinfo_framebuf): Likewise.
23012 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
23013 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
23014 Likewise.
23015 (grub_openbsd_bootargs): Use explicit bitsize.
23016 (grub_openbsd_bootarg_console): New struct.
23017 (GRUB_OPENBSD_COM_MAJOR): New definition.
23018 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
23019 * include/grub/i386/pc/efiemu.h: Removed.
23020 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
23021 * include/grub/i386/qemu/loader.h: Removed.
23022 * include/grub/i386/relocator.h: Rewritten.
23023 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
23024 * include/grub/mips/memory.h: New file.
23025 * include/grub/mips/multiboot.h: Rewritten.
23026 * include/grub/mips/relocator.h: Rewritten.
23027 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
23028 (grub_vtop): New function.
23029 (grub_map_memory): Likewise.
23030 (grub_unmap_memory): Likewise.
23031 * include/grub/misc.h (ALIGN_DOWN): New definition.
23032 * include/grub/mm.h (grub_mm_check_real): New proto.
23033 (GRUB_MM_CHECK): New definition.
23034 * include/grub/mm_private.h: New file.
23035 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
23036 (grub_multiboot_get_mbi_size): Removed.
23037 (grub_multiboot_make_mbi): Change prottype.
23038 (grub_multiboot_set_accepts_video): New proto.
23039 (grub_multiboot_add_elfsyms): Likewise.
23040 (grub_multiboot_payload_eip): New variable.
23041 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
23042 New prototype.
23043 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
23044 New definition.
23045 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
23046 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
23047 * include/grub/powerpc/ieee1275/loader.h: Removed.
23048 * include/grub/powerpc/memory.h: New file.
23049 * include/grub/powerpc/relocator.h: Likewise.
23050 * include/grub/relocator.h: Likewise.
23051 * include/grub/relocator_private.h: Likewise.
23052 * include/grub/sparc64/ieee1275/loader.h: Removed.
23053 * include/grub/x86_64/memory.h: New file.
23054 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
23055 (grub_xnu_heap_malloc): Likewise.
23056 (grub_xnu_heap_real_start): Removed.
23057 (grub_xnu_heap_start): Likewise.
23058 (grub_xnu_relocator): New variable.
23059 (grub_xnu_heap_target_start): Likewise.
23060 * tests/util/grub-shell.in: Support non-pc.
23061 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 23062
5303b85d
VS
230632010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23064
23065 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
23066 on malloc error.
23067 (grub_bidi_logical_to_visual): Check that malloc succeded.
23068 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
23069 puts.
23070 (grub_xputs_normal): Likewise.
23071
d768d159
VS
230722010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23073
23074 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
23075 extra_dist.
23076
230772010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23078
23079 * grub-core/efiemu/runtime/efiemu.sh: Removed.
23080
5bf84df4
VS
230812010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23082
23083 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
23084
3626810e
VS
230852010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23086
23087 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
23088 dprintf.
23089
a7363f53
BC
230902010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
23091
23092 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
23093
902f75f6
VS
230942010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23095
23096 * grub-core/normal/term.c (print_more): Fix a memory leak.
23097 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
23098 (grub_xputs_normal): Likewise.
23099
3c707967
VS
231002010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23101
23102 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
23103 the begining of the string
23104
2053cc07
VS
231052010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23106
23107 * grub-core/script/script.c (grub_script_parse): Free parsed on
23108 failure.
23109
46422ebf
VS
231102010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23111
23112 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
23113 on failure.
23114
9e0fa3f6
VS
231152010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23116
23117 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
23118 return.
23119
3393cf16
VS
231202010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23121
23122 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
23123 (scroll_up): Fix a memory leak.
23124
b17540cb
VS
231252010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23126
23127 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
23128 errors.
23129
67140446
VS
231302010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
23131
23132 Handle USB pendrives exposed as floppies.
23133
23134 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
23135 floppy.
23136 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
23137 Check for partitions on all devices.
23138
e35e46fc
VS
231392010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23140
23141 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
23142 (readkey): Likewise.
23143
d24c6190
BC
231442010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
23145
23146 Multiple variable names support to "export" command.
23147
23148 * normal/context.c (grub_cmd_export): "export" command supports
23149 multiple variable names.
23150
04ddcc6a
ST
231512010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
23152
23153 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
23154 --target=drive output to Mach device name.
23155
0c8b61d8
BC
231562010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
23157
23158 New Automake based build system for GRUB.
23159
23160 * ABOUT-NLS: New file.
23161 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
23162 in Makefile.util.def file.
23163 * Makefile.util.def: New file. Autogen build definitions file for
23164 GRUB host utils.
23165 * conf/Makefile.common: New file. Common variables for GRUB host
23166 utils and target modules.
23167 * conf/Makefile.extra-dist: New file. Extra files for make dist.
23168 * docs/Makefile.am: New file. Automake file for docs.
23169 * gentpl.py: New file. Python script to generate Autogen
23170 template.
23171 * grub-core/Makefile.am: New file. GRUB target modules' rules
23172 that doesn't fit in Makefile.core.def file.
23173 * grub-core/Makefile.core.def: New file. Autogen build
23174 definitions file for GRUB target modules.
23175 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
23176 specific setjmp.S file.
23177 * po/Makefile.am: New file.
23178
23179 * .bzrignore: New ignores.
23180 * INSTALL: New requirements, without Ruby.
23181 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
23182 * autogen.sh: Updated to invoke autogen as necessary.
23183 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
23184 and defines for Automake conditionals.
23185 * geninit.sh: Refactoring.
23186
23187 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
23188 necessary.
23189 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
23190 New prototype.
23191
23192 * include/grub/test.h: Fix functional test modules' naming.
23193 * grub-core/tests/example_functional_test.c: Fix test module name.
23194
23195 * util/misc.c: Hosted versions' of grub functions for libgrub.a
23196 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
23197 * util/grub-editenv.c: Likewise.
23198 * util/grub-fstest.c: Likewise.
23199 * util/grub-mkdevicemap.c: Likewise.
23200 * util/grub-mkfont.c: Likewise.
23201 * util/grub-mkimage.c: Likewise.
23202 * util/grub-mkpasswd-pbkdf2.c: Likewise.
23203 * util/grub-probe.c: Likewise.
23204 * util/grub-script-check.c: Likewise.
23205 * util/i386/pc/grub-setup.c: Likewise.
23206 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23207
23208 * tests/util/grub-shell.in: Fix override directory path.
23209 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
23210 * util/import_gcry.py: Create Makefile.gcry.def file instead.
23211
23212 * util/lvm.c: Update #includes.
23213 * util/raid.c: Likewise.
23214 * util/resolve.c: Likewise.
23215 * grub-core/bus/emu/pci.c: Likewise.
23216 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
23217 * grub-core/lib/posix_wrap/string.h: Likewise.
23218 * grub-core/kern/emu/main.c: Likewise.
23219
23220 * grub-core/gensymlist.sh: New file. Script for generating kernel
23221 symbols file.
23222 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
23223
23224 * grub-core/gentrigtables.c: Fix unused variable warnings.
23225
23226 * Makefile.in: Removed.
23227 * conf/any-emu.rmk: Removed.
23228 * conf/common.rmk: Removed.
23229 * conf/i386-coreboot.rmk: Removed.
23230 * conf/i386-efi.rmk: Removed.
23231 * conf/i386-ieee1275.rmk: Removed.
23232 * conf/i386-multiboot.rmk: Removed.
23233 * conf/i386-pc.rmk: Removed.
23234 * conf/i386-qemu.rmk: Removed.
23235 * conf/i386.rmk: Removed.
23236 * conf/mips-yeeloong.rmk: Removed.
23237 * conf/mips.rmk: Removed.
23238 * conf/powerpc-ieee1275.rmk: Removed.
23239 * conf/sparc64-ieee1275.rmk: Removed.
23240 * conf/tests.rmk: Removed.
23241 * conf/x86-efi.rmk: Removed.
23242 * conf/x86_64-efi.rmk: Removed.
23243 * gendistlist.sh: Removed.
23244 * geninitheader.sh: Removed.
23245 * genkernsyms.sh.in: Removed.
23246 * genmk.rb: Removed.
23247 * gensymlist.sh.in: Removed.
23248 * mkinstalldirs: Removed.
23249 * boot: Moved ...
23250 * grub-core/boot: ... to here.
23251 * bus: Moved ...
23252 * grub-core/bus: ... to here.
23253 * commands: Moved ...
23254 * grub-core/commands: ... to here.
23255 * disk: Moved ...
23256 * grub-core/disk: ... to here.
23257 * efiemu: Moved ...
23258 * grub-core/efiemu: ... to here.
23259 * font: Moved ...
23260 * grub-core/font: ... to here.
23261 * fs: Moved ...
23262 * grub-core/fs: ... to here.
23263 * gencmdlist.sh: Moved ...
23264 * grub-core/gencmdlist.sh: ... to here.
23265 * genemuinit.sh: Moved ...
23266 * grub-core/genemuinit.sh: ... to here.
23267 * genemuinitheader.sh: Moved ...
23268 * grub-core/genemuinitheader.sh: ... to here.
23269 * genfslist.sh: Moved ...
23270 * grub-core/genfslist.sh: ... to here.
23271 * genhandlerlist.sh: Moved ...
23272 * grub-core/genhandlerlist.sh: ... to here.
23273 * genmoddep.awk: Moved ...
23274 * grub-core/genmoddep.awk: ... to here.
23275 * genmodsrc.sh: Moved ...
23276 * grub-core/genmodsrc.sh: ... to here.
23277 * genpartmaplist.sh: Moved ...
23278 * grub-core/genpartmaplist.sh: ... to here.
23279 * genparttoollist.sh: Moved ...
23280 * grub-core/genparttoollist.sh: ... to here.
23281 * genterminallist.sh: Moved ...
23282 * grub-core/genterminallist.sh: ... to here.
23283 * gentrigtables.c: Moved ...
23284 * grub-core/gentrigtables.c: ... to here.
23285 * genvideolist.sh: Moved ...
23286 * grub-core/genvideolist.sh: ... to here.
23287 * gettext: Moved ...
23288 * grub-core/gettext: ... to here.
23289 * gfxmenu: Moved ...
23290 * grub-core/gfxmenu: ... to here.
23291 * gnulib: Moved ...
23292 * grub-core/gnulib: ... to here.
23293 * hello: Moved ...
23294 * grub-core/hello: ... to here.
23295 * hook: Moved ...
23296 * grub-core/hook: ... to here.
23297 * io: Moved ...
23298 * grub-core/io: ... to here.
23299 * kern: Moved ...
23300 * grub-core/kern: ... to here.
23301 * lib: Moved ...
23302 * grub-core/lib: ... to here.
23303 * loader: Moved ...
23304 * grub-core/loader: ... to here.
23305 * mmap: Moved ...
23306 * grub-core/mmap: ... to here.
23307 * normal: Moved ...
23308 * grub-core/normal: ... to here.
23309 * partmap: Moved ...
23310 * grub-core/partmap: ... to here.
23311 * parttool: Moved ...
23312 * grub-core/parttool: ... to here.
23313 * script: Moved ...
23314 * grub-core/script: ... to here.
23315 * term: Moved ...
23316 * grub-core/term: ... to here
23317 * tests/example_functional_test.c: Moved ...
23318 * grub-core/tests/example_functional_test.c: ... to here.
23319 * tests/lib/functional_test.c: Moved ...
23320 * grub-core/tests/lib/functional_test.c: ... to here.
23321 * tests/lib/test.c: Moved ...
23322 * grub-core/tests/lib/test.c: ... to here.
23323 * video: Moved ...
23324 * grub-core/video: ... to here.
23325
645586e6
BC
233262010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
23327
23328 Replace --enable-grub-emu-modules with grub-emu-lite.
23329
23330 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
23331 cache.S.
23332
23333 * include/grub/emu/misc.h (grub_emu_init): New prototype.
23334 * kern/emu/full.c: New file. For grub-emu specific initialization.
23335 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
23336 * kern/emu/main.c: Call initialization function grub_emu_init.
23337
23338 * Makefile.in: Include grub-emu-lite in install.
23339 * commands/parttool.c: Use grub_no_autoload to differentiate
23340 between grub-emu and grub-emu-lite.
23341 * include/grub/misc.h: New variable grub_no_autoload.
23342
23343 * conf/any-emu.rmk: New rules for grub-emu-lite.
23344 * configure.ac: Remove --enable-grub-emu-modules.
23345 * genmk.rb: Cleanup unnecessary rules.
23346 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
23347
23348 * normal/main.c: Don't load list files on grub-emu-lite.
23349 * util/misc.c (grub_arch_sync_caches): Removed.
23350
f86a4030
CW
233512010-08-23 Colin Watson <cjwatson@ubuntu.com>
23352
23353 * kern/mips/startup.S (grub_prefix): Update comment to refer to
23354 grub-mkimage rather than grub-mkelfimage.
23355 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
23356
06776944
VS
233572010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
23358
23359 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
23360 a key after CapsLock or NumLock. It's just a qemu bug.
23361
df262419
VS
233622010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
23363
23364 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
23365 needed by libusb wrapper.
23366
b40ea81b
ST
233672010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
23368
23369 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
23370
dee50575
VS
233712010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
23372
23373 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
23374 --nounzip is passed.
23375
fb1d7b79
VS
233762010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
23377
23378 USB hotunplugging and USB serial support.
23379
23380 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
23381 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
23382 (grub_uhci_transfer): Respect timeout and set *actual.
23383 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
23384 non-standard length.
23385 (grub_usb_device_attach): Autoload modules.
23386 (GRUB_MOD_INIT): Set grub_term_poll_usb.
23387 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
23388 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
23389 users updated.
23390 (grub_usb_add_hub): Fill nports and children.
23391 (attach_root_port): Receive hub instead of controller.
23392 All users updated. Fill hub->devices.
23393 (grub_usb_root_hub): Allocate hub->devices.
23394 (detach_device): New function.
23395 (poll_nonroot_hub): Fill children and detach devices.
23396 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
23397 actual arguments. All users updated.
23398 (grub_usb_bulk_read_extended): New function.
23399 * bus/usb/serial/common.c: New file.
23400 * bus/usb/serial/ftdi.c: Likewise.
23401 * bus/usb/serial/pl2303.c: Likewise.
23402 * commands/terminal.c (handle_command): Support wildcard.
23403 * commands/usbtest.c: Output "Unknown" instead of empty string.
23404 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
23405 (usbserial_common_mod_SOURCES): New variable.
23406 (usbserial_common_mod_CFLAGS): Likewise.
23407 (usbserial_common_mod_LDFLAGS): Likewise.
23408 (pkglib_MODULES): Add usbserial_pl2303.mod.
23409 (usbserial_pl2303_mod_SOURCES): New variable.
23410 (usbserial_pl2303_mod_CFLAGS): Likewise.
23411 (usbserial_pl2303_mod_LDFLAGS): Likewise.
23412 (pkglib_MODULES): Add usbserial_ftdi.mod.
23413 (usbserial_ftdi_mod_SOURCES): New variable.
23414 (usbserial_ftdi_mod_CFLAGS): Likewise.
23415 (usbserial_ftdi_mod_LDFLAGS): Likewise.
23416 (pkglib_MODULES): Add serial.mod.
23417 (serial_mod_SOURCES): New variable.
23418 (serial_mod_CFLAGS): Likewise.
23419 (serial_mod_LDFLAGS): Likewise.
23420 * conf/i386-pc.rmk: Likewise.
23421 * conf/mips-yeeloong.rmk: Likewise.
23422 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
23423 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
23424 * disk/usbms.c (first_available_slot): New variable.
23425 (grub_usbms_attach): Don't reuse free slots due to potential cache
23426 problems.
23427 * include/grub/serial.h: Moved to ..
23428 * include/grub/ns8250.h: ...this.
23429 * include/grub/serial.h: New file.
23430 * include/grub/term.h (grub_term_poll_usb): New variable.
23431 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
23432 readkey. All users updated.
23433 (grub_terminfo_output_state): Pass term to put.
23434 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
23435 (grub_usb_controller_dev): Add timeout and actual arguments to
23436 transfer. All users updated.
23437 (grub_usb_interface): New field detach_data.
23438 (grub_usb_device): New fields children and nports.
23439 (grub_usb_ep_type_t): New type.
23440 (grub_usb_get_ep_type): New function.
23441 (grub_usb_bulk_read_extended): Likewise.
23442 * include/grub/usbdesc.h (grub_usb_desc): New type.
23443 * include/grub/usbserial.h: New file.
23444 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
23445 * kern/term.c (grub_term_poll_usb): New variable.
23446 (grub_getkey): Call grub_term_poll_usb if set.
23447 (grub_checkkey): Likewise.
23448 (grub_getkeystatus): Likewise.
23449 * term/serial.c: Moved controller-specific parts to ...
23450 * term/ns8250.c: ... here.
23451 * term/serial.c: Mostly rewritten.
23452 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
23453 according to spec.
23454
21a313de
RM
234552010-08-20 Robert Millan <rmh@gnu.org>
23456
23457 Make kFreeBSD code more generic to support ext2fs as root, ufs as
23458 a separate module and maybe other interesting combinations.
23459
23460 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
23461 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
23462 (kfreebsd_entry): Add generic filesystem module load routine.
23463 Map GRUB `ext2' to kFreeBSD `ext2fs'.
23464
63c734a6
CW
234652010-08-20 Colin Watson <cjwatson@ubuntu.com>
23466
23467 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
23468 "numcenter" (I misunderstood the purpose of this entry).
23469 * docs/grub.texi (sendkey): Likewise.
23470
c4d16542
CW
234712010-08-20 Colin Watson <cjwatson@ubuntu.com>
23472
23473 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
23474 status flag options; simply omitting the option is equivalent and
23475 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
23476 (keysym_table): Rename "num5numlock" to "numlock".
23477 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
23478 can uniformly say that only the last of multiple `sendkey'
23479 invocations has any effect.
23480 * docs/grub.texi (sendkey): New section.
23481
93541d66
CW
234822010-08-19 Colin Watson <cjwatson@ubuntu.com>
23483
23484 * commands/i386/pc/sendkey.c (options): Fix three typos.
23485
b4ece5e1
VS
234862010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
23487
23488 Implement sendkey support.
23489
23490 * commands/i386/pc/sendkey.c: New file.
23491 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
23492 (sendkey_mod_SOURCES): New variable.
23493 (sendkey_mod_CFLAGS): Likewise.
23494 (sendkey_mod_LDFLAGS): Likewise.
23495
51f1f5af
CW
234962010-08-18 Colin Watson <cjwatson@ubuntu.com>
23497
23498 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
23499 fix warnings from Autoconf.
23500
9da94e05
CW
235012010-08-18 Colin Watson <cjwatson@ubuntu.com>
23502
23503 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
23504 to avoid false positives with some assemblers that output things
23505 like "someprefix_func" as part of their output.
23506
729a0f2e
RM
235072010-08-15 Robert Millan <rmh@gnu.org>
23508
23509 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
23510 errors.
23511 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
23512 grub_get_libzfs_handle() errors.
23513
f3710e08
RM
235142010-08-14 Robert Millan <rmh@gnu.org>
23515
23516 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
23517 filesystem is not ZFS.
23518
7a3c13de
BC
235192010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23520
23521 Fix for misspelled color names defaulting to black/black (bug
23522 reported by Doug Nazar)
23523
23524 * include/grub/normal.h (grub_parse_color_name_pair): Add return
23525 status to prototype.
23526 * normal/color.c (grub_parse_color_name_pair): Return failure
23527 status.
23528 (grub_env_write_color_normal): Ignore bad color names.
23529 (grub_env_write_color_highlight): Likewise.
23530 * normal/main.c (GRUB_MOD_INIT): Set default color names.
23531
ab8ba50d
BC
235322010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23533
23534 "shift" command support to GRUB script.
23535
23536 * include/grub/script_sh.h (grub_script_shift): New prototype.
23537 * script/execute.c (grub_script_shift): New function.
23538 * script/main.c (grub_script_init): Register shift command.
23539 (grub_script_fini): Unregister shift command.
23540 * util/grub-script-check.c (grub_script_cmd_shift): New function.
23541
23542 * tests/grub_script_shift.in: New testcase.
23543 * conf/tests.rmk: Rules for new testcase.
23544
4d61999e
BC
235452010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23546
23547 "continue" command support to GRUB script.
23548
23549 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
23550 (grub_script_break): Continue support.
23551 * script/main.c (grub_script_init): Register continue command.
23552 (grub_script_fini): Unregister continue command.
23553
23554 * tests/grub_script_continue.in: New testcase.
23555 * conf/tests.rmk: Rules for new testcase.
23556
4df51e00
BC
235572010-08-12 BVK Chaitanya <bvk@dbook>
23558
23559 "break" command support to GRUB script.
23560
23561 * conf/common.rmk: Rule updates to grub-script-check.
23562 * include/grub/misc.h (grub_min): New function.
23563 * include/grub/script_sh.h (grub_script_init): New prototype.
23564 (grub_script_fini): New prototype.
23565 (grub_script_break): New prototype.
23566 * script/main.c (grub_script_init): New function.
23567 (grub_script_fini): New function.
23568 * script/execute.c (grub_script_break): New function.
23569 * normal/main.c: Calls to grub_script_{init,fini}.
23570 * util/grub-script-check.c (grub_script_break): New function.
23571
23572 * tests/grub_script_break.in: New testcase.
23573 * conf/tests.rmk: Rules for new test case.
23574
f12c8420
BC
235752010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23576
23577 Function parameters support to GRUB script.
23578
23579 * script/yylex.l (VARIABLE): Regular expression update.
23580 * script/function.c (grub_script_function_call): Moved ...
23581 * script/execute.c (grub_script_function_call): ... to here.
23582 (grub_script_execute_arglist_to_argv): Removed.
23583 (grub_script_arglist_to_argv): New function.
23584 * script/argv.c: New file.
23585 (grub_script_argv_free): New function.
23586 (grub_script_argv_next): Likewise.
23587 (grub_script_argv_append): Likewise.
23588 (grub_script_argv_split_append): Likewise.
23589 * include/grub/script_sh.h (grub_script_argv): New struct.
23590 (grub_script_argv_free): New function.
23591 (grub_script_argv_next): Likewise.
23592 (grub_script_argv_append): Likewise.
23593 (grub_script_argv_split_append): Likewise.
23594
23595 * conf/common.rmk (normal.mod): New source script/argv.c.
23596
23597 * tests/grub_script_echo1.in: More tests.
23598 * tests/grub_script_vars1.in: Likewise.
23599 * tests/grub_script_functions.in: New test case.
23600 * conf/tests.rmk: Rules for new testcase.
23601
8022b748
BC
236022010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23603
23604 Remove grub_script_cmdblock struct.
23605
23606 * include/grub/script_sh.h: Remove grub_script_cmdblock.
23607 * script/parser.y: Likewise.
23608 * script/execute.c: Rename cmdblock suffix to cmdlist.
23609 * script/script.c: Likewise.
23610 * util/grub-script-check.c: Likewise.
23611
79a6ba61
YB
236122010-08-11 Yves Blusseau <blusseau@zetam.org>
23613
23614 * .bzrignore: add grub-macho2img
23615
d04b9414
VS
236162010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
23617
23618 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
23619
f947ab49
VS
236202010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
23621
23622 Remove the dump of sm712 initialisation sequence.
23623
23624 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
23625 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
23626 (GRUB_VGA_IO_MISC_WRITE): Likewise.
23627 (GRUB_VGA_CR_*): Added many registers.
23628 (GRUB_VGA_SR_*): Likewise.
23629 (GRUB_VGA_GR_*): Likewise.
23630 (grub_vga_write_arx): New function.
23631 (grub_video_hw_config): New struct.
23632 (grub_vga_set_geometry): New function.
23633 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
23634 GRUB_PCI_CLASS_SUBCLASS_VGA.
23635 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
23636 * video/sm712.c (grub_sm712_write_reg): New function
23637 (grub_sm712_read_reg): Likewise.
23638 (grub_sm712_sr_write): Likewise.
23639 (grub_sm712_gr_write): Likewise.
23640 (grub_sm712_cr_write): Likewise.
23641 (grub_sm712_write_arx): Likewise.
23642 (grub_sm712_cr_shadow_write): Likewise.
23643 (grub_sm712_write_dda_lookup): Likewise.
23644 (grub_video_sm712_setup): Initialise the video rather then
23645 blindly replay the dump.
23646 (main) [TEST]: Add a routine to be able to compile as standalone for
23647 tests.
23648 * video/sm712_init.c (sm712_init): Removed.
23649 (sm712_sr_seq1): New array.
23650 (sm712_sr_seq2): Likewise.
23651
f0206638
VS
236522010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
23653
23654 * include/grub/vga.h: Add missing grub/pci.h include.
23655
2764da3b
YB
236562010-08-10 Yves Blusseau <blusseau@zetam.org>
23657
23658 * util/grub-macho2img.c (main): fix typo
23659
cf0c775e
VS
236602010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
23661
23662 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
23663 (grub_vga_gr_read): Likewise.
23664 (grub_vga_cr_write): Likewise.
23665 (grub_vga_cr_read): Likewise.
23666 (grub_vga_sr_write): Likewise.
23667 (grub_vga_sr_read): Likewise.
23668 (grub_vga_palette_read): Likewise.
23669 (grub_vga_palette_write): Likewise.
23670 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
23671 (grub_sm712_sr_read): New function.
23672 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
23673 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
23674
07f360e9
RM
236752010-08-09 Robert Millan <rmh@gnu.org>
23676
23677 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
23678 out unused variables on non-ZFS build.
23679
346c2072
RM
236802010-08-08 Robert Millan <rmh@gnu.org>
23681
23682 Fix path generation for sub-filesystems in ZFS.
23683
23684 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
23685 missing slash.
23686
71175420
RM
236872010-08-08 Robert Millan <rmh@gnu.org>
23688
23689 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
23690
0d8286f3
RM
236912010-08-08 Robert Millan <rmh@gnu.org>
23692
23693 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
23694 exist, issue a proper error message (rely on `ls' for translated
23695 strings).
23696
55dd2924
RM
236972010-08-08 Robert Millan <rmh@gnu.org>
23698
23699 Fix grub-probe invocation.
23700
23701 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
23702
d3dd9e80
RM
237032010-08-04 Robert Millan <rmh@gnu.org>
23704
23705 * configure.ac: Remove checks for getfsstat() and getmntany().
23706 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
23707 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
23708 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
23709 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
23710 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
23711 function.
23712 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
23713 via find_mount_point_from_dir() and getfsstat() / getmntany().
23714
0de22aa9
RM
237152010-08-04 Robert Millan <rmh@gnu.org>
23716
23717 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
23718 (grub_find_zpool_from_mount_point): Merge into ...
23719 (grub_find_zpool_from_dir): ... this.
23720 * kern/emu/misc.c: Likewise.
23721
23722 * kern/emu/misc.c
23723 (grub_make_system_path_relative_to_its_root): Replace
23724 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
23725 with grub_find_zpool_from_dir().
23726 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
23727
62858144
RM
237282010-08-04 Robert Millan <rmh@gnu.org>
23729
23730 Support OpenSolaris in ZFS device resolution.
23731
23732 * configure.ac: Check for getmntany().
23733 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
23734 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
23735 support.
23736
9dd6fd50
RM
237372010-08-03 Robert Millan <rmh@gnu.org>
23738
23739 Fix grub-emu build.
23740
23741 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
23742 * include/grub/emu/misc.h: ... here.
23743
23744 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
23745 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
23746
23747 * util/misc.c: Remove `<grub/util/libzfs.h>'.
23748 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
23749 (grub_get_libzfs_handle): Move to ...
23750 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
23751 (grub_get_libzfs_handle): ... here.
23752
c9f7ff97
BC
237532010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
23754
23755 * script/execute.c (grub_script_execute_cmdline): Check for NULL
23756 as command name case.
23757
a870a783
CW
237582010-08-02 Colin Watson <cjwatson@ubuntu.com>
23759
23760 * disk/raid.c (insert_array): Select unique numbers for named arrays
23761 as well, for use as keys in the disk cache.
23762
c7db243b
RM
237632010-08-01 Robert Millan <rmh@gnu.org>
23764
23765 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
23766 kFreeBSD device name, except on ZFS where the filesystem label is
23767 used.
23768 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
23769 `/boot/zfs/zpool.cache'.
23770 Set mountfrom kernel variable using ${kfreebsd_device}.
23771
f7abdefb
RM
237722010-08-01 Robert Millan <rmh@gnu.org>
23773
23774 Make it even harder to use uninitialized `libzfs_handle' (and
23775 make the interface a bit simpler).
23776
23777 * include/grub/util/misc.h (grub_util_init_libzfs)
23778 (libzfs_handle): Remove.
23779 (grub_get_libzfs_handle): New prototype.
23780
23781 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
23782 attribute.
23783 (grub_util_init_libzfs): Remove.
23784 (grub_get_libzfs_handle): New function.
23785
23786 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
23787 grub_get_libzfs_handle() to obtain a libzfs handle instead of
23788 accessing `libzfs_handle' directly.
23789
c882acc0
RM
237902010-08-01 Robert Millan <rmh@gnu.org>
23791
23792 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
23793 (grub_find_zpool_from_mount_point): New function prototypes.
23794
23795 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
23796 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
23797
23798 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
23799 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
23800 `static' attribute.
23801
23802 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
23803 finding zpool from mount point into ...
23804 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
23805
23806 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
23807 requested path is part of a ZFS pool, use
23808 grub_find_zpool_from_mount_point() to detect its filesystem name,
23809 and generate a path with `/fsname@path' syntax.
23810
8bfe31d8
CW
238112010-08-01 Colin Watson <cjwatson@ubuntu.com>
23812
23813 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
23814 (void) rather than () so that this is a proper prototype.
23815
553df63d
VS
238162010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
23817
23818 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
23819
8687cf07
VS
238202010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
23821
23822 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
23823 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
23824
ea9be8ea
CW
238252010-08-01 Colin Watson <cjwatson@ubuntu.com>
23826
23827 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
23828
6eea041a
CW
238292010-08-01 Colin Watson <cjwatson@ubuntu.com>
23830
23831 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
23832
2cfb45df
CW
238332010-08-01 Colin Watson <cjwatson@ubuntu.com>
23834
23835 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
23836 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
23837 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
23838 disable gfxpayload.
23839 (Shell-like scripting): Add real content.
23840 (Serial terminal): Suggest `terminal_input serial; terminal_output
23841 serial' rather than putting the two commands on separate lines,
23842 since console input will be inoperative after the first command.
23843 (menuentry): Document --class, --users, and --hotkey options.
23844 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
23845 Vladimir Serbinenko).
23846
7decd202
VS
238472010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
238482010-08-01 Colin Watson <cjwatson@ubuntu.com>
23849
23850 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
23851
c882acc0
RM
238522010-08-01 Robert Millan <rmh@gnu.org>
23853
23854 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
23855 (grub_find_zpool_from_mount_point): New function prototypes.
23856
23857 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
23858 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
23859
23860 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
23861 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
23862 `static' attribute.
23863
23864 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
23865 finding zpool from mount point into ...
23866 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
23867
23868 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
23869 requested path is part of a ZFS pool, use
23870 grub_find_zpool_from_mount_point() to detect its filesystem name,
23871 and generate a path with `/fsname@path' syntax.
23872
deb0caa3
RM
238732010-08-01 Robert Millan <rmh@gnu.org>
23874
23875 Prevent accidental use of uninitialized libzfs_handle.
23876
23877 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
23878 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
23879 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
23880
ce04ef47
CW
238812010-08-01 Colin Watson <cjwatson@ubuntu.com>
23882
23883 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
23884 util/grub.d/10_linux.in). Fixes Debian bug #591093.
23885
ebf53056
RM
238862010-08-01 Robert Millan <rmh@gnu.org>
23887
23888 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 23889
3710bb6b
RM
238902010-07-31 Robert Millan <rmh@gnu.org>
23891
23892 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
23893
8072efeb
RM
238942010-07-31 Robert Millan <rmh@gnu.org>
23895
23896 * kern/emu/misc.c: Add missing license header.
23897
3169f4c7
RM
238982010-07-31 Robert Millan <rmh@gnu.org>
23899
23900 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
23901
23902 * include/grub/util/libnvpair.h: Include `<config.h>'.
23903 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
23904 declaring libnvpair prototypes ourselves.
23905 * include/grub/util/libzfs.h: Include `<config.h>'.
23906 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
23907 declaring libzfs prototypes ourselves.
23908
23909 (libzfs_handle): Moved to ...
23910 * include/grub/util/misc.h (libzfs_handle): ... here.
23911 Include `<grub/util/libzfs.h>'.
23912
c9a00aee
RM
239132010-07-30 Robert Millan <rmh@gnu.org>
23914
23915 * include/grub/emu/misc.h: Add missing license header.
23916
a184f9c8
RM
239172010-07-30 Robert Millan <rmh@gnu.org>
23918
23919 Enable `grub-probe -t device' resolution on ZFS.
23920
23921 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
23922 * include/grub/util/libnvpair.h: New file.
23923 * include/grub/util/libzfs.h: New file.
23924
23925 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
23926 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
23927 `<grub/util/libnvpair.h>'.
23928 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
23929
23930 (find_mount_point_from_dir): New static function.
23931 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
23932 function.
23933 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
23934 find_root_device_from_libzfs() before ressorting to find_root_device().
23935
23936 * include/grub/util/misc.h (grub_util_init_libzfs): New function
23937 prototype.
23938 * util/misc.c: Include `<grub/util/libzfs.h>'.
23939 (grub_util_init_libzfs): New function.
23940 [HAVE_LIBZFS] (libzfs_handle): New global variable.
23941 [HAVE_LIBZFS] (fini_libzfs): New static function.
23942 (grub_util_init_libzfs): New function.
23943 * util/grub-probe.c (main): Call grub_util_init_libzfs().
23944
f7790cdd
RM
239452010-07-30 Robert Millan <rmh@gnu.org>
23946
23947 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
23948 (xmalloc, xrealloc, xstrdup, xasprintf): Add
23949 `warn_unused_result' attribute.
23950 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
23951 (grub_xasprintf, grub_xvasprintf): Likewise.
23952 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
23953
0806b63c
RM
239542010-07-29 Robert Millan <rmh@gnu.org>
23955
23956 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
23957 (probe): Handle `PRINT_FS_LABEL'.
23958 (main): Handle `-t fs_label'.
23959
9f841f5c
RM
239602010-07-29 Robert Millan <rmh@gnu.org>
23961
23962 * configure.ac: Remove grub-mkisofs checks.
23963
46371121
VS
239642010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
23965
23966 * util/ieee1275/grub-install.in: Don't use empty grub_device.
23967 Reported by: Lennart Sorensen.
23968
239692010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
23970
23971 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
23972 prior to terminal_input/terminal_output separation. It's been over 1.5
23973 years and those versions weren't widely deployed.
23974
a9600892
CW
239752010-07-22 Colin Watson <cjwatson@ubuntu.com>
23976
23977 * disk/raid.c (insert_array): Don't count named arrays when looking
23978 for unused array numbers.
697e053c 23979 Reported and tested by: Michael Guntsche.
a9600892 23980
c03507df
CW
239812010-07-20 Colin Watson <cjwatson@ubuntu.com>
23982
23983 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
23984 implementation of this so that grub-emu links again, with a note
23985 that this should support hotplugging in the future.
23986
b26f1c11
CW
239872010-07-20 Colin Watson <cjwatson@ubuntu.com>
23988
23989 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
23990
efc9d7f1
CW
239912010-07-20 Colin Watson <cjwatson@ubuntu.com>
23992
23993 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
23994 handle on failure.
23995 (grub_loopback_close): Remove empty function.
23996 (grub_loopback_dev): Remove close method.
23997
dd8ff5c9
CW
239982010-07-20 Colin Watson <cjwatson@ubuntu.com>
23999
24000 Disable EFI cursor when the EFI console becomes inactive.
24001
24002 * term/efi/console.c (grub_efi_console_init): New function.
24003 (grub_efi_console_fini): New function.
24004 (grub_console_term_output): Register init and fini methods.
24005
5e3bec67
VS
240062010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24007
24008 * tests/util/grub-shell-tester.in: Remove bashism and declare as
24009 sh script.
24010
afaec079
VS
240112010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24012
24013 * disk/loopback.c (grub_loopback): Replace filename with file.
24014 (delete_loopback): Handle new semantics.
24015 (grub_cmd_loopback): Likewise.
24016 (grub_loopback_iterate): Likewise.
24017 (grub_loopback_close): Likewise.
24018
a6a11f3c
VS
240192010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24020
24021 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
24022 with -p "".
24023 Reported by: Tito Keitel.
24024
64a638b0
VS
240252010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24026
24027 * docs/grub.texi (Naming convention): Document new naming convention.
24028
ab8ba957
VS
240292010-07-20 Vadim Solomin <vadic052@gmail.com>
240302010-07-20 Colin Watson <cjwatson@ubuntu.com>
24031
24032 Generate device.map in something closer to the old ordering.
24033
24034 * util/deviceiter.c (struct device): New declaration.
24035 (compare_file_names): Rename to ...
24036 (compare_devices): ... this. Sort by kernel name in preference to
24037 the stable by-id name, but keep the latter as a fallback comparison.
24038 Update header comment.
24039 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
24040 of `struct device' rather than of plain file names.
24041
a29d6a4b
TF
240422010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
24043
24044 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
24045 on i386.
24046
39d824e8
VS
240472010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24048
24049 * commands/acpi.c (setup_common_tables): Use sizeof instead of
24050 hardcoding size.
24051 (setv1table): Likewise.
24052
f058276b
FZ
240532010-07-20 Colin Watson <cjwatson@ubuntu.com>
24054
24055 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
24056 removing the homehost if present.
24057 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
24058 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
24059 removing the homehost if present.
24060 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
24061 if possible.
24062 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
24063
24064 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
24065 parameter. Set its pointer target to 0.
24066 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
24067 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
24068 `data_offset' value from the superblock for 1.x metadata.
24069 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
24070 data on the device.
24071 (insert_array): Record the start sector of data on the device.
24072 (grub_raid_register): Pass start_sector parameters to
24073 grub_raid_list->detect and insert_array.
24074 * include/grub/raid.h (struct grub_raid_array): Add start_sector
24075 member.
24076 (struct grub_raid): Add start_sector parameter to `detect'.
24077
24078 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
24079 __attribute__ ((packed)), leaving a comment.
24080 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
24081 (grub_mdraid_detect_09): ... here and ...
24082 (grub_mdraid_detect_1x): ... here.
24083
240842010-07-20 Peter Henn <peter.henn@web.de>
24085
24086 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
24087 chunk size and disk size, which are already given as sector counts
24088 as distinct from the 0.90 units. Fetch the correct device number
24089 from the role table instead of using the table index.
24090
240912010-07-20 Felix Zielcke <fzielcke@z-51.de>
24092
24093 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
24094 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
24095 (WriteMostly1): New macro.
24096 Set array->name to NULL for metadata format 0.90. Add support for
24097 metadata 1.x. Fix some comments.
24098 * disk/raid.c (): Add support for name based RAID arrays. Fix a
24099 few comments.
24100 * util/getroot.c (grub_util_get_grub_dev): Add support for
24101 /dev/md/name style devices.
24102
4b761da9
CW
241032010-07-20 Colin Watson <cjwatson@ubuntu.com>
24104
24105 * .bzrignore: Ignore 20_linux_xen.
24106
5771289a
CW
241072010-07-17 Colin Watson <cjwatson@ubuntu.com>
24108
24109 * util/import_unicode.py: Remove unnecessary imports.
24110
5dab68df
AN
241112010-07-17 Aleš Nesrsta <starous@volny.cz>
24112
24113 Hotplugging and USB hub support.
24114
24115 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
24116 (grub_ohci): Likewise.
24117 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
24118 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
24119 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
24120 (GRUB_OHCI_CTRL_EDS): Likewise.
24121 (GRUB_OHCI_BULK_EDS): Likewise.
24122 (GRUB_OHCI_TDS): Likewise.
24123 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
24124 (grub_ohci_ed_phys2virt): New function.
24125 (grub_ohci_virt_to_phys): Likewise.
24126 (grub_ohci_td_phys2virt): Likewise.
24127 (grub_ohci_td_virt2phys): Likewise.
24128 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
24129 attachment.
24130 (grub_ohci_find_ed): New function.
24131 (grub_ohci_alloc_td): Likewise.
24132 (grub_ohci_free_td): Likewise.
24133 (grub_ohci_free_tds): Likewise.
24134 (grub_ohci_transfer): Use previously allocated memory.
24135 (grub_ohci_portstatus): Reset status changed bit.
24136 (grub_ohci_detect_dev): Supply status changed.
24137 (grub_ohci_fini_hw): Free memory.
24138 (grub_ohci_restore_hw): Reallocate memory.
24139 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
24140 Reset status change.
24141 (grub_uhci_detect_dev): Supply status_change.
24142 * bus/usb/usb.c (attach_hooks): New var.
24143 (grub_usb_device_attach): New function.
24144 (grub_usb_register_attach_hook_class): Likewise.
24145 (grub_usb_unregister_attach_hook_class): Likewise.
24146 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
24147 (grub_usb_add_hub): Reset connection changed bit.
24148 (attach_root_port): New function.
24149 (grub_usb_root_hub): Likewise.
24150 (poll_nonroot_hub): Likewise.
24151 (grub_usb_poll_devices): Likewise.
24152 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
24153 * disk/usbms.c (grub_usbms_open): Use device hooks.
24154 (grub_usbms_iterate) :Poll devices.
24155 (grub_usbms_finddevs): Split into ...
24156 (grub_usbms_attach): ... this ...
24157 (grub_usbms_attach): ... and this.
24158 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
24159 in detect_dev.
24160 (grub_usb_interface): New fields attached and detach_hook.
24161 (grub_usb_attach_hook_class): New type.
24162 (grub_usb_attach_desc): New struct.
24163 (grub_usb_register_attach_hook_class): New function.
24164 (grub_usb_unregister_attach_hook_class): Likewise.
24165 (grub_usb_poll_devices): Likewise.
24166 (grub_usb_device_attach): Likewise.
24167 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
24168 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
24169
3222efaf
VS
241702010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
24171
24172 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
24173 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
24174 delta determination style. Works with most NetBSD partitions too.
24175
139b714a
VS
241762010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
24177
24178 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
24179 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
24180
986aad56
VS
241812010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
24182
24183 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
24184
99be513c
AB
241852010-07-14 Anton Blanchard <anton@samba.org>
24186
24187 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
24188 ET_DYN files.
24189
18075f62
GS
241902010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
24191
24192 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
24193
8d9a5b15
GS
241942010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
24195
24196 * kern/partition.c (grub_partition_check_containment): New function to
24197 check that a partition is physically contained in a parent. Since
24198 offsets are relative (and non-negative), this reduces to checking that
24199 the partition ends before its parent.
24200 (grub_partition_map_probe): Discard out-of-range sub-partitions.
24201 (grub_partition_iterate): Likewise.
24202 * include/grub/partition.h (grub_partition_map): Slightly more detailed
24203 comments.
24204 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
24205 partitions that start before their parent, and add debug printfs.
24206
19563c25
CW
242072010-07-13 Colin Watson <cjwatson@ubuntu.com>
24208
24209 * Makefile.in (.SUFFIX): Spell correctly, as ...
24210 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
24211 bare module name without `.mod', e.g. `test') tried to invoke a
24212 Modula-2 compiler.
24213
1a1f1e67
CW
242142010-07-13 Colin Watson <cjwatson@ubuntu.com>
24215
24216 * README: Point to the Info manual.
24217
811b0dca
JS
242182010-07-13 Jiro SEKIBA <jir@unicus.jp>
24219
24220 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
24221 2nd superblock position from partition size.
24222
e4f4eafc
CW
242232010-07-10 Colin Watson <cjwatson@ubuntu.com>
24224
24225 * Makefile.in (MAINTAINER_CLEANFILES): Remove
24226 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
24227 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
24228 outputs.
24229
4274c30f
VS
242302010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
24231
24232 Restructure SCSI .id handling.
24233 Reported and tested by: Aleš Nesrsta.
24234
24235 * disk/ata.c (grub_atapi_close): Removed. All users updated.
24236 (grub_atapi_dev): Changed .name to "ata". New field .id.
24237 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
24238 (grub_usbms_dev): New field .id.
24239 * disk/scsi.c (grub_scsi_iterate): Generate name.
24240 (grub_scsi_open): Parse name.
24241 * include/grub/scsi.h (grub_make_scsi_id): New function.
24242 (grub_scsi_dev): Change iterate and open to number instead of naming
24243 busses. All users updated.
24244 (grub_scsi): Remove name. Add .bus.
24245
5bc24388
VS
242462010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
24247
24248 * commands/help.c (grub_cmd_help): Fix a typo.
24249
249975ba
VS
242502010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
24251
24252 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
24253 Reported and tested by: Colin Watson.
24254
3eaac1a1
VS
242552010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
24256
24257 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
24258 in this context.
24259
becce1b1
VS
242602010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
24261
24262 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
24263
f7bf0918
CW
242642010-07-07 Colin Watson <cjwatson@ubuntu.com>
24265
24266 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
24267 indentation.
24268
0b0f9620
CW
242692010-07-06 Colin Watson <cjwatson@ubuntu.com>
24270
24271 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
24272 and disk/raid6_recover.c.
24273 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
24274 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
24275
1e545469
CW
242762010-07-06 Colin Watson <cjwatson@ubuntu.com>
24277
24278 * term/gfxterm.c (repaint_schedulded): Rename to ...
24279 (repaint_scheduled): ... this. Update all callers.
24280 (repaint_was_schedulded): Rename to ...
24281 (repaint_was_scheduled): ... this. Update all callers.
24282
5357687a
CW
242832010-07-06 Colin Watson <cjwatson@ubuntu.com>
24284
24285 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
24286 which we expect to be handled by upper layers.
24287
29d7e783
BC
242882010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
24289
24290 * bus/usb/usbhub.c: #include time.h header.
24291
37582066
CW
242922010-07-06 Colin Watson <cjwatson@ubuntu.com>
24293
24294 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
24295 entry_name also for entries without stat blocks (e.g. ".."); fixes
24296 corruption of the first entry in a directory.
24297
c8c06953
CW
242982010-07-06 Colin Watson <cjwatson@ubuntu.com>
24299
24300 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
24301 after setting gfxterm as the active terminal. GRUB_BACKGROUND
24302 doesn't work otherwise.
24303
e75056f1
CW
243042010-07-05 Colin Watson <cjwatson@ubuntu.com>
24305
24306 * docs/grub.texi (Features): Update list of supported file systems.
24307 (GNU/Linux): Update for GRUB 2.
24308 (Serial terminal): Remove mention of --disable-serial, which was a
24309 GRUB Legacy configure option. Update instructions to use
24310 `terminal_input' and `terminal_output' rather than `terminal'.
24311 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
24312 configuration' and `Installing GRUB using grub-install'.
24313 (Menu entry editor): Update for GRUB 2.
24314 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
24315 Document new -a, -u, and -v options.
24316 (initrd): New section.
24317 (initrd16): New section.
24318 (linux): New section.
24319 (linux16): New section.
24320 (search): The `var' argument to `--set' is optional.
24321 (GRUB only offers a rescue shell): Go into a little more detail on
24322 drive ordering.
24323
5cf69151
CW
243242010-07-05 Colin Watson <cjwatson@ubuntu.com>
24325
24326 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
24327
e3f90044
CW
243282010-07-05 Colin Watson <cjwatson@ubuntu.com>
24329
24330 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
24331 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
24332
38d8f4f3
CW
243332010-07-05 Colin Watson <cjwatson@ubuntu.com>
24334
24335 * util/i386/pc/grub-setup.c (setup): Rename prefix to
24336 install_prefix, in line with install_dos_part and install_bsd_part.
24337 Add new prefix variable, which is copied to install_prefix after
24338 comparing core.img in memory with the one read from disk in the
24339 no-embedding case, and use that rather than overwriting
24340 install_prefix immediately when installing to a partition.
24341 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
24342 Bicakci.
24343
57ebd41e
GS
243442010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
24345
24346 * configure.ac: Avoid == in test command, it's not portable.
24347 * util/grub.d/30_os-prober.in: Likewise.
24348
cb7f64b2
CW
243492010-07-04 Colin Watson <cjwatson@ubuntu.com>
24350
24351 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
24352
6b654bb0
GS
243532010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
24354
24355 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
24356 multiple (top-level) partmaps.
24357
72a2026d
VS
243582010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24359
24360 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 24361 Reported by: Tino Keitel.
72a2026d 24362
df3eb88f
VS
243632010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24364
24365 Bidi and diacritics support.
24366
24367 * Makefile.in (widthspec.bin): New target.
24368 (widthspec.h): Likewise.
24369 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
24370 * autogen.sh: Generate unidata.c.
24371 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
24372 * commands/ls.c (grub_ls_list_devices): Likewise.
24373 (grub_ls_list_files): Likewise.
24374 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
24375 (grub_mini_cmd_lsmod): Likewise.
24376 * commands/read.c: Likewise.
24377 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
24378 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
24379 * lib/arg.c (grub_arg_show_help): Likewise.
24380 * lib/crypto.c (grub_password_get): Likewise.
24381 * normal/auth.c (grub_username_get): Likewise.
24382 * normal/misc.c (grub_normal_print_device_info): Likewise.
24383 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
24384 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
24385 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
24386 (normal/charset.c_DEPENDENCIES): New variable.
24387 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
24388 (pkglib_MODULES): Remove charset.mod.
24389 (charset_mod_SOURCES): Removed.
24390 (charset_mod_CFLAGS): Likewise.
24391 (charset_mod_LDFLAGS): Likewise.
24392 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
24393 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
24394 and term/tparm.c.
24395 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
24396 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
24397 (kernel_img_HEADERS): Add terminfo.h.
24398 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
24399 Fill ->font. Reverse ascii bitmaps.
24400 (grub_font_get_xheight): New function.
24401 * font/font.c (grub_font_get_string_width): Moved from here ...
24402 * gfxmenu/font.c (grub_font_get_string_width): ... here.
24403 * font/font.c (grub_font_draw_string): Moved from here ...
24404 * gfxmenu/font.c (grub_font_draw_string): ... here.
24405 * font/font.c (grub_font_dup_glyph): New function.
24406 (grub_font_blit_glyph): Likewise.
24407 (grub_font_blit_glyph_mirror): Likewise.
24408 (blit_comb): Likewise.
24409 (grub_font_construct_dry_run): Likewise.
24410 (grub_font_get_constructed_device_width): Likewise.
24411 (grub_font_construct_glyph): Likewise.
24412 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
24413 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
24414 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
24415 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
24416 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
24417 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
24418 (grub_font_get_xheight): New proto.
24419 (grub_font_get_constructed_device_width): Likewise.
24420 (grub_font_construct_glyph): Likewise.
24421 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
24422 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
24423 * include/grub/font.h (grub_font_draw_string): Moved from here ...
24424 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
24425 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
24426 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
24427 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
24428 (grub_console_getcharwidth): Likewise.
24429 * include/grub/misc.h (grub_xputs): New proto.
24430 (grub_puts): Inlined.
24431 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
24432 (grub_normal_get_line_counter): Removed.
24433 (grub_install_newline_hook): Likewise.
24434 (grub_normal_get_char_counter): New proto.
24435 (grub_normal_reset_more): Likewise.
24436 (grub_xputs_normal): Likewise.
24437 * include/grub/powerpc/ieee1275/console.h: Removed.
24438 * include/grub/sparc64/ieee1275/console.h: Likewise.
24439 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
24440 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
24441 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
24442 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
24443 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
24444 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
24445 (grub_term_input): Pass reference to self. All users updated.
24446 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
24447 Pass reference to self. New fields normal_color, highlight_color and
24448 data. All users updated.
24449 (grub_putchar): Removed.
24450 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
24451 (grub_unicode_estimate_width): New function.
24452 (grub_term_getcharwidth): Add defaults.
24453 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
24454 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
24455 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
24456 (grub_cls): Remove EXPORT_FUNC.
24457 (grub_setcolorstate): Inline.
24458 (grub_newline_hook): Removed.
24459 * include/grub/terminfo.h: Rewritten. All users updated.
24460 * include/grub/unicode.h: New file.
24461 * include/grub/video.h (grub_video_signed_rect): New type.
24462 * kern/emu/console.c (grub_console_highlight_color): Removed.
24463 (grub_console_normal_color): Likewise.
24464 (grub_console_standard_color): Made static.
24465 (grub_ncurses_putchar): Remove mapping.
24466 (grub_ncurses_getcharwidth): Removed.
24467 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
24468 (grub_ncurses_setcolor): Removed.
24469 (grub_ncurses_getcolor): Likewise.
24470 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
24471 (grub_console_putchar): ... this.
24472 (grub_console_putchar): Handle argument difference.
24473 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
24474 console_init_early and console_init_lately.
24475 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
24476 * kern/misc.c (grub_puts): Removed.
24477 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
24478 (grub_vsnprintf_real): Remove str = NULL support.
24479 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
24480 * normal/charset.c (grub_utf8_to_ucs4): ... here.
24481 * kern/term.c (grub_putcode): Renamed to ...
24482 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
24483 (grub_putchar): Removed.
24484 (grub_xputs_dumb): New function.
24485 (grub_xputs): New variable.
24486 * lib/charset.c: Move from here ...
24487 * normal/charset.c: ... to here.
24488 (grub_ucs4_to_utf8): New function.
24489 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
24490 (join_types): New variable.
24491 (unpack_join): New function.
24492 (bidi_types): New variable.
24493 (unpack_bidi): New function.
24494 (get_bidi_type): Likewise.
24495 (get_join_type): Likewise.
24496 (is_mirrored): Likewise.
24497 (grub_unicode_get_comb_type): Likewise.
24498 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
24499 (is_type_after): Likewise.
24500 (grub_unicode_aglomerate_comb): Likewise.
24501 (bidi_line_wrap): Likewise.
24502 (grub_bidi_line_logical_to_visual): Likewise.
24503 (grub_bidi_logical_to_visual): Likewise.
24504 (grub_unicode_mirror_code): Likewise.
24505 (grub_unicode_shape_code): Likewise.
24506 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
24507 Don't use grub_putchar.
24508 * normal/main.c (grub_normal_init_page): Use grub_putcode.
24509 (grub_normal_reader_init): Likewise.
24510 (grub_xputs_saved): New variable.
24511 (GRUB_MOD_INIT): Set grub_xputs.
24512 (GRUB_MOD_FINI): Restore grub_xputs.
24513 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
24514 (menu_init): Avoid printing gfxmenu error.
24515 (show_menu): Use grub_normal_get_char_counter.
24516 * normal/menu_entry.c (update_screen): Fix out-of-array.
24517 (complete): Avoid NULL dereferencing.
24518 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
24519 * normal/menu_text.c (print_spaces): Removed.
24520 (grub_print_ucs4): Likewise.
24521 (grub_print_message_indented): Use grub_print_ucs4.
24522 (print_message): Use grub_putcode.
24523 (print_entry): Hanlde diacritics.
24524 * normal/term.c (term_state): New type.
24525 (grub_more_lines): Removed.
24526 (term_states): New variable.
24527 (grub_normal_line_counter): Renamed to ..
24528 (grub_normal_char_counter): ...this. All users updated.
24529 (grub_normal_get_line_counter): Renamed to ...
24530 (grub_normal_get_char_counter): ... this.
24531 (grub_normal_reset_more): New function.
24532 (process_newline): Removed.
24533 (print_more): New function.
24534 (grub_install_newline_hook): Removed.
24535 (map_code): New function.
24536 (grub_puts_terminal): Use grub_print_ucs4.
24537 (putglyph): New function.
24538 (putcode_real): Likewise.
24539 (grub_putcode): Use putcode_real.
24540 (get_maxwidth): New function.
24541 (get_startwidth): Likewise.
24542 (print_ucs4_terminal): Likewise.
24543 (find_term_state): Likewise.
24544 (put_glyphs_terminal): Likewise.
24545 (print_backlog): Likewise.
24546 (print_ucs4_real): Likewise.
24547 (grub_print_ucs4): Likewise.
24548 (grub_xputs_normal): Likewise.
24549 * term/efi/console.c (grub_console_putchar): Output diacritics.
24550 (grub_console_getcharwidth): Removed.
24551 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
24552 * term/gfxterm.c (clear_char): Free chars.
24553 (scroll_up): Avoid leaking memory.
24554 (grub_gfxterm_putchar): Support diacritics.
24555 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
24556 * term/i386/pc/console.c (grub_console_term_output): Declare as
24557 GRUB_TERM_CODE_TYPE_VGA.
24558 * term/i386/pc/vga.c (grub_vga_term): Declare as
24559 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
24560 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
24561 GRUB_TERM_CODE_TYPE_VGA.
24562 * term/i386/vga_common.c (map_char): Removed.
24563 (grub_console_putchar): Likewise.
24564 (grub_console_getcharwidth): Likewise.
24565 * term/ieee1275/ofconsole.c: Simplify using terminfo.
24566 (colors): Reordered to match terminfo.
24567 (grub_ofconsole_normal_color): Removed.
24568 (grub_ofconsole_writeesc): Likewise.
24569 (grub_ofconsole_highlight_color): Likewise.
24570 (grub_ofconsole_getcharwidth): Likewise.
24571 (grub_ofconsole_setcolorstate): Likewise.
24572 (grub_ofconsole_setcolor): Likewise.
24573 (grub_ofconsole_getcolor): Likewise.
24574 (grub_ofconsole_readkey): Renamed to ...
24575 (readkey): ... this. Remove escape sequence handling. Return -1 on no
24576 key.
24577 (grub_ofconsole_checkkey): Removed.
24578 (grub_ofconsole_getkey): Likewise.
24579 (grub_ofconsole_getxy): Likewise.
24580 (grub_ofconsole_gotoxy): Likewise.
24581 (grub_ofconsole_cls): Likewise.
24582 (grub_ofconsole_refresh): Likewise.
24583 (grub_ofconsole_terminfo_input): New struct.
24584 (grub_ofconsole_terminfo_output): Likewise.
24585 (grub_ofconsole_term_input): Use terminfo.
24586 (grub_ofconsole_term_output): Likewise.
24587 (grub_console_init): Split into ...
24588 (grub_console_init_early): ...this and ...
24589 (grub_console_init_lately): ...this. Use terminfo.
24590 (grub_ofconsole_putchar): Renamed to ...
24591 (put): ... this. Remove mapping.
24592 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
24593 * term/serial.c: Simplify using terminfo.
24594 (xpos): Removed.
24595 (ypos): Likewise.
24596 (keep_track): Likewise.
24597 (registered): Likewise.
24598 (input_buf): Likewise.
24599 (npending): Likewise.
24600 (serial_translate_key_sequence): Likewise.
24601 (fill_input_buf): Likewise.
24602 (grub_serial_checkkey): Likewise.
24603 (grub_serial_getkey): Likewise.
24604 (grub_serial_getxy): Likewise.
24605 (grub_serial_gotoxy): Likewise.
24606 (grub_serial_putchar): Likewise.
24607 (grub_serial_cls): Likewise.
24608 (grub_serial_setcolorstate): Likewise.
24609 (grub_serial_setcursor): Likewise.
24610 (serial_hw_init): Use serial_hw_fetch.
24611 (grub_serial_terminfo_input): New variable.
24612 (grub_serial_terminfo_output): Likewise.
24613 (grub_serial_term_input): Use terminfo.
24614 (grub_serial_term_output): Likewise.
24615 * term/terminfo.c (putstr): Use put.
24616 (grub_terminfo_all_free): New function
24617 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
24618 (grub_terminfo_output_register): New function.
24619 (grub_terminfo_output_unregister): Likewise.
24620 (grub_terminfo_getxy): Likewise.
24621 (grub_terminfo_readkey): Likewise.
24622 (grub_terminfo_checkkey): Likewise.
24623 (grub_terminfo_getkey): Likewise.
24624 (grub_terminfo_input_init): Likewise.
24625 (print_terminfo): Likewise.
24626 (grub_cmd_terminfo): Handle encoding.
24627 (grub_terminfo_gotoxy): Track position.
24628 (grub_terminfo_cls): Likewise.
24629 (grub_terminfo_putchar): Likewise.
24630 (grub_terminfo_setcolorstate): Handle colors
24631 (grub_terminfo_cursor_on): This ...
24632 (grub_terminfo_cursor_off): ... and this merged into ...
24633 (grub_terminfo_setcursor): ... this.
24634 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
24635 * unicode/ArabicShaping.txt: New file (imported from Unicode).
24636 * unicode/BidiMirroring.txt: Likewise.
24637 * unicode/UnicodeData.txt: Likewise.
24638 * unicode/COPYING: Likewise.
24639 * util/grub-editenv.c (grub_putchar): Removed.
24640 (grub_xputs_real): New function.
24641 (grub_xputs): New variable.
24642 * util/grub-fstest.c (grub_putchar): Removed.
24643 (grub_xputs_real): New function.
24644 (grub_xputs): New variable.
24645 * util/grub-mkdevicemap.c (grub_putchar): Removed.
24646 (grub_xputs_real): New function.
24647 (grub_xputs): New variable.
24648 * util/grub-probe.c (grub_putchar): Removed.
24649 (grub_xputs_real): New function.
24650 (grub_xputs): New variable.
24651 * util/grub-script-check.c (grub_putchar): Removed.
24652 (grub_xputs_real): New function.
24653 (grub_xputs): New variable.
24654 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
24655 (grub_xputs_real): New function.
24656 (grub_xputs): New variable.
24657 * util/import_unicode.py: New file.
24658 * util/grub-mkfont.c (ft_errmsgs): New array.
24659 (grub_glyph_info): Make bitmap a pointer.
24660 (file_formats): New type WIDTH_SPEC.
24661 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
24662 (options): Add width-spec.
24663 (help): Likewise.
24664 (add_char): Renamed to ...
24665 (add_glyph): ... this.
24666 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
24667 (glyph_replace): New type.
24668 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
24669 (add_char): New function.
24670 (add_subst): Likewise.
24671 (process_cursive): Likewise.
24672 (add_font): Handle GSUB.
24673 (write_font_width_spec): New function.
24674 (main): Sort glyphs.
24675 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
24676 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
24677 * kern/term.c (grub_cls): Moved from here...
24678 * normal/term.c (grub_cls): ... here.
24679
50f0bcda
CW
246802010-07-02 Colin Watson <cjwatson@ubuntu.com>
24681
24682 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
24683 suitable for using within the format argument of printf when
24684 converting grub_size_t.
24685 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
24686 "x" to convert grub_size_t arguments.
24687
40372103
VS
246882010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24689
24690 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
24691 too long captions.
24692 (list_get_minimal_size): Take selection box into account.
24693
942a10c7
VS
246942010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24695
24696 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
24697 NULL font.
24698
2bdb2892
CW
246992010-07-02 Colin Watson <cjwatson@ubuntu.com>
24700
24701 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
24702 devices when iterating over /dev/disk/by-id; they will be handled
24703 later if appropriate, which they aren't always (e.g. LVM).
24704
e03ed6c1
CW
247052010-07-02 Colin Watson <cjwatson@ubuntu.com>
24706
24707 * include/grub/misc.h (grub_reboot): Declare as noreturn.
24708 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
24709 fails.
24710 (grub_halt): Likewise.
24711 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
24712 reset-all fails.
24713 (grub_halt): Don't return, even if all of shut-down, power-off, and
24714 poweroff fail.
24715
47695765
CW
247162010-07-02 Colin Watson <cjwatson@ubuntu.com>
24717
24718 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
24719 arguments, not three.
24720
507736c8
CW
247212010-07-02 Colin Watson <cjwatson@ubuntu.com>
24722
24723 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
24724 * util/grub.d/10_linux.in: Use it to check for LVM, so that
24725 LVM-on-RAID is handled correctly.
24726
e3c8cd37
CW
247272010-07-02 Colin Watson <cjwatson@ubuntu.com>
24728
24729 * docs/grub.texi (Changes from GRUB Legacy): New section.
24730 (Future): Fix typo.
24731
8d4a2fec
CW
247322010-07-02 Colin Watson <cjwatson@ubuntu.com>
24733
24734 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
24735 grub.d/README accidentally ends up executable for one reason or
24736 another. Ignore it.
24737
1c4827be
VS
247382010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24739
24740 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
24741 (gpt_partition_map_iterate): Support non-512B sectors.
24742
d9a0c941
VS
247432010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24744
24745 * kern/efi/init.c (grub_efi_init): Disable watchdog.
24746 Tested by: Seth Goldberg.
24747
48f27e87
VS
247482010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24749
24750 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
24751 Properly align mbi.
24752 Reported by: Seth Goldberg.
24753
b0c4f956
VS
247542010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
24755
24756 * util/grub-mkrescue.in: Avoid module duplication.
24757
105a2e8c
SF
247582010-07-01 Sean Finney <seanius@seanius.net>
24759
24760 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
24761
5944958c
SF
247622010-07-01 Sean Finney <seanius@seanius.net>
24763
24764 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
24765
247662010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
24767
24768 * disk/lvm.c (grub_lvm_checkvalue): New function.
24769 (grub_lvm_check_flag): Likewise.
24770
b79889ba
RM
247712010-07-01 Robert Millan <rmh@gnu.org>
24772
24773 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
24774 Support 'p' as partition separator on kernel of FreeBSD (used
24775 with GPT labels).
24776 (grub_util_biosdisk_get_grub_dev): Likewise.
24777
ec1d04f1
VS
247782010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
24779
24780 Yeeloong firmware port.
24781
24782 * boot/mips/yeeloong/fwstart.S: New file.
24783 * bus/cs5536.c (gpiodump): New const.
24784 (set_io_space): New function.
24785 (set_iod): Likewise.
24786 (set_p2d): Likewise.
24787 (grub_cs5536_init_geode): Likewise.
24788 * commands/mips/yeeloong/lsspd.c: New file.
24789 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
24790 (serial_mod_SOURCES): New variable.
24791 (serial_mod_CFLAGS): Likewise.
24792 (serial_mod_LDFLAGS): Likewise.
24793 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
24794 term/terminfo.c and term/tparm.c.
24795 (pkglib_IMAGES): Add fwstart.img.
24796 (fwstart_img_SOURCES): New variable.
24797 (fwstart_img_CFLAGS): Likewise.
24798 (fwstart_img_ASFLAGS): Likewise.
24799 (fwstart_img_LDFLAGS): Likewise.
24800 (fwstart_img_FORMAT): Likewise.
24801 (pkglib_MODULES): Add lsspd.mod.
24802 (lsspd_mod_SOURCES): New variable.
24803 (lsspd_mod_CFLAGS): Likewise.
24804 (lsspd_mod_LDFLAGS): Likewise.
24805 (pkglib_MODULES): Add halt.mod.
24806 (halt_mod_SOURCES): New variable.
24807 (halt_mod_CFLAGS): Likewise.
24808 (halt_mod_LDFLAGS): Likewise.
24809 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
24810 (serial_mod_SOURCES): Removed.
24811 (serial_mod_CFLAGS): Likewise.
24812 (serial_mod_LDFLAGS): Likewise.
24813 * disk/ata.c (check_device): New function.
24814 (grub_ata_device_initialize): Use check_device.
24815 (grub_ata_iterate): Recheck devices.
24816 (grub_ata_open): Likewise.
24817 (grub_atapi_iterate): Likewise.
24818 (grub_atapi_open): Likewise.
24819 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
24820 (GRUB_ATA_CH1_PORT1): Likewise.
24821 (GRUB_ATA_CH0_PORT2): Likewise.
24822 (GRUB_ATA_CH1_PORT2): Likewise.
24823 * include/grub/mips/loongson.h: New file.
24824 * include/grub/mips/yeeloong/ec.h: Likewise.
24825 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
24826 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
24827 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
24828 * include/grub/misc.h (grub_halt): Declare as noreturn.
24829 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
24830 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
24831 (UART_ENABLE_FIFO_TRIGGER1): New definition.
24832 (UART_ENABLE_DTRRTS): Likewise.
24833 (UART_ENABLE_MODEM): Removed.
24834 (UART_ENABLE_OUT2): New const.
24835 * include/grub/term.h (grub_term_register_input_active): New function.
24836 (grub_term_register_output_active): Likewise.
24837 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
24838 argument.
24839 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
24840 (init_pci): New function.
24841 (grub_machine_init): Execute platform init when firmware. Init serial.
24842 (grub_halt): Implement.
24843 (grub_exit): Likewise.
24844 (grub_reboot): Likewise.
24845 * term/serial.c (serial_hw_init): Update macros.
24846 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
24847 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
24848 (image_targets): New target mipsel-yeeloong-flash.
24849 (generate_image): Support IMAGE_YEELOONG_FLASH.
24850 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
24851 (grub_video_sm712_setup): Init card.
24852 (grub_video_sm712_set_palette): Removed.
24853 * video/sm712_init.c: New file.
24854
ff4a70d2
CW
248552010-06-30 Colin Watson <cjwatson@ubuntu.com>
24856
24857 * Makefile.in (install-local): Temporarily prepend $(builddir) to
24858 PATH when running help2man and then run it on the unadorned
24859 executable names, rather than passing $(builddir)/* paths to
24860 help2man. This avoids the build directory ending up in generated
24861 manual pages.
24862
1246efeb
CW
248632010-06-29 Colin Watson <cjwatson@ubuntu.com>
24864
24865 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
24866 to avoid accidents when debugging with 'sh -x'.
24867 * util/grub-mkrescue.in: Likewise.
24868 * util/grub.d/00_header.in: Likewise.
24869 * util/grub.d/10_hurd.in: Likewise.
24870 * util/grub.d/10_kfreebsd.in: Likewise.
24871 * util/grub.d/10_linux.in: Likewise.
24872 * util/grub.d/10_netbsd.in: Likewise.
24873 * util/grub.d/10_windows.in: Likewise.
24874 * util/grub.d/20_linux_xen.in: Likewise.
24875 * util/grub.d/30_os-prober.in: Likewise.
24876 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
24877
1ba9b889
CW
248782010-06-29 Colin Watson <cjwatson@ubuntu.com>
24879
24880 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
24881 last character in the buffer.
24882 Reported by: Vladimir Serbinenko.
24883
dccaf99d
RM
248842010-06-29 Robert Millan <rmh@gnu.org>
24885
24886 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
24887 (Command-line and menu entry commands): Document `badram' command.
24888
d500ed12
RM
248892010-06-28 Robert Millan <rmh@gnu.org>
24890
24891 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
24892 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
24893 command using ${GRUB_BADRAM} as parameter.
24894
20bc84a6
CW
248952010-06-28 Colin Watson <cjwatson@ubuntu.com>
24896
24897 * docs/grub.texi (Device map): New section.
24898 (Themes): New section (stub).
24899 * Makefile.in (docs/grub.info): The info documentation now builds
24900 without errors. Make sure it stays that way.
24901
4045dee1
VS
249022010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
24903
24904 Use normal parser for menu entries.
24905 Reported by: Thomas Frauendorfer
24906
24907 * include/grub/parser.h (grub_parser_execute): Don't export.
24908 * normal/menu.c (grub_menu_execute_entry_real): New function.
24909 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
24910
bca58c7b
CW
249112010-06-28 Colin Watson <cjwatson@ubuntu.com>
24912
24913 * docs/grub.texi (Embedded configuration): New section (replacing
24914 old "Preset Menu" stub).
24915 (Images): New section.
24916 (configfile): Note that any menu entries defined in `file' are shown
24917 immediately.
24918
dec53e63
JT
249192010-06-28 Josh Triplett <josh@joshtriplett.org>
24920
24921 * mmap/i386/pc/mmap_helper.S: Set CF on return.
24922
c06e40f7
CW
249232010-06-28 Colin Watson <cjwatson@ubuntu.com>
24924
24925 * util/grub-install.in: Add --debug-image= option.
24926
cb88052b
CW
249272010-06-28 Colin Watson <cjwatson@ubuntu.com>
24928
24929 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
24930 possible on Linux.
24931
24932 * util/deviceiter.c (check_device): Rename to ...
24933 (check_device_readable_unique): ... this. Update all callers.
24934 Maintain and check a list of which devices (by canonicalized name)
24935 have already been seen.
24936 (clear_seen_devices): New function.
24937 (compare_file_names) [__linux__]: New function.
24938 (grub_util_iterate_devices): Clear the list of seen devices on exit
24939 and (just in case) on entry.
24940 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
24941 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
24942 seen-devices list, superseded by general code in check_device.
24943
bbe34652
CW
249442010-06-28 Colin Watson <cjwatson@ubuntu.com>
24945
24946 * commands/cat.c (options): New variable.
24947 (grub_cmd_cat): Parse options. If the --dos option is given, print
24948 DOS-style "\r\n" line endings as simple newlines (Debian bug
24949 #586358).
24950 (GRUB_MOD_INIT): Use extcmd.
24951 (GRUB_MOD_FINI): Likewise.
24952 * docs/grub.texi (cat): Document --dos.
24953
412e09f3
VS
249542010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
24955
24956 XEN with Linux grub-mkconfig support.
24957
24958 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
24959 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
24960 GRUB_CMDLINE_XEN_DEFAULT.
24961 * util/grub.d/20_linux_xen.in: New file.
24962
53f3ef38 249632010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
24964
24965 Initialise VGA video on qemu ourselves.
24966
24967 * boot/i386/qemu/boot.S: Don't call 0xc000.
24968 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
24969 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
24970 (kernel_img_HEADERS): Add pci.h.
24971 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
24972 * configure.ac: Force unifont on qemu and yeeloong.
24973 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
24974 (grub_vga_palette_write): Use correct register.
24975 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
24976 Call grub_qemu_init_cirrus.
24977 * kern/i386/qemu/init.c: New file.
24978 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
24979
24980 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
24981
c75be4fb
PR
249822010-06-26 Pavel Roskin <proski@gnu.org>
24983
24984 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
24985 13.
24986
d8034603
CW
249872010-06-26 Colin Watson <cjwatson@ubuntu.com>
24988
24989 * docs/grub.texi (Simple configuration): Explain that
24990 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
24991 set to `true' to disable their respective recovery entries, not
24992 merely set.
24993
3fa06487
CW
249942010-06-26 Colin Watson <cjwatson@ubuntu.com>
24995
24996 Make the `source' command slightly faster.
24997
24998 * normal/main.c (grub_normal_execute): Don't re-read list files when
24999 nested.
25000
e9b29642
CW
250012010-06-23 Colin Watson <cjwatson@ubuntu.com>
25002
25003 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
25004 field position and mask size to red fields from mode_info, not
25005 green.
25006 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
25007 Remove redundant tag->common.framebuffer_type assignment.
25008 Reported by: Seth Goldberg.
25009
e726542f
CW
250102010-06-23 Colin Watson <cjwatson@ubuntu.com>
25011
25012 Sync up other versions of the Linux loader with Robert Millan's
25013 change of 2010-01-09, "Make loader output a bit more user-friendly".
25014
25015 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
25016 grub_dprintf().
25017 (grub_cmd_linux): Likewise.
25018 (grub_cmd_initrd): Likewise.
25019 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
25020 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
25021
d6e98a17
CW
250222010-06-21 Colin Watson <cjwatson@ubuntu.com>
25023
25024 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
25025 larger than MEMORY_MAP_SIZE.
25026
14d3f08e
BC
250272010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
25028
25029 Fix parallel build.
25030
25031 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
25032 dependency.
25033 * script/parser.y: #include grub_script.tab.h header.
25034
4f9613a3
VS
250352010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
25036
25037 Support >3GiB and <16MiB RAM in i386-qemu.
25038
25039 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
25040 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
25041 (grub_lower_mem): Removed.
25042 (grub_upper_mem): Likewise.
25043 (mem_size): Made static.
25044 (above_4g): New variable.
25045 (grub_machine_mmap_init): Detect small mem_size and above_4g.
25046 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
25047 support.
25048
05e51879
VS
250492010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
25050
25051 Cirrus 5446 and Bochs video cards support.
25052
25053 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
25054 video_bochs.mod
25055 (video_cirrus_mod_SOURCES): New variable.
25056 (video_cirrus_mod_CFLAGS): Likewise.
25057 (video_cirrus_mod_LDFLAGS): Likewise.
25058 (video_bochs_mod_SOURCES): Likewise.
25059 (video_bochs_mod_CFLAGS): Likewise.
25060 (video_bochs_mod_LDFLAGS): Likewise.
25061 * include/grub/vga.h: New file.
25062 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
25063 (grub_video_fb_set_page_t): New type.
25064 (grub_video_fb_setup): New prototype.
25065 (grub_video_fb_swap_buffers): Likewise.
25066 (grub_video_fb_get_info_and_fini): Likewise.
25067 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
25068 (CRTC_DATA_PORT): Likewise.
25069 (CRTC_CURSOR): Likewise.
25070 (CRTC_CURSOR_ADDR_HIGH): Likewise.
25071 (CRTC_CURSOR_ADDR_LOW): Likewise.
25072 (CRTC_CURSOR_DISABLE): Likewise.
25073 (update_cursor): Use grub_vga_cr_write.
25074 (grub_vga_text_setcursor): Likewise.
25075 * video/bochs.c: New file.
25076 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
25077 (palette): Likewise.
25078 (palette_size): Likewise.
25079 (framebuffer): New variable.
25080 (grub_video_fb_init): Use 'framebuffer'.
25081 (grub_video_fb_fini): Likewise.
25082 (grub_video_fb_get_info): Likewise.
25083 (grub_video_fb_get_palette): Likewise.
25084 (grub_video_fb_set_palette): Likewise.
25085 (grub_video_fb_set_viewport): Likewise.
25086 (grub_video_fb_get_viewport): Likewise.
25087 (grub_video_fb_map_color): Likewise.
25088 (grub_video_fb_map_rgb): Likewise.
25089 (grub_video_fb_map_rgba): Likewise.
25090 (grub_video_fb_unmap_color): Likewise.
25091 (grub_video_fb_unmap_color_int): Likewise.
25092 (grub_video_fb_fill_rect): Likewise.
25093 (grub_video_fb_blit_bitmap): Likewise.
25094 (grub_video_fb_blit_render_target): Likewise.
25095 (grub_video_fb_scroll): Likewise.
25096 (grub_video_fb_create_render_target): Likewise.
25097 (grub_video_fb_doublebuf_blit_init): Likewise.
25098 (grub_video_fb_set_active_render_target): Handle doublebuffering.
25099 (doublebuf_pageflipping_update_screen): New function.
25100 (doublebuf_pageflipping_init): Likewise.
25101 (grub_video_fb_setup): Likewise.
25102 (grub_video_fb_swap_buffers): Likewise.
25103 (grub_video_fb_get_info_and_fini): Likewise.
25104 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
25105 All users updated.
25106 (doublebuf_pageflipping_commit): Restructured into ...
25107 (doublebuf_pageflipping_set_page): ... this.
25108 (doublebuf_pageflipping_update_screen): Removed.
25109 (doublebuf_pageflipping_init): Likewise.
25110 (double_buffering_init): Likewise.
25111 (grub_video_vbe_setup): Use grub_video_fb_setup.
25112 (grub_video_vbe_swap_buffers): Removed.
25113 (grub_video_vbe_set_active_render_target): Likewise.
25114 (grub_video_vbe_get_active_render_target): Likewise.
25115 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
25116 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
25117 grub_video_fb_set_active_render_target and
25118 grub_video_fb_get_active_render_target.
25119 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
25120 (SEQUENCER_DATA_PORT): Likewise.
25121 (MAP_MASK_REGISTER): Likewise.
25122 (CRTC_ADDR_PORT): Likewise.
25123 (CRTC_DATA_PORT): Likewise.
25124 (START_ADDR_HIGH_REGISTER): Likewise.
25125 (START_ADDR_LOW_REGISTER): Likewise.
25126 (GRAPHICS_ADDR_PORT): Likewise.
25127 (GRAPHICS_DATA_PORT): Likewise.
25128 (READ_MAP_REGISTER): Likewise.
25129 (INPUT_STATUS1_REGISTER): Likewise.
25130 (INPUT_STATUS1_VERTR_BIT): Likewise.
25131 (get_map_mask): Use grub_vga_sr_read.
25132 (set_map_mask): Use grub_vga_sr_write.
25133 (set_read_map): Use grub_vga_gr_write.
25134 (set_start_address): Use grub_vga_cr_write.
25135 * video/sm712.c (framebuffer): Remove leftover fields.
25136
4321c64a
CW
251372010-06-20 Colin Watson <cjwatson@ubuntu.com>
25138
25139 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
25140 setting GRUB_VIDEO_BACKEND. Make it available as a user override
25141 instead. Replace the gfxterm backend check with a check that
25142 ${GRUB_PREFIX}/video.lst is non-empty.
25143 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
25144 again.
25145 (load_video): New generated function. Call it before loading
25146 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
25147 * util/grub.d/10_linux.in (linux_entry): Call load_video.
25148 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
25149 * docs/grub.texi (Simple configuration): Document
25150 GRUB_VIDEO_BACKEND.
25151
251522010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
25153
25154 Use video functions in linux and xnu loaders.
25155
25156 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
25157 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
25158 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
25159 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
25160 loader/i386/pc/linux.c.
25161 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
25162 (find_line_len): Removed.
25163 (find_framebuf): Likewise.
25164 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
25165 * loader/i386/efi/xnu.c: Removed.
25166 * loader/i386/pc/xnu.c: Moved from here...
25167 * loader/i386/xnu.c: ...here.
25168
25169 Enable priorities in video drivers.
25170
25171 * include/grub/video.h (grub_video_adapter_prio_t): New type.
25172 (grub_video_adapter): New field prio.
25173 (grub_video_register): Respect prio when inserting.
25174 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
25175 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
25176 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
25177 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
25178 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
25179 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
25180 * video/sm712.c (grub_video_sm712_adapter): Likewise.
25181
25182 Fix SDL driver ID.
25183
25184 * include/grub/video.h (grub_video_driver_id_t): New value
25185 GRUB_VIDEO_DRIVER_SDL.
25186 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
25187
7d24e434
CW
251882010-06-17 Colin Watson <cjwatson@ubuntu.com>
25189
25190 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
25191 argument to printf.
25192 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
25193
c88a83f6
CW
251942010-06-17 Colin Watson <cjwatson@ubuntu.com>
25195
25196 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
25197 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
25198
094dfb69
CW
251992010-06-17 Colin Watson <cjwatson@ubuntu.com>
25200
25201 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
25202 directly, and recommend grub-install instead.
25203 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
25204
2164da6b
CW
252052010-06-17 Colin Watson <cjwatson@ubuntu.com>
25206
25207 Fix i386-pc prefix handling with nested partitions (Debian bug
25208 #585068). Note that the case where the core image is booted using
25209 multiboot and relocated from its original location still requires
25210 more work.
25211
25212 * kern/i386/pc/init.c (make_install_device): If the prefix starts
25213 with "(,", fill the boot drive in between those two characters, but
25214 expect that a full partition specification including partition map
25215 names will follow.
25216 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
25217 specified, write a prefix without the drive name but including a
25218 full partition specification.
25219
044e2e60
CW
252202010-06-16 Colin Watson <cjwatson@ubuntu.com>
25221
25222 * util/grub-mkconfig.in: Ignore non-option arguments, for
25223 compatibility with older versions (before 2010-06-12) which did the
25224 same. In particular, this makes it easier to ship an update-grub
25225 wrapper which is compatible with that used with GRUB Legacy (Debian
25226 bug #586056).
25227
5591324f
GS
252282010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
25229
25230 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
25231 for manual page generation.
25232
662e24d5
GS
252332010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
25234
25235 * po/POTFILES: Remove leftover commands/handler.c.
25236
8d70754e
CW
252372010-06-14 Colin Watson <cjwatson@ubuntu.com>
25238
25239 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
25240 left this script non-functional.
25241
41160e2e
CW
252422010-06-14 Colin Watson <cjwatson@ubuntu.com>
25243
25244 * docs/man/grub-emu.h2m: New file.
25245
b5309cc1
CW
252462010-06-13 Colin Watson <cjwatson@ubuntu.com>
25247
25248 * docs/grub.texi (Commands): Document reduced command set in rescue
25249 mode.
25250 (cpuid): New section.
25251
fcb2d090
GS
252522010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
25253
25254 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
25255 new partition naming style.
25256 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
25257
96e5c556
BC
252582010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
25259
25260 Add "-o grub.iso" like cmdline options support.
25261
25262 * util/grub-install.in: Improve cmdline option parsing.
25263 * util/grub-mkconfig.in: Likewise.
25264 * util/grub-mkrescue.in: Likewise.
25265 * util/grub-reboot.in: Likewise.
25266 * util/grub-set-default.in: Likewise.
25267 * util/i386/efi/grub-install.in: Likewise.
25268 * util/ieee1275/grub-install.in: Likewise.
25269 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
25270
c16be99b
CW
252712010-06-12 Colin Watson <cjwatson@ubuntu.com>
25272
25273 * .bzrignore: Ignore 41_custom.
25274
ce08a9fb
TS
252752010-06-12 Thomas Schmitt <scdbackup@gmx.net>
25276
25277 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
25278
7beac90c
CW
252792010-06-12 Colin Watson <cjwatson@ubuntu.com>
25280
25281 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
25282 prototype declarations.
25283
25284 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
25285 generating fs, partmap, and video lists.
25286 * include/grub/fs.h (grub_fs_register): Omit prototype if
25287 GRUB_LST_GENERATOR is defined.
25288 * include/grub/partition.h (grub_partition_map_register): Likewise.
25289 * include/grub/video.h (grub_video_register): Likewise.
25290
1c8f0f8d
JM
252912010-06-12 Javier Martín <lordhabbit@gmail.com>
25292
25293 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
25294
a6085973
TS
252952010-06-12 Thomas Schmitt <scdbackup@gmx.net>
25296
25297 * util/grub-mkrescue.in: Support --xorriso argument.
25298
25c56d29
VS
252992010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
25300
25301 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
25302 Suggested by: Thomas Schmitt.
25303
e03e4b24
VS
253042010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
25305
25306 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
25307 Suggested by: Thomas Schmitt.
25308
57711df6
VS
253092010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
25310
25311 custom.cfg support.
25312
25313 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
25314 * util/grub.d/41_custom.in: New file.
25315
ee62c427
CW
253162010-06-12 Colin Watson <cjwatson@ubuntu.com>
25317
25318 * util/grub-mkrescue.in (make_image): Remove sh module, which has
25319 been merged back into normal.
25320
283af07a
CW
253212010-06-11 Colin Watson <cjwatson@ubuntu.com>
25322
25323 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
25324 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
25325
56a0d956
CW
253262010-06-11 Colin Watson <cjwatson@ubuntu.com>
25327
25328 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
25329 when generating manual pages.
25330 * docs/man/grub-bin2h.h2m: New file.
25331 * docs/man/grub-editenv.h2m: New file.
25332 * docs/man/grub-fstest.h2m: New file.
25333 * docs/man/grub-install.h2m: New file.
25334 * docs/man/grub-macho2img.h2m: New file.
25335 * docs/man/grub-mkconfig.h2m: New file.
25336 * docs/man/grub-mkdevicemap.h2m: New file.
25337 * docs/man/grub-mkfont.h2m: New file.
25338 * docs/man/grub-mkimage.h2m: New file.
25339 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
25340 * docs/man/grub-mkrelpath.h2m: New file.
25341 * docs/man/grub-mkrescue.h2m: New file.
25342 * docs/man/grub-ofpathname.h2m: New file.
25343 * docs/man/grub-pe2elf.h2m: New file.
25344 * docs/man/grub-probe.h2m: New file.
25345 * docs/man/grub-reboot.h2m: New file.
25346 * docs/man/grub-script-check.h2m: New file.
25347 * docs/man/grub-set-default.h2m: New file.
25348 * docs/man/grub-setup.h2m: New file.
25349
3a37e322
VS
253502010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
25351
25352 Use FOR_* macros instead of *_iterate whenever possible.
25353
25354 * commands/handler.c: Removed.
25355 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
25356 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
25357 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
25358 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
25359 (grub_probe_SOURCES): Remove kern/parser.c.
25360 (util/grub-script-check.c_DEPENDENCIES): Removed.
25361 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
25362 and grub_script_check_init.c.
25363 (grub_script_check_init.lst): Removed.
25364 (grub_script_check_init.h): Likewise.
25365 (grub_script_check_init.c): Likewise.
25366 (pkglib_MODULES): Remove handler.mod and sh.mod.
25367 (handler_mod_SOURCES): Removed.
25368 (handler_mod_CFLAGS): Likewise.
25369 (handler_mod_LDFLAGS): Likewise.
25370 (normal_mod_SOURCES): Remove normal/handler.c.
25371 Add script/main.c, script/script.c, script/execute.c,
25372 script/function.c, script/lexer.c, grub_script.tab.c
25373 and grub_script.yy.c.
25374 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
25375 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
25376 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
25377 (grub_setup_SOURCES): Remove kern/parser.c.
25378 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
25379 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
25380 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
25381 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
25382 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
25383 (grub_setup_SOURCES): Remove kern/parser.c.
25384 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
25385 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
25386 * include/grub/command.h (grub_command_iterate): Removed.
25387 (FOR_COMMANDS): New macro.
25388 * include/grub/dl.h (grub_dl): New member next.
25389 (grub_dl_iterate): Removed.
25390 (grub_dl_head): New variable declaration.
25391 (FOR_DL_MODULES): New macro.
25392 * include/grub/fs.h: Include list.h.
25393 (grub_fs): Make next first element.
25394 (grub_fs_list): New variable declaration.
25395 (grub_fs_register): Make inline.
25396 (grub_fs_unregister): Likewise.
25397 (grub_fs_iterate): Removed.
25398 (FOR_FILESYSTEMS): New macro.
25399 * include/grub/handler.h: Removed.
25400 * include/grub/list.h (grub_list_hook_t): Removed.
25401 (grub_list_test_t): Likewise.
25402 (grub_list_pop): Likewise.
25403 (grub_list_iterate): Likewise.
25404 (grub_list_insert): Likewise.
25405 (FOR_LIST_ELEMENTS): New macro.
25406 * include/grub/parser.h (grub_parser_class): Removed.
25407 (grub_parser_register): Likewise.
25408 (grub_parser_unregister): Likewise.
25409 (grub_parser_get_current): Likewise.
25410 (grub_parser_set_current): Likewise.
25411 (grub_register_rescue_parser): Likewise.
25412 (grub_rescue_parse_line): New function.
25413 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
25414 * include/grub/script_sh.h (grub_script_function_list): New variable
25415 declaration.
25416 (FOR_SCRIPT_FUNCTIONS): New macro.
25417 (grub_script_function_iterate): Removed.
25418 (grub_normal_parse_line): New prototype.
25419 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
25420 (FOR_DISABLED_TERM_INPUTS): Likewise.
25421 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
25422 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
25423 * include/grub/video.h (grub_video_adapter): Move 'next' to first
25424 element.
25425 (grub_video_register): Inline.
25426 (grub_video_unregister): Likewise.
25427 (grub_video_adapter_list): New variable declaration.
25428 (grub_video_iterate): Removed.
25429 (FOR_VIDEO_ADAPTERS): New macro.
25430 * kern/dl.c (grub_dl_list): Removed. All users updated.
25431 (grub_dl_iterate): Removed.
25432 * kern/fs.c (grub_fs_list): Make global.
25433 (grub_fs_register): Removed.
25434 (grub_fs_unregister): Likewise.
25435 (grub_fs_iterate): Likewise.
25436 * kern/handler.c: Removed.
25437 * kern/list.c (grub_list_pop): Removed.
25438 (grub_list_iterate): Likewise.
25439 (grub_list_insert): Likewise.
25440 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
25441 (grub_prio_list_insert): Don't use grub_list_insert.
25442 * kern/main.c (grub_register_rescue_parser): Don't call
25443 grub_register_rescue_parser.
25444 * kern/parser.c (grub_parser_class): Removed.
25445 (grub_parser_execute): Use grub_rescue_parse_line.
25446 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
25447 (grub_rescue_parser): Removed.
25448 (grub_register_rescue_parser): Likewise.
25449 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
25450 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
25451 (grub_auth_check_authentication): Likewise.
25452 * normal/completion.c (iterate_command): Removed.
25453 (grub_normal_do_completion): Use FOR_COMMANDS.
25454 * normal/handler.c: Removed.
25455 * normal/main.c (read_config_file): Remove parser changing.
25456 (grub_normal_execute): Don't call read_handler_list.
25457 (grub_normal_read_line_real): Statically allocate prompt.
25458 (grub_cmdline_run): Use grub_normal_parse_line.
25459 (GRUB_MOD_FINI): Don't call free_handler_list.
25460 * normal/menu_entry.c (run): Likewise.
25461 * script/function.c (grub_script_function_list): Make global.
25462 (grub_script_function_iterate): Removed.
25463 * script/main.c (grub_normal_parse_line): Make global.
25464 (grub_sh_parser): Removed.
25465 (GRUB_MOD_INIT): Likewise.
25466 (GRUB_MOD_FINI): Likewise.
25467 * tests/lib/functional_test.c (grub_functional_test): Use
25468 FOR_LIST_ELEMENTS.
25469 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
25470 (grub_test_run): Use FOR_LIST_ELEMENTS.
25471 * tests/lib/unit_test.c (main): Likewise.
25472 * util/deviceiter.c (grub_util_iterate_devices): Don't use
25473 grub_list_pop.
25474 * util/grub-fstest.c (grub_term_input_class): Removed.
25475 (grub_term_output_class): Likewise.
25476 * util/grub-probe.c: Likewise.
25477 * util/i386/pc/grub-setup.c: Likewise.
25478 * util/sparc64/ieee1275/grub-setup.c: Likewise.
25479 * util/grub-script-check.c (main): Don't call grub_init_all and
25480 grub_fini_all.
25481 * video/video.c (grub_video_adapter_list): Make global.
25482 (grub_video_register): Removed.
25483 (grub_video_unregister): Likewise.
25484 (grub_video_iterate): Likewise.
25485
6289c3a7
VS
254862010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
25487
25488 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
25489 reported by Henrique Ferreiro.
25490
91460247
RM
254912010-06-09 Robert Millan <rmh@gnu.org>
25492
25493 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
25494 ones, when both are available.
25495
0ea7c4f9
GS
254962010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
25497
25498 Make --version uniform and avoid hard-coded program name.
25499
25500 * util/grub-mkimage.c (main): Use `program_name' instead of
25501 hard-coded string.
25502 * util/i386/pc/grub-setup.c (main): Likewise.
25503 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
25504 * util/grub-install.in: Save the basename of $0 in $self, and use the
25505 latter in informational messages. Use the same format for --version
25506 as the binary programs.
25507 * util/grub-mkconfig.in: Likewise.
25508 * util/grub-mkrescue.in: Likewise.
25509 * util/grub-reboot.in: Likewise.
25510 * util/grub-set-default.in: Likewise.
25511 * util/i386/efi/grub-install.in: Likewise.
25512 * util/ieee1275/grub-install.in: Likewise.
25513 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
25514
e8a6f3b6
GS
255152010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
25516
25517 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
25518 embedding area. Use <= instead of == when checking for non-emptiness.
25519
f4d095d7
GS
255202010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
25521
25522 * configure.ac: Add `.' to the directories searched for unifont.
25523
50e532ca
CW
255242010-06-08 Colin Watson <cjwatson@ubuntu.com>
25525
25526 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
25527 grub_script.yy.h.
25528
d39f3dec
CW
255292010-06-08 Colin Watson <cjwatson@ubuntu.com>
25530
25531 * docs/grub.texi (History): Expand to cover GRUB 2.
25532 (Serial terminal): Refer to `terminal_input' and `terminal_output'
25533 commands, not `terminal'.
25534 (serial): Likewise.
25535 (terminal_input): New section.
25536 (terminal_output): New section.
25537 (uppermem): New section (stub).
25538 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
25539
6ef0ddb4
CW
255402010-06-08 Colin Watson <cjwatson@ubuntu.com>
25541
25542 * docs/grub.texi (Security): Menu entries are unrestricted by
25543 default, not restricted to superusers as I had previously thought.
25544 Reword to account for this.
25545
e0f4c438
CW
255462010-06-07 Colin Watson <cjwatson@ubuntu.com>
25547
25548 * kern/emu/misc.c (device_mapper_null_log): New function.
25549 (grub_device_mapper_supported): New function.
25550 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
25551 prototype.
25552 * kern/emu/hostdisk.c (find_partition_start): Check whether
25553 device-mapper is supported before trying to use it.
25554 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
25555
da908200
CW
255562010-06-07 Colin Watson <cjwatson@ubuntu.com>
25557
25558 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
25559 (File name syntax): Likewise.
25560 (help): --all is no longer supported in GRUB 2. Be more precise
25561 about pattern matching.
25562
fb55c3ac
CW
255632010-06-07 Colin Watson <cjwatson@ubuntu.com>
25564
25565 * normal/completion.c (grub_normal_do_completion): When completing
25566 arguments to "set" and the current word contains an equals sign,
25567 skip to after the equals sign before starting completion.
25568
258c2573
CW
255692010-06-07 Colin Watson <cjwatson@ubuntu.com>
25570
25571 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
25572
ee75515e
CW
255732010-06-07 Colin Watson <cjwatson@ubuntu.com>
25574
25575 * docs/grub.texi (Network): New section.
25576 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
25577 `(nd)' as in GRUB Legacy.
25578 (pxe_unload): New section.
25579
a6a700aa
CW
255802010-06-07 Colin Watson <cjwatson@ubuntu.com>
25581
25582 * docs/grub.texi (Troubleshooting): `echo' is not usually available
25583 in the rescue shell, so recommend using `set' instead. Thanks,
25584 Jordan Uggla.
25585
4003dd38
CW
255862010-06-07 Colin Watson <cjwatson@ubuntu.com>
25587
25588 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
25589 (password): New section.
25590 (password_pbkdf2): New section.
25591 (search): New section.
25592 (Security): New section.
25593 (Troubleshooting): New section, currently very incomplete.
25594 (Invoking grub-mkpasswd-pbkdf2): New section.
25595 (Internals): New section, currently very incomplete.
25596
e1cbcc40
CW
255972010-06-07 Colin Watson <cjwatson@ubuntu.com>
25598
25599 * util/grub.d/00_header.in: Add some more quoting (of
25600 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
25601 work again.
25602 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
25603
db8fa1ad
CW
256042010-06-07 Colin Watson <cjwatson@ubuntu.com>
25605
25606 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
25607 to `count', fixing variable shadowing that broke the -c option.
25608
256092010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
25610
25611 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
25612 in case they contain spaces.
25613
f28a9212
CW
256142010-06-04 Colin Watson <cjwatson@ubuntu.com>
25615
25616 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
25617 "part_" to partmap module names, in line with grub-install.
25618 Reported by: Jindřich Makovička (Debian bug #584426).
25619
9cdfe32f
CW
256202010-06-04 Colin Watson <cjwatson@ubuntu.com>
25621
25622 * util/grub-mkimage.c: Make target-related error messages slightly
25623 more helpful; -O talks about "format". Explicitly point to the use
25624 of -O if no target is specified.
25625 Reported by: Didier Raboud (Debian bug #584415).
25626
795b593a
CW
256272010-06-03 Colin Watson <cjwatson@ubuntu.com>
25628
25629 * INSTALL: Document several build requirements for optional features
25630 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
25631
9d9b5833
GS
256322010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
25633
25634 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
25635 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
25636 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
25637
0819fec8
CW
256382010-06-02 Colin Watson <cjwatson@ubuntu.com>
25639
25640 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
25641 Thanks to Jordan Uggla for spotting this.
25642
49396b4f
VS
256432010-06-02 Aleš Nesrsta <starous@volny.cz>
25644
25645 Finally make USB usable.
25646
25647 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
25648 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
25649 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
25650 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
25651 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
25652 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
25653 (GRUB_OHCI_FSMPS): Likewise.
25654 (GRUB_OHCI_PERIODIC_START): Likewise.
25655 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
25656 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
25657 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
25658 (GRUB_OHCI_SET_PORT_RESET): Likewise.
25659 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
25660 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
25661 (grub_ohci_transaction): Likewise.
25662 (grub_ohci_transfer): Improve condition detection algorithms.
25663 Handle toggle property. Program the transactions correctly.
25664 Improve error handling. Various important fixups.
25665 (grub_ohci_portstatus): Put register writes in right order.
25666 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
25667 (grub_uhci_transfer): Don't show "failed" message on success.
25668 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
25669 array.
25670 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
25671 determine its size.
25672 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
25673 before initialization is completed. Use IN direction for empty
25674 transfers. Use last_trans and compute toggle.
25675 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
25676 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
25677 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
25678 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
25679 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
25680 (grub_usb_device): Increase toggle to 256.
25681 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
25682 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
25683 GRUB_USBMS_SUBCLASS_SFF8070.
25684 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
25685 (grub_scsi_inquiry): New member page and alloc_length.
25686 (grub_scsi_request_sense): New structure.
25687 (grub_scsi_request_sense_data): Likewise.
25688 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
25689 control.
25690 * disk/scsi.c (grub_scsi_request_sense): New function.
25691 (grub_scsi_test_unit_ready): Likewise.
25692 (grub_scsi_inquiry): Fill new fields.
25693 (grub_scsi_read_capacity): Likewise.
25694 (grub_scsi_read10): Add request sense at the end.
25695 (grub_scsi_read12): Likewise.
25696 (grub_scsi_write10): Likewise.
25697 (grub_scsi_write12): Likewise.
25698 (grub_scsi_open): Add Test Unit Ready.
25699 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
25700 Support additional subclasses. Con't clear halt yet. Activate the
25701 proper config. Calculate LUNs correctly.
25702 (grub_usbms_transfer): Various important fixups.
25703
257042010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
25705
25706 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
25707 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
25708 (grub_ohci_fini_hw): New function.
25709 (grub_ohci_restore_hw): Likewise.
25710 (GRUB_MOD_INIT(ohci)): Register preboot hook.
25711 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
25712 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
25713
257142010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
25715
25716 Dedicated DMA allocations.
25717
25718 * bus/pci.c (grub_memalign_dma32): New function
25719 (grub_dma_free): Likewise.
25720 (grub_dma_get_virt): Likewise.
25721 (grub_dma_get_phys): Likewise.
25722 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
25723 (grub_ohci_pci_iter): Use dma32_alloc.
25724 (grub_ohci_transfer): Likewise.
25725 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
25726 (grub_usb_bulk_readwrite): Likewise.
25727 * include/grub/pci.h: Add declarations.
25728
257292010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
25730
25731 CS5536 support.
25732
25733 * bus/cs5536.c: New file.
25734 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
25735 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
25736 (cs5536_mod_SOURCES): New variable.
25737 (cs5536_mod_CFLAGS): Likewise.
25738 (cs5536_mod_LDFLAGS): Likewise.
25739 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
25740 machine/pci.h.
25741 (kernel_img_SOURCES): Add bus/cs5536.c.
25742 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
25743 usb_keyboard.mod.
25744 (usb_mod_SOURCES): New variable.
25745 (usb_mod_CFLAGS): New variable.
25746 (usb_mod_LDFLAGS): New variable.
25747 (usbtest_mod_SOURCES): New variable.
25748 (usbtest_mod_CFLAGS): New variable.
25749 (usbtest_mod_LDFLAGS): New variable.
25750 (ohci_mod_SOURCES): New variable.
25751 (ohci_mod_CFLAGS): New variable.
25752 (ohci_mod_LDFLAGS): New variable.
25753 (usbms_mod_SOURCES): New variable.
25754 (usbms_mod_CFLAGS): New variable.
25755 (usbms_mod_LDFLAGS): New variable.
25756 (usb_keyboard_mod_SOURCES): New variable.
25757 (usb_keyboard_mod_CFLAGS): New variable.
25758 (usb_keyboard_mod_LDFLAGS): New variable.
25759 * include/grub/smbus.h: New file.
25760 * include/grub/cs5536.h: New file.
25761
0b35b2a9
CW
257622010-06-02 Colin Watson <cjwatson@ubuntu.com>
25763
25764 * util/grub.d/00_header.in: Add safety check to make sure that
25765 ${locale_dir} exists before trying to probe it.
25766
ca0afd5b
CW
257672010-06-02 Colin Watson <cjwatson@ubuntu.com>
25768
25769 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
25770 per the GNU Coding Standards; this is now too obscure to be worth
25771 documenting.
25772 (QNX): Likewise.
25773 (chainloader): Remove cross-reference to `SCO UnixWare'.
25774
1c41aa78
CW
257752010-06-02 Colin Watson <cjwatson@ubuntu.com>
25776
25777 * docs/grub.texi (Chain-loading): New section.
25778 (DOS/Windows): New section, borrowed from GRUB Legacy with details
25779 adjusted for GRUB 2.
25780 (SCO UnixWare): Likewise.
25781 (QNX): Likewise.
25782 (chainloader): Add reference to `Block list syntax'.
25783 (drivemap): New section.
25784 (parttool): New section.
25785
bb8ea0f5
CW
257862010-06-02 Colin Watson <cjwatson@ubuntu.com>
25787
25788 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
25789 the grub shell'.
25790 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
25791 (Installing GRUB using grub-install): Remove reference to the grub
25792 shell; mention `grub-mkimage' and `grub-setup' instead.
25793 (Invoking grub-install): Likewise.
25794 (Interface): Add reference to `Menu entry editor'.
25795 (serial): Remove `--device' option.
25796
288dd6ed
CW
257972010-06-02 Colin Watson <cjwatson@ubuntu.com>
25798
25799 * docs/grub.texi (Configuration): New section, documenting
25800 configuration file generation using grub-mkconfig. I've left a slot
25801 for documenting the full shell scripting format but have not yet
25802 started on writing that up.
25803 (Invoking grub-mkconfig): New section.
25804
34c9f0e9
CW
258052010-06-02 Colin Watson <cjwatson@ubuntu.com>
25806
25807 * docs/grub.texi (direntry): Remove grub-terminfo reference.
25808 (GNU GRUB manual): Likewise.
25809 (General commands): Update description of `terminfo' for GRUB 2.
25810
9121567e
CW
258112010-06-02 Colin Watson <cjwatson@ubuntu.com>
25812
25813 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
25814 (GRUB_MOD_INIT): Fix capitalisation.
25815 * docs/grub.texi (Command-line and menu entry commands): Document
25816 gettext and gptsync commands.
25817
ab631611
CW
258182010-06-02 Colin Watson <cjwatson@ubuntu.com>
25819
25820 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
25821 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
25822
bde4a9ac
CW
258232010-06-01 Colin Watson <cjwatson@ubuntu.com>
25824
25825 Add btrfs probing support, currently only in the single-device case.
25826
25827 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
25828 function.
25829 (grub_guess_root_device): Call find_root_device_from_mountinfo
25830 before looking in /dev.
25831
b1d17e10
VS
258322010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
25833
25834 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
25835 GRUB_DISK_SIZE_UNKNOWN.
25836 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
25837
dfbfe004
JS
258382010-05-31 Jiro SEKIBA <jir@unicus.jp>
25839
25840 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
25841 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
25842 corrupted or not synced properly.
25843
c2ffc8e9
VS
258442010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
25845
25846 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
25847 Reported by: Seth Goldberg.
25848
56293166
VS
258492010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
25850
25851 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
25852 addition of dest.
25853 Reported by: Seth Goldberg.
25854
7620e7de
VS
258552010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
25856
25857 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
25858 Reported by: Seth Goldberg.
25859
c837af3f
VS
258602010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
25861
25862 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
25863 64-bit address as signed on MIPS.
25864
c7c75cf4
CW
258652010-05-28 Colin Watson <cjwatson@ubuntu.com>
25866
25867 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
25868 to the empty string.
25869
fa4b8490
BC
258702010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
25871
25872 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
25873
25874 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
25875 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
25876 * kern/misc.c (__enable_execute_stack): Disable on
25877 GRUB_MACHINE_EMU.
25878
a33075b9
CW
258792010-05-28 Colin Watson <cjwatson@ubuntu.com>
25880
25881 Make grub-probe work with symbolic links under /dev/mapper as well
25882 as with real block devices. The Linux world seems to be (at best)
25883 in transition here, and GRUB shouldn't get caught in the middle.
25884
25885 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
25886 /dev/mapper.
25887
d8708134
CW
258882010-05-27 Colin Watson <cjwatson@ubuntu.com>
25889
25890 * util/grub-script-check.c (main): Ensure defined behaviour on empty
25891 input files (in which case exit zero).
25892
db2102a0
CW
258932010-05-27 Colin Watson <cjwatson@ubuntu.com>
25894
25895 * kern/emu/misc.c (canonicalize_file_name): realpath can still
25896 return NULL for various reasons even if it has a maximum-length
25897 buffer: for example, there might be a symlink loop, or the path
25898 might exceed PATH_MAX. If this happens, return NULL.
25899
5fdba519
RM
259002010-05-27 Robert Millan <rmh@gnu.org>
25901
25902 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
25903 partmap module to handle cross-partmap setups.
25904 Reported by Orestes Mas. Gràcies!
25905
d1d368e4
CW
259062010-05-27 Colin Watson <cjwatson@ubuntu.com>
25907
25908 * util/grub-mkrescue.in: Initialise override_dir rather than
25909 assuming that it's unset or empty in the environment.
25910
95ac3c73
GS
259112010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
25912
25913 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
25914 variable index into p_index to suppress a warning with -Wshadow.
25915
7d8c0213
BC
259162010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
25917
25918 * INSTALL: Added flex >= 2.5.35 requirement.
25919
db4d5813
VS
259202010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
25921
25922 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
25923
f24f4300
VS
259242010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
25925
25926 cmostest support.
25927
25928 * commands/i386/cmostest.c: New file.
25929 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
25930 (cmostest_mod_SOURCES): New variable.
25931 (cmostest_mod_CFLAGS): Likewise.
25932 (cmostest_mod_LDFLAGS): Likewise.
25933 * conf/i386-pc.rmk: Likewise.
25934 * docs/grub.texi (Vendor power-on keys): New section.
25935 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
25936 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
25937 and GRUB_BUTTON_CMOS_ADDRESS.
25938 * util/grub.d/00_header.in: Handle powering-on by separate button.
25939
ad603f61
VS
259402010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
25941
25942 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
25943 Removed drawing_scrollbar argument. All users updated
25944 Fixes #29792.
25945 Reported by Jo Shields
25946
3ecb080a
VS
259472010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
25948
25949 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
25950 buffer since gfxterm handles double repaint.
25951
5f2316c1
VS
259522010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
25953
25954 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
25955 * term/gfxterm.c (real_scroll): Likewise.
25956
9a25f885
VS
259572010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
25958
25959 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
25960 before calling BIOS.
25961
39fbb79a
VS
259622010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
25963
25964 * include/grub/i18n.h: Always enable grub_gettext.
25965
228cfa97
VS
259662010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
25967
25968 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
25969 partition naming style.
25970
21717c8f
CW
259712010-05-21 Colin Watson <cjwatson@ubuntu.com>
25972
25973 * util/grub-mkconfig.in: Fix handling of -o so that it works when
25974 not the first option.
25975
c0f48e65
CW
259762010-05-20 Colin Watson <cjwatson@ubuntu.com>
25977
25978 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
25979
96779aec
CW
259802010-05-20 Colin Watson <cjwatson@ubuntu.com>
25981
25982 * util/misc.c: Move inclusion of <limits.h> to ...
25983 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
25984
fa9d256e
GS
259852010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
25986
25987 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
25988 Fix merge error in NetBSD code.
25989 (find_partition_start) [__NetBSD__]: Likewise.
25990
123b7a85
BC
259912010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
25992
25993 Fix grub-mkrescue usage unit testing.
25994
25995 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
25996
74276c0d
CF
259972010-05-18 Christian Franke <franke@computer.org>
25998
25999 * util/grub.d/10_windows.in: Use path names instead of
26000 drive letters to prevent warning from Cygwin 1.7.
26001 Add drivemap command to menuentry if needed.
26002
c4f7b523
ST
260032010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
26004
26005 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
26006 gnumach and gnumach.gz.
26007
95b97950
VS
260082010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26009
26010 * include/grub/i18n.h (gettext): Inline instead of using #define.
26011 (grub_gettext): Likewise.
26012 (_): Likewise.
26013
01b8d2d7
VS
260142010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26015
26016 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
26017 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
26018 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
26019 (main): Add a slash after pkglibdirroot.
26020
654e1d1e
VS
260212010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26022
26023 * util/grub-install.in: Add missing "in" keyword.
26024
26966aeb
VS
260252010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26026
26027 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
26028 Reported by: Seth Goldberg.
26029
75006747
VS
260302010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26031
26032 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
26033
74cbf5bd
CW
260342010-05-18 Colin Watson <cjwatson@ubuntu.com>
26035
26036 * configure.ac: Check for Linux device-mapper support.
26037
26038 * util/hostdisk.c (device_is_mapped): New function.
26039 (find_partition_start): New function, partly broken out from
26040 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
26041 device-mapper support added.
26042 (linux_find_partition): Use find_partition_start.
26043 (convert_system_partition_to_system_disk): Add `st' argument.
26044 Support Linux /dev/mapper/* devices if device-mapper support is
26045 available; only DM-RAID devices are understood at present.
26046 (find_system_device): Add `st' argument. Pass it to
26047 convert_system_partition_to_system_disk.
26048 (grub_util_biosdisk_get_grub_dev): Pass stat result to
26049 find_system_device and convert_system_partition_to_system_disk. Use
26050 find_partition_start.
26051
26052 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
26053 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
26054 * util/deviceiter.c [__linux__]: Define MINOR.
26055 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
26056 * util/mkdevicemap.c (grub_putchar): New function.
26057 (grub_getkey): New function.
26058 (grub_refresh): New function.
26059 (main): Set debug=all if -v -v is used.
26060
355b51e9
CW
260612010-05-18 Colin Watson <cjwatson@ubuntu.com>
26062
26063 Fix build with non-GNU libcs.
26064
26065 * util/misc.c (canonicalize_file_name): Move to ...
26066 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
26067 grub_make_system_path_relative_to_its_root.
26068
7fb5c25f
CW
260692010-05-18 Colin Watson <cjwatson@ubuntu.com>
26070
26071 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
26072 we handle finding grub-mkimage. Default to finding grub-mkimage in
26073 ${bindir} with program_transform_name applied, and provide a
26074 --grub-mkimage option to override this.
26075
1d3293d6
VS
260762010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
26077
26078 Remove grub-mkisofs.
26079
26080 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
26081 (grub_mkisofs_SOURCES): Removed.
26082 (grub_mkisofs_CFLAGS): Removed.
26083 * util/mkisofs/defaults.h: Removed.
26084 * util/mkisofs/eltorito.c: Likewise.
26085 * util/mkisofs/exclude.h: Likewise.
26086 * util/mkisofs/hash.c: Likewise.
26087 * util/mkisofs/include/: Likewise.
26088 * util/mkisofs/include/fctldefs.h: Likewise.
26089 * util/mkisofs/include/mconfig.h: Likewise.
26090 * util/mkisofs/include/prototyp.h: Likewise.
26091 * util/mkisofs/include/statdefs.h: Likewise.
26092 * util/mkisofs/iso9660.h: Likewise.
26093 * util/mkisofs/joliet.c: Likewise.
26094 * util/mkisofs/match.c: Likewise.
26095 * util/mkisofs/match.h: Likewise.
26096 * util/mkisofs/mkisofs.c: Likewise.
26097 * util/mkisofs/mkisofs.h: Likewise.
26098 * util/mkisofs/msdos_partition.h: Likewise.
26099 * util/mkisofs/multi.c: Likewise.
26100 * util/mkisofs/name.c: Likewise.
26101 * util/mkisofs/rock.c: Likewise.
26102 * util/mkisofs/tree.c: Likewise.
26103 * util/mkisofs/write.c: Likewise.
26104
5dde9afe
VS
261052010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
26106
26107 Unify grub-mkimage accross platforms.
26108
26109 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
26110 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
26111 (grub_mkelfimage_SOURCES): Removed.
26112 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
26113 (util/grub-mkimage.c_DEPENDENCIES): .. this.
26114 (bin_UTILITIES): Add grub-mkimage.
26115 (grub_mkimage_SOURCES): New variable.
26116 (kernel_img_HEADERS): Remove machine/kernel.h.
26117 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
26118 (pkglib_PROGRAMS): Add kernel.img.
26119 (kernel_img_HEADERS): Add machine/kernel.h.
26120 (kernel_img_FORMAT): Removed.
26121 (bin_UTILITIES): Remove grub-mkimage.
26122 (grub_mkimage_SOURCES): Removed.
26123 (grub_mkimage_CFLAGS): Likewise.
26124 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26125 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
26126 (pkglib_PROGRAMS): Add kernel.img.
26127 (bin_UTILITIES): Remove grub-mkimage.
26128 (grub_mkimage_SOURCES): Removed.
26129 (grub_mkimage_CFLAGS): Likewise.
26130 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26131 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
26132 (pkglib_PROGRAMS): Add kernel.img.
26133 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
26134 (pkglib_PROGRAMS): Add kernel.img.
26135 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
26136 (grub_mkimage_SOURCES): Removed.
26137 (grub_mkimage_CFLAGS): Likewise.
26138 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26139 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
26140 (pkglib_PROGRAMS): Add kernel.img.
26141 (bin_UTILITIES): Remove grub-mkimage.
26142 (grub_mkimage_SOURCES): Removed.
26143 (grub_mkimage_CFLAGS): Likewise.
26144 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26145 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
26146 (grub_mkimage_SOURCES): Removed.
26147 (grub_mkimage_CFLAGS): Likewise.
26148 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26149 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
26150 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
26151 (grub_pe32_optional_header): ... this.
26152 (grub_pe64_optional_header): ... and this. All users updated.
26153 (GRUB_PE32_PE32_MAGIC): Split into ..
26154 (GRUB_PE32_PE32_MAGIC): .. this.
26155 (GRUB_PE32_PE64_MAGIC): .. and this.
26156 (GRUB_PE32_SIGNATURE_SIZE): New definition.
26157 * include/grub/elf.h (PT_GNU_STACK): New definition.
26158 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
26159 * include/grub/i386/efi/kernel.h: Likewise.
26160 * include/grub/i386/kernel.h: Likewise.
26161 * include/grub/i386/pc/kernel.h: Likewise.
26162 * include/grub/i386/qemu/boot.h: Likewise.
26163 * include/grub/mips/kernel.h: Likewise.
26164 * include/grub/mips/qemu-mips/kernel.h: Likewise.
26165 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
26166 * include/grub/powerpc/kernel.h: Likewise.
26167 * include/grub/sparc64/ieee1275/boot.h: Likewise.
26168 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
26169 * include/grub/sparc64/kernel.h: Likewise.
26170 * include/grub/x86_64/efi/kernel.h: Likewise.
26171 * include/grub/x86_64/kernel.h: Likewise.
26172 * include/grub/offsets.h: New file.
26173 * include/grub/kernel.h (grub_module_info): Split into ...
26174 (grub_module_info32): ... this.
26175 (grub_module_info64): ... and this.
26176 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
26177 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
26178 (grub_boot_blocklist): Moved from here ...
26179 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
26180 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
26181 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
26182 * include/grub/types.h (grub_target_to_host16): Removed.
26183 (grub_target_to_host32): Likewise.
26184 (grub_target_to_host64): Likewise.
26185 (grub_host_to_target16): Likewise.
26186 (grub_host_to_target32): Likewise.
26187 (grub_host_to_target64): Likewise.
26188 (grub_host_to_target_addr): Likewise.
26189
26190 Support grub-mkrescue for efi, coreboot and qemu.
26191
26192 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
26193 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
26194 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
26195 * util/grub-mkrawimage.c: Moved from here ...
26196 * util/grub-mkimage.c: ... here. All users updated.
26197 (ALIGN_ADDR): Use image_target.
26198 (TARGET_NO_FIELD): New const.
26199 (image_target_desc): New type.
26200 (image_targets): New array.
26201 (grub_target_to_host64): Use image_target.
26202 (grub_target_to_host32): Likewise.
26203 (grub_target_to_host16): Likewise.
26204 (grub_host_to_target64): Likewise.
26205 (grub_host_to_target32): Likewise.
26206 (grub_host_to_target16): Likewise.
26207 (grub_host_to_target_addr): Likewise.
26208 (generate_image): Handle multiimage.
26209 (main): Require -O parameter. All users updated.
26210 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
26211 util/efi/grub-mkimage.c
26212 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
26213 New option --rom-directory.
26214 Use xorriso.
26215 * util/i386/efi/grub-mkimage.c: Removed.
26216 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
26217 (grub_target_to_host32): Likewise.
26218 (grub_target_to_host64): Likewise.
26219 (grub_host_to_target16): Likewise.
26220 (grub_host_to_target32): Likewise.
26221 (grub_host_to_target64): Likewise.
26222 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
26223 (grub_target_to_host32): Likewise.
26224 (grub_target_to_host64): Likewise.
26225 (grub_host_to_target16): Likewise.
26226 (grub_host_to_target32): Likewise.
26227 (grub_host_to_target64): Likewise.
26228
f4fc97d0
BC
262292010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
26230
26231 Source tree is reorganized for emu build.
26232
26233 * include/grub/util/console.h: Move from here...
26234 * include/grub/emu/console.h: ...to here.
26235 * include/grub/util/getroot.h: Move from here...
26236 * include/grub/emu/getroot.h: ...to here.
26237 * include/grub/util/hostdisk.h: Move from here...
26238 * include/grub/emu/hostdisk.h: ...to here.
26239 * util/console.c: Move from here...
26240 * kern/emu/console.c: ...to here.
26241 * util/getroot.c: Move from here...
26242 * kern/emu/getroot.c: ...to here.
26243 * util/grub-emu.c: Move from here...
26244 * kern/emu/main.c: ...to here.
26245 * util/hostdisk.c: Move from here...
26246 * kern/emu/hostdisk.c: ...to here.
26247 * util/hostfs.c: Move from here...
26248 * kern/emu/hostfs.c: ...to here.
26249 * util/mm.c: Move from here...
26250 * kern/emu/mm.c: ...to here.
26251 * util/pci.c: Move from here...
26252 * bus/emu/pci.c: ...to here.
26253 * util/sdl.c: Move from here...
26254 * video/emu/sdl.c: ...to here.
26255 * util/time.c: Move from here...
26256 * kern/emu/time.c: ...to here.
26257 * util/usb.c: Move from here...
26258 * bus/usb/emu/usb.c: ...to here.
26259
26260 * include/grub/emu/misc.h: New header for grub-emu functions.
26261 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
26262
26263 * conf/any-emu.rmk: Rule updates for above renames.
26264 * conf/common.rmk: Likewise.
26265 * conf/i386-pc.rmk: Likewise.
26266 * conf/i386-qemu.rmk: Likewise.
26267 * conf/mips.rmk: Likewise.
26268 * conf/sparc64-ieee1275.rmk: Likewise.
26269 * conf/x86-efi.rmk: Likewise.
26270
26271 * disk/lvm.h: #include updates for above renames.
26272 * util/grub-mkrelpath.c: Likewise.
26273 * util/grub-probe.c: Likewise.
26274 * util/i386/pc/grub-setup.c: Likewise.
26275 * util/sparc64/ieee1275/grub-setup.c: Likewise.
26276 * kern/emu/console.c: Likewise.
26277 * kern/emu/getroot.c: Likewise.
26278 * kern/emu/hostdisk.c: Likewise.
26279 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
26280
26281 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
26282 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
26283 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
26284 * util/misc.c: Remove grub-emu functions.
26285
cced9145
VS
262862010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
26287
26288 Fix gfxmenu crash.
26289 Reported by: Thorsten Grützmacher.
26290
26291 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
26292 timeout hook.
26293 (circprog_set_property): Register and unregister timeout hook.
26294 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
26295 (label_destroy): Free template. and unregister hook.
26296 (label_set_state): New function.
26297 (label_set_property): Handle templates and hooks.
26298 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
26299 timeout hook.
26300 (progress_bar_set_property): Register and unregister timeout hook.
26301 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
26302 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
26303 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
26304 (update_timeout_visit): Removed.
26305 (update_timeouts): New function.
26306 (redraw_timeouts): Likewise.
26307 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
26308 (grub_gfxmenu_clear_timeout): Likewise.
26309 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
26310 (grub_gfxmenu_timeout_notify): Likewise.
26311 (grub_gfxmenu_timeout_notifications): New external variable.
26312 (grub_gfxmenu_timeout_register): New function.
26313 (grub_gfxmenu_timeout_unregister): Likewise.
26314
c6e5caab
VS
263152010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
26316
26317 Transform (broken) vga terminal into (working) vga video driver.
26318
26319 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
26320 video/i386/pc/vga.c.
26321 * include/grub/video.h (grub_video_driver_id):
26322 Add GRUB_VIDEO_DRIVER_VGA.
26323 * term/i386/pc/vga.c: Renamed to ...
26324 * video/i386/pc/vga.c: ...this
26325 (DEBUG_VGA): Removed.
26326 (CHAR_WIDTH): Likewise.
26327 (CHAR_HEIGHT): Likewise.
26328 (TEXT_WIDTH): Likewise.
26329 (TEXT_HEIGHT): Likewise.
26330 (DEFAULT_FG_COLOR): Likewise.
26331 (DEFAULT_BG_COLOR): Likewise.
26332 (colored_char): Likewise.
26333 (xpos): Likewise.
26334 (ypos): Likewise.
26335 (cursor_state): Likewise.
26336 (fg_color): Likewise.
26337 (bg_color): Likewise.
26338 (text_buf): Likewise.
26339 (page): Likewise.
26340 (font): Likewise.
26341 (framebuffer): New variable.
26342 (set_read_map): Disabled.
26343 (setup): New variable.
26344 (is_target): Likewise.
26345 (grub_vga_mod_init): Likewise.
26346 (grub_vga_mod_fini): Likewise.
26347 (check_vga_mem): Likewise.
26348 (write_char): Likewise.
26349 (write_cursor): Likewise.
26350 (scroll_up): Likewise.
26351 (grub_vga_putchar): Likewise.
26352 (grub_vga_getcharwidth): Likewise.
26353 (grub_vga_getwh): Likewise.
26354 (grub_vga_getxy): Likewise.
26355 (grub_vga_gotoxy): Likewise.
26356 (grub_vga_cls): Likewise.
26357 (grub_vga_setcolorstate): Likewise.
26358 (grub_vga_setcursor): Likewise.
26359 (grub_video_vga_init): New function.
26360 (grub_video_vga_setup): Likewise.
26361 (grub_video_vga_fini): Likewise.
26362 (update_target): Likewise.
26363 (grub_video_vga_blit_bitmap): Likewise.
26364 (grub_video_vga_blit_render_target): Likewise.
26365 (grub_video_vga_set_active_render_target): Likewise.
26366 (grub_video_vga_get_active_render_target): Likewise.
26367 (grub_video_vga_swap_buffers): Likewise.
26368 (grub_video_vga_set_palette): Likewise.
26369 (grub_video_vga_get_info_and_fini): Likewise.
26370 (grub_vga_term): Removed.
26371 (grub_video_vga_adapter): New variable.
26372 (GRUB_MOD_INIT): Register a video driver instead of terminal.
26373 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
26374
2bf61a98
VS
263752010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26376
26377 * video/readers/jpeg.c: Indented.
26378
09ddcd11
VS
263792010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26380
26381 Various jpeg cleanups.
26382
26383 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
26384 (grub_jpeg_decode_quan_table): Use sizeof.
26385 (grub_jpeg_decode_du): Use ARRAY_SIZE.
26386
e5507505
PH
263872010-05-05 Peter Hurley <No e-mail available> (tiny change)
26388
26389 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
26390 tables. Ignore non-last ac bit.
26391 (grub_jpeg_decode_quan_table): Likewise.
26392
7e720a9b
VS
263932010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26394
26395 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
26396 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
26397 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
26398 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
26399 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
26400 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
26401
a7fc080b
VS
264022010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26403
26404 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
26405 error.
26406
2bf6012d
VS
264072010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26408
26409 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
26410
265d68cd
VS
264112010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
26412
26413 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
26414 condition.
26415
264162010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
26417
26418 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
26419 part.
26420
265d68cd 264212010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
26422
26423 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
26424 pointers.
26425
265d68cd 264262010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
26427
26428 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
26429
d1b61374
CF
264302010-05-01 Christian Franke <franke@computer.org>
26431
26432 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
26433 Remove broken Cygwin path conversion.
26434 * util/misc.c: [__CYGWIN__] Add include and define.
26435 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
26436 for Cygwin 1.7.
26437 (make_system_path_relative_to_its_root): Simplify loop, replace early
26438 return by break.
26439 [__CYGWIN__] Add conversion to win32 path.
26440 Include "/" case in trailing slash removal.
26441
3558c6e9
VS
264422010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26443
26444 * kern/main.c (grub_load_config): Fix copy-pasted comment.
26445 Reported by: Seth Goldberg
26446
f5f3ff93
VS
264472010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26448
26449 * commands/help.c (grub_cmd_help): Fix a typo.
26450 Reported by: Seth Goldberg
26451
d8b5cd40
VS
264522010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26453
26454 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
26455 name and add N_.
26456 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
26457 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
26458 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
26459 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
26460 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
26461 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
26462 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
26463 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
26464 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
26465 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
26466 * normal/context.c (GRUB_MOD_INIT): Likewise.
26467 * normal/main.c (GRUB_MOD_INIT): Likewise.
26468 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
26469 * term/serial.c (GRUB_MOD_INIT): Likewise.
26470 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
26471
88c14915
VS
264722010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26473
26474 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
26475 extra == 0.
26476
165134bc
VS
264772010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26478
26479 * commands/iorw.c: New file.
26480 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
26481 (iorw_mod_SOURCES): New variable.
26482 (iorw_mod_CFLAGS): Likewise.
26483 (iorw_mod_LDFLAGS): Likewise.
26484
c5ac9b32
VS
264852010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26486
26487 Hotkey support
26488
26489 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
26490 * normal/main.c (hotkey_aliases): New variable.
26491 (grub_normal_add_menu_entry): Parse "--hotkey".
26492 * normal/menu_text.c (run_menu): Handle hotkeys.
26493
ce60689c
VS
264942010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26495
26496 * kern/i386/coreboot/init.c (grub_machine_init): Call
26497 grub_machine_mmap_init on qemu.
26498
0359d006
VS
264992010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26500
26501 * boot/i386/qemu/boot.S: Add a missing .code16.
26502
7819a456
VS
265032010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26504
26505 Use LBIO on coreboot.
26506
26507 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
26508 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
26509 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
26510 New declaration.
26511 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
26512 grub_machine_mmap_init on coreboot.
26513 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
26514 GRUB_LINUXBIOS_MEMBER_LINK.
26515 (grub_machine_mmap_iterate): Fix declaration.
26516 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
26517
7210dca9
VS
265182010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26519
26520 Split coreboot and multiboot ports.
26521
26522 * conf/i386-multiboot.rmk: New file.
26523 * configure.ac: Add multiboot port.
26524 * include/grub/i386/multiboot/boot.h: New file.
26525 * include/grub/i386/multiboot/console.h: Likewise.
26526 * include/grub/i386/multiboot/init.h: Likewise.
26527 * include/grub/i386/multiboot/kernel.h: Likewise.
26528 * include/grub/i386/multiboot/loader.h: Likewise.
26529 * include/grub/i386/multiboot/memory.h: Likewise.
26530 * include/grub/i386/multiboot/serial.h: Likewise.
26531 * include/grub/i386/multiboot/time.h: Likewise.
26532 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
26533 * loader/multiboot.c: Likewise.
26534 * loader/multiboot_mbi2.c: Likewise.
26535 * util/grub-mkrescue.in: Generate multiboot rescue.
26536
6f8aaf68
VS
265372010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26538
3080f7a7
VS
26539 * kern/parser.c (grub_parser_execute): Cope with read-only config.
26540
265412010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26542
26543 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
26544
26545 * commands/terminal.c (abstract_terminal): New struct.
26546 (handle_command): New function. Based on grub_cmd_terminal_input.
26547 (grub_cmd_terminal_input): Use handle_command.
26548 (grub_cmd_terminal_output): Use handle_command.
26549
a8ebb841
BC
265502010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
26551
26552 Fix comment handling.
26553
26554 * tests/grub_script_comments.in: New testcase.
26555 * conf/tests.rmk: Rules for new testcase.
26556 * script/yylex.l: Updated flex rules.
26557
bb06ba08
ST
265582010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
26559
26560 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
26561 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
26562 if argc is 1.
bb06ba08 26563
cc9d2425
VS
265642010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
26565
26566 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
26567 autogen issues.
26568
460d8402
CF
265692010-04-26 Christian Franke <franke@computer.org>
26570
26571 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
26572 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
26573 (grub_get_prefix): Remove function.
26574 * util/grub-emu.c (main): Replace grub_get_prefix () call by
26575 make_system_path_relative_to_its_root ().
26576 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
26577
553c01f9
CF
265782010-04-24 Christian Franke <franke@computer.org>
26579
26580 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
26581 (kernel_img_LDFLAGS): Remove -static-libgcc.
26582
2aec1692
CF
265832010-04-24 Christian Franke <franke@computer.org>
26584
26585 * configure.ac: Do not CHECK_BSS_START_SYMBOL
26586 and CHECK_END_SYMBOL if grub-emu is built.
26587 Unset TARGET_OBJ2ELF if grub-emu is built
26588 without module support.
26589
f67dc308
JS
265902010-04-24 Jiro SEKIBA <jir@unicus.jp>
26591
26592 Nilfs2 support.
26593
26594 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
26595 (grub_fstest_SOURCES): Likewise.
26596 (pkglib_MODULES): Add nilfs2.mod.
26597 (nilfs2_mod_SOURCES): New variable.
26598 (nilfs2_mod_CFLAGS): Likewise.
26599 (nilfs2_mod_LDFLAGS): Likewise.
26600 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
26601 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
26602 * fs/nilfs2.c: New file.
26603
4ba8d354
VS
266042010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
26605
26606 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
26607 is not supported.
26608
0d2c20c6
GS
266092010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
26610
26611 Add grub-mkconfig support for NetBSD.
26612
26613 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
26614 * util/grub-mkconfig.in: export new NetBSD specific variables.
26615 * po/POTFILES-shell: added 10_netbsd.in.
26616 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
26617
bc4a2d83
BC
266182010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
26619
26620 Fix emu build with grub-emu-pci and grub-emu-modules.
26621
26622 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
26623 functions.
26624 * include/grub/libpciaccess.h: New file.
26625 * conf/any-emu.rmk: Update kernel headers for emu build.
26626
f48c87aa
VS
266272010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
26628
26629 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
26630
18959385
VS
266312010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
26632
26633 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
26634
0037de3f
VS
266352010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
26636
26637 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
26638 Retrieve chosen/bootpath if bootpath isn't hardcoded.
26639 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
26640 util/ieee1275/ofpath.c.
26641 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
26642 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
26643 * include/grub/sparc64/ieee1275/boot.h
26644 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
26645 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
26646 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
26647 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
26648 const char *.
26649 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
26650 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
26651 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
26652 install.
26653
38e55e90
GS
266542010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
26655
26656 * util/grub-mkconfig.in: Corrected two == equality tests.
26657 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
26658 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
26659 expect a number appended to it.
26660 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
26661 expects a number appended to it.
26662
a9e6ff28
VS
266632010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
26664
26665 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
26666
0b830b8f
VS
266672010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
26668
26669 * util/hostdisk.c (make_device_name): Change to new partition naming.
26670
0973daeb
VS
266712010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
26672
26673 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
26674
460d8402 266752010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
26676
26677 * Makefile.in: Add missing localedir setting.
26678
0b456309
CW
266792010-04-14 Colin Watson <cjwatson@ubuntu.com>
26680
26681 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
26682 mistake in r2156. Noticed by Anthony Fok.
26683
26684 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
26685 @localedir@.
26686 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
26687
08f46d62
BC
266882010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
26689
26690 Fix a spurious, uninitialized variable warning.
26691
26692 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
26693 Initialize variable, shdr.
26694 (grub_freebsd_load_elfmodule): Likewise.
26695 (grub_freebsd_load_elf_meta): Likewise.
26696
8c4a72d4
BC
266972010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
26698
26699 Fix for escaped dollar in double quoted strings.
26700
26701 * script/yylex.l: Updated flex rules.
26702 * conf/tests.rmk: Rule for new testcase.
26703 * tests/grub_script_dollar.in: New testcase.
26704
ce44826e
CPE
267052010-04-13 Carles Pina i Estany <carles@pina.cat>
267062010-04-13 Colin Watson <cjwatson@ubuntu.com>
26707
26708 Enclose all translated strings in grub.cfg in single quotes, and
26709 escape them appropriately (Ubuntu bug #552921).
26710
26711 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
26712 * util/grub.d/10_hurd.in: Use it.
26713 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
26714 * util/grub.d/10_linux.in (linux_entry): Likewise.
26715
4b0cd8f8
VS
267162010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
26717
26718 Fix cygwin compilation.
26719
26720 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
26721 * include/grub/misc.h (__register_frame_info)
26722 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
26723 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
26724 * kern/misc.c (__register_frame_info)
26725 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
26726 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
26727
01fcf061
VS
267282010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
26729
26730 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
26731
5d04b11e
VS
267322010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
26733
26734 Unify libgcc processing.
26735
26736 * Makefile.in (kernel_img_LDFLAGS): New variable.
26737 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
26738 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
26739 overwriting.
26740 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
26741 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
26742 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
26743 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
26744 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
26745 overwriting. Remove -lgcc and -static-libgcc
26746 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
26747 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
26748 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
26749 (kernel_img_LDFLAGS): Append instead of overwriting.
26750 Remove -lgcc and -static-libgcc
26751 * conf/sparc64-ieee1275.rmk: Likewise.
26752 * include/grub/powerpc/libgcc.h: Move to ...
26753 * include/grub/libgcc.h: .. this.
26754 * include/grub/libgcc.h: Don't export most of the function on x86.
26755 (__bswapsi2): New export.
26756 (__bswapdi2): Likewise.
26757 * include/grub/mips/libgcc.h: Removed.
26758 * include/grub/sparc64/libgcc.h: Likewise.
26759
b7f3ac29
VS
267602010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
26761
26762 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
26763 disk_info_msg (conflicts with gettexting into languages with cases).
26764
2c7031b1
GS
267652010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
26766
26767 Add grub-probe support for NetBSD.
26768
26769 * util/getroot.c (find_root_device): Convert block device to
26770 character device on NetBSD.
26771 * util/probe.c (probe): Require character device on NetBSD.
26772 * util/hostdisk.c: NetBSD specific headers.
26773 (configure_device_driver): new function to tune device driver
26774 parameters (currently only for NetBSD floppy driver).
26775 (grub_util_biosdisk_open): NetBSD specific code (get disk size
26776 via disklabel ioctl).
26777 (open_device): call configure_device_driver on NetBSD.
26778 (convert_system_partition_to_system_disk): NetBSD specific code.
26779 (device_is_wholedisk): Likewise.
26780 (grub_util_biosdisk_get_grub_dev): Likewise.
26781 (make_device_name): Fixed a typo in bsd_part_str.
26782 * configure.ac: check for opendisk() and getrawpartition() on
26783 NetBSD and set LIBUTIL.
26784 * Makefile.in: add LIBUTIL to LIBS.
26785
f516290c
BC
267862010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
26787
26788 Documentation fix.
26789
26790 * util/grub-script-check.c: Better help message.
26791
d8dcc0df
BC
267922010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
26793
26794 Fix FreeBSD build.
26795
26796 * configure.ac: Flex version check.
26797 * conf/common.rmk: Add -Wno-error to sh.mod.
26798 * script/yylex.l: Remove all #pragma.
26799
6734334a
VS
268002010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
26801
26802 * include/grub/util/misc.h (canonicalise_file_name): Add missing
26803 prototype.
26804 Reported by: Seth Goldberg.
26805
daea6abd
VS
268062010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
26807
26808 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
26809 Rename "module" to "module2".
26810 Reported by: Seth Goldberg.
26811
f2fd9d2b
VS
268122010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
26813
26814 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
26815 EXPORT_FUNC.
26816 Reported by: Seth Goldberg.
26817
be124579
VS
268182010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
26819
26820 * lib/posix_wrap/locale.h: Add missing file.
26821 Reported by: Seth Goldberg.
26822
ef5da797
VS
268232010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
26824
26825 grub-emu module load support.
26826
26827 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
26828 NO_DYNAMIC_MODULES switched to this.
26829 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
26830 (CFLAGS): Likewise.
26831 * conf/any-emu.rmk: Generate symlist.
26832 (kernel_img_HEADERS): Add util/datetime.h.
26833 (kernel_img_HEADERS) [sdl]: Add sdl.h.
26834 (kernel_img_HEADERS) [libusb]: Add libusb.h.
26835 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
26836 kern/$(target_cpu)/cache.S.
26837 * configure.ac (grub-emu-modules): New option.
26838 * genmk.rb: Handle multiple source lists.
26839 * include/grub/sdl.h: New file.
26840 * include/grub/libusb.h: Likewise.
26841 * util/grub-emu.c (main): Hanle (host) root.
26842 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
26843 GRUB_ERR_UNKNOWN_DEVICE.
26844 * util/misc.c: Move mm functions to ...
26845 * util/mm.c: ... here. All users updated.
26846
47822096
VS
268472010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
26848
26849 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
26850 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
26851 missing files.
26852 (maintainer-clean): Remove libgcrypt-grub.
26853
5d7e7445
VS
268542010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
26855
26856 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
26857
25f4e252
EC
268582010-04-09 EFI Coder <eficoder@hotmail.com>
26859
26860 * normal/menu_text.c (print_message): Clean up the message and show
26861 the Fn information when on EFI
26862 * term/efi/console.c (grub_console_checkkey): Add F4 support.
26863
027de555
VS
268642010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
26865
26866 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
26867 All users updated.
26868 * normal/crypto.c (read_crypto_list): Likewise.
26869 * normal/dyncmd.c (read_command_list): Likewise.
26870 * normal/term.c (read_terminal_list): Likewise.
26871 * normal/main.c (read_lists): Use explicit prefix.
26872 (read_lists_hook): Use read_lists.
26873 (grub_normal_execute): Likewise.
26874
47779711
VS
268752010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
26876
26877 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
26878 Reported by: Thomas Schmitt.
26879 Add -no-emul-boot to grub-mkisofs parameters.
26880
1118c32e
VS
268812010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
26882
26883 * font/font.c: Indented.
26884
7d652447
BC
268852010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
26886
26887 Elif support to GRUB script (by Deepak Vankadaru).
26888
26889 * tests/grub_script_if.in: New testcase.
26890 * conf/tests.rmk: Rule for new testcase.
26891 * script/parser.y: Grammar rules for elif.
26892
34bb22df
BC
268932010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
26894
26895 While and until loops support to GRUB script.
26896
26897 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
26898 (grub_script_create_cmdwhile): New function prototype.
26899 (grub_script_execute_cmdwhile): New function prototype.
26900 * script/execute.c (grub_script_execute_cmdwhile): New function.
26901 * script/parser.y (command): New commands.
26902 (whilecmd): New grammar rule.
26903 (untilcmd): New grammar rule.
26904 * script/script.c (grub_script_create_cmdwhile): New function.
26905 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
26906 function.
26907
26908 * tests/grub_script_while1.in: New testcase.
26909 * conf/tests.rmk: Rule for new testcase.
26910
e215d8e0
VS
269112010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
26912
26913 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
26914 as *.jpg.
26915
d7c43ba1
MV
269162010-04-09 Mario Vazquez <mariovazq@gmail.com>
26917
26918 GRUB_BACKGROUND support.
26919
26920 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
26921 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
26922
d64795c0
VS
269232010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
26924
26925 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 26926 Idea by: Mario Vazquez
d64795c0
VS
26927
26928 * util/grub.d/00_header.in: Load pf2 and image modules.
26929
f267f83a
VS
269302010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
26931
26932 grub-mkconfig multiple terminal support.
26933
26934 * util/grub-mkconfig.in: Handle multiple terminals correctly.
26935 * util/grub.d/00_header.in: Likewise.
26936
b7841ceb
VS
269372010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
26938
26939 * Makefile.in: Specify files explicitly instead of using $< and $@ since
26940 we use cd $(srcdir).
26941
df60998c
CW
269422010-04-08 Colin Watson <cjwatson@ubuntu.com>
26943
26944 * util/grub.d/10_linux.in: Only use the first word of
26945 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
26946 spaces in GRUB_DISTRIBUTOR.
26947 * util/grub.d/10_kfreebsd.in: Likewise.
26948 * util/grub.d/10_hurd.in: Likewise.
26949
fa09c82e
BC
269502010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
26951
14e18ae3 26952 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
26953
26954 * tests/util/grub-shell.in: Remove -serial stdio option.
26955
daf892b3
BC
269562010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
26957
26958 POSIX header file wrappers.
26959
26960 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
26961 equivalents.
26962 * lib/posix_wrap/ctype.h: Likewise.
26963 * lib/posix_wrap/errno.h: Likewise.
26964 * lib/posix_wrap/langinfo.h: Likewise.
26965 * lib/posix_wrap/limits.h: Likewise.
26966 * lib/posix_wrap/localcharset.h: Likewise.
26967 * lib/posix_wrap/stdint.h: Likewise.
26968 * lib/posix_wrap/stdio.h: Likewise.
26969 * lib/posix_wrap/stdlib.h: Likewise.
26970 * lib/posix_wrap/string.h: Likewise.
26971 * lib/posix_wrap/sys/types.h: Likewise.
26972 * lib/posix_wrap/unistd.h: Likewise.
26973 * lib/posix_wrap/wchar.h: Likewise.
26974 * lib/posix_wrap/wctype.h: Likewise.
26975 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
26976 (grub_script.yy.h): Likewise.
26977 * script/yylex.l: Remove POSIX emulation #defines.
26978 * Makefile.in (POSIX_CFLAGS): New variable.
26979 (GNULIB_UTIL_CFLAGS): Likewise.
26980
26981 Regexp support.
26982
26983 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
26984 (regexp_mod_SOURCES): New variable.
26985 (regexp_mod_CFLAGS): Likewise.
26986 (regexp_mod_LDFLAGS): Likewise.
26987 * commands/regexp.c: New file.
26988 * gnulib/regcomp.c: New file. Imported from gnulib.
26989 * gnulib/regex.c: Likewise.
26990 * gnulib/regex_internal.c: Likewise.
26991 * gnulib/regex_internal.h: Likewise.
26992 * gnulib/regexec.c: Likewise.
26993 * gnulib/regex.h: Likewise.
26994
974ac4f7
VS
269952010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
26996
26997 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
26998 unsupported video mode types.
26999
2622c3ff
VS
270002010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
27001
27002 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
27003
064cb524
VS
270042010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
27005
27006 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
27007 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
27008
a8c3b552
VS
270092010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
27010
27011 Remove unused grub_vga_get_font.
27012
27013 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
27014 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
27015
187bbe3d
GS
270162010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27017
27018 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
27019 * include/grub/misc.h: Likewise.
27020
b9396631
GS
270212010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27022
27023 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
27024 for which failure is fatal.
27025
50479feb
GS
270262010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27027
27028 * util/grub-install.in: Use mkdir -p to create grub directory.
27029 * util/i386/efi/grub-install.in: Likewise.
27030 * util/ieee1275/grub-install.in: Likewise.
27031
b1654fdf
GS
270322010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27033
27034 * Makefile.in (LEX): new variable.
27035
bd5a6415
GS
270362010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27037
27038 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
27039 `=' and added double quotes on operands of this equality test.
27040
3db3a82b
VS
270412010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
27042
27043 * Makefile.in (uninstall): Remove a leftover debug echo.
27044 Reported by: Grégoire Sutre
27045
38023412
VS
270462010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
27047
27048 MIPS multiboot2 support.
27049
27050 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
27051 (multiboot2_mod_SOURCES): New variable.
27052 (multiboot2_mod_CFLAGS): Likewise.
27053 (multiboot2_mod_LDFLAGS): Likewise.
27054 (multiboot2_mod_ASFLAGS): Likewise.
27055 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
27056 definition.
27057 (MULTIBOOT_ENTRY_REGISTER): Likewise.
27058 (MULTIBOOT_MBI_REGISTER): Likewise.
27059 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
27060 (MULTIBOOT_ELF32_MACHINE): Likewise.
27061 (MULTIBOOT_ELF64_MACHINE): Likewise.
27062 * include/grub/mips/multiboot.h: New file.
27063 * include/grub/video.h (grub_video_driver_id): New type
27064 GRUB_VIDEO_DRIVER_SM712.
27065 (grub_video_get_info_and_fini): Export.
27066 (grub_video_get_palette): Likewise.
27067 (grub_video_get_driver_id): Likewise.
27068 * include/multiboot2.h: Resynced with spec.
27069 * loader/i386/multiboot.c: Moved from here ...
27070 * loader/multiboot.c: ... here. All users updated.
27071 (grub_multiboot_boot): Use platform-specific macros.
27072 * loader/i386/multiboot_elfxx.c: Moved from here ...
27073 * loader/multiboot_elfxx.c: ... here. All users updated.
27074 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
27075 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
27076 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
27077
47674667
VS
270782010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
27079
27080 Import gnulib argp module.
27081
27082 * gnulib/argp-ba.c: New file.
27083 * gnulib/argp-eexst.c: Likewise.
27084 * gnulib/argp-fmtstream.c: Likewise.
27085 * gnulib/argp-fmtstream.h: Likewise.
27086 * gnulib/argp-fs-xinl.c: Likewise.
27087 * gnulib/argp-help.c: Likewise.
27088 * gnulib/argp-namefrob.h: Likewise.
27089 * gnulib/argp-parse.c: Likewise.
27090 * gnulib/argp-pin.c: Likewise.
27091 * gnulib/argp-pv.c: Likewise.
27092 * gnulib/argp-pvh.c: Likewise.
27093 * gnulib/argp-version-etc.c: Likewise.
27094 * gnulib/argp-version-etc.h: Likewise.
27095 * gnulib/argp-xinl.c: Likewise.
27096 * gnulib/argp.h: Likewise.
27097
495442ed
VS
270982010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
27099
27100 * kern/device.c (grub_device_iterate): Clear errors after failed
27101 opening device.
27102
f9fd65df
VS
271032010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
27104
27105 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
27106 returned by firmware.
27107
af09641e
VS
271082010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
27109
27110 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
27111 compilation on coreboot and qemu
27112
016883a5
VS
271132010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
27114
27115 * include/multiboot2.h: Resync with spec.
27116
f97e1f7d
VS
271172010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
27118
27119 Multiboot2 tag support
27120
27121 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
27122 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
27123 Remove loader/multiboot_loader.c.
27124 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
27125 (grub_multiboot2_real_boot): Likewise.
27126 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
27127 (grub_get_multiboot_mmap_count): New proto.
27128 (grub_fill_multiboot_mmap): Likewise.
27129 (grub_multiboot_set_video_mode): Likewise.
27130 (grub_multiboot_set_console): Likewise.
27131 (grub_multiboot_load): Likewise.
27132 (grub_multiboot_load_elf): Likewise.
27133 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
27134 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
27135 * include/multiboot.h: Resynced with specification.
27136 * include/multiboot2.h: Resynced with specification.
27137 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
27138 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
27139 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
27140 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
27141 users updated.
27142 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
27143 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
27144 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
27145 Removed.
27146 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
27147 Moved from here...
27148 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
27149 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
27150 Moved from here...
27151 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
27152 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
27153 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
27154 All users updated.
27155 * loader/i386/multiboot_mbi2.c: New file.
27156
3506b90b
VS
271572010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
27158
27159 Resync with gnulib.
27160
27161 * Makefile.in (GNULIB_CFLAGS): New variable.
27162 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
27163 (grub_script_check_CFLAGS): New variable.
27164 * gnulib/alloca.h: Resync with gnulib.
27165 * gnulib/error.c: Likewise.
27166 * gnulib/error.h: Likewise.
27167 * gnulib/fnmatch.c: Likewise.
27168 * gnulib/fnmatch_loop.c: Likewise.
27169 * gnulib/getdelim.c: Likewise.
27170 * gnulib/getline.c: Likewise.
27171 * gnulib/getopt.c: Likewise.
27172 * gnulib/getopt1.c: Likewise.
27173 * gnulib/getopt_int.h: Likewise.
27174 * gnulib/gettext.h: Likewise.
27175 * gnulib/progname.c: Likewise.
27176 * gnulib/progname.h: Likewise.
27177
394a3120
GS
271782010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
27179
27180 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
27181 which is the case with --disabled-nls.
27182
27183 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
27184 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
27185 * util/misc.c: Likewise.
27186 * util/mkisofs/mkisofs.c: Likewise.
27187 * util/mkisofs/mkisofs.h: Likewise.
27188
969d1c78
VS
271892010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
27190
27191 Simplify Apple CC support.
27192
27193 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
27194 Add 0 byte at the end not to have a symbol with empty target.
27195 * mmap/i386/pc/mmap_helper.S: Likewise.
27196 * genmk.rb: Ignore errors 2030 and 2050.
27197 * kern/i386/pc/startup.S: Use LOCAL when possible.
27198
8d2977bb
BC
271992010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
27200
27201 Testcase and the fix for final semicolon on cmdline.
27202
27203 * tests/grub_script_final_semicolon.in: New testcase.
27204 * conf/tests.rmk: Rules for the new testcase.
27205 * script/parser.y: Grammar fix.
27206
a7bd6915
BC
272072010-03-26 BVK Chaitanya <bvk@localhost>
27208
27209 Blank lines testcase for GRUB script.
27210
27211 * tests/grub_script_blanklines.in: New testcase.
27212 * conf/tests.rmk: Rules for the new testcase.
27213
e4ff6628
VS
272142010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
27215
27216 Don't use __FILE__.
27217
27218 * genmk.rb: Add -DGRUB_FILE to all C targets.
27219 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
27220 * include/grub/list.h: Likewise.
27221 * include/grub/misc.h: Likewise.
27222 * include/grub/mm.h: Likewise.
27223 * include/grub/test.h: Likewise.
27224 * kern/mm.c: Likewise.
27225 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
27226
6a5cf6b6
VS
272272010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
27228
27229 Sunpc partitions support.
27230
27231 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
27232 (grub_fstest_SOURCES): Likewise.
27233 (pkglib_MODULES): Add part_sunpc.mod.
27234 (part_sunpc_mod_SOURCES): New variable.
27235 (part_sunpc_mod_CFLAGS): Likewise.
27236 (part_sunpc_mod_LDFLAGS): Likewise.
27237 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
27238 * partmap/sunpc.c: New file.
27239
746d9045
BC
272402010-03-26 BVK Chaitanya <bvk@localhost>
27241
27242 For loop support to GRUB script.
27243
27244 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
27245 (grub_script_create_cmdfor): New function prototype.
27246 (grub_script_execute_cmdfor): New function prototype.
27247 * script/execute.c (grub_script_execute_cmdfor): New function.
27248 * script/parser.y (command): New for command.
27249 (forcmd): New grammar rule.
27250 * script/script.c (grub_script_create_cmdfor): New function.
27251 * util/grub-script-check.c (grub_script_execute_cmdfor): New
27252 function.
27253 * tests/grub_script_for1.in: New testcase.
27254 * conf/tests.rmk: Rules for new testcase.
27255
18486b18
VS
272562010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
27257
27258 Nested partitions
27259
27260 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
27261 'partition' is NULL, grub_partition_get_start already does that.
27262 * commands/loadenv.c (check_blocklists): Likewise.
27263 (write_blocklists): Likewise.
27264 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
27265 (grub_fstest_SOURCES): Likewise.
27266 (pkglib_MODULES): Add part_bsd.mod.
27267 (part_bsd_mod_SOURCES): New variable.
27268 (part_bsd_mod_CFLAGS): Likewise.
27269 (part_bsd_mod_LDFLAGS): Likewise.
27270 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
27271 (grub_emu_SOURCES): Likewise.
27272 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27273 * include/grub/bsdlabel.h: New file.
27274 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
27275 'get_name'.
27276 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
27277 (grub_partition_map_list): New variable.
27278 (grub_partition_map_register): Inline.
27279 (grub_partition_map_unregister): Likewise.
27280 (FOR_PARTITION_MAPS): New macro.
27281 (grub_partition_map_iterate): Removed.
27282 (grub_partition_get_start): Handle nested partitions.
27283 * include/grub/msdos_partition.h: Remove bsd-related entries.
27284 (grub_pc_partition): Remove.
27285 * kern/disk.c (grub_disk_close): Free partition data.
27286 (grub_disk_adjust_range): Handle nested partitions.
27287 * kern/partition.c (grub_partition_map_probe): New function.
27288 (grub_partition_probe): Parse name to number, handle subpartitions.
27289 (get_partmap): New function.
27290 (grub_partition_iterate): Handle subpartitions.
27291 (grub_partition_get_name): Likewise.
27292 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
27293 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
27294 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
27295 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
27296 Set 'number'.
27297 (acorn_partition_map_probe): Remove.
27298 (acorn_partition_map_get_name): Likewise.
27299 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
27300 Set 'number'.
27301 Set 'index' to 0 since there can be only one partition entry per sector.
27302 (amiga_partition_map_probe): Remove.
27303 (amiga_partition_map_get_name): Likewise.
27304 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
27305 Set 'number'.
27306 Set 'offset' and 'index' to real positions of partitions.
27307 (apple_partition_map_probe): Remove.
27308 (apple_partition_map_get_name): Likewise.
27309 * partmap/bsdlabel.c: New file.
27310 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
27311 Set 'number'.
27312 Allocate 'data' so it can be correctly freed.
27313 Set 'index' to offset inside sector.
27314 (gpt_partition_map_probe): Remove.
27315 (gpt_partition_map_get_name): Likewise.
27316 * partmap/msdos.c (grub_partition_parse): Remove.
27317 (pc_partition_map_iterate): Don't force raw access.
27318 Set 'number'.
27319 Make 'ext_offset' a local variable.
27320 (pc_partition_map_probe): Remove.
27321 (pc_partition_map_get_name): Remove.
27322 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
27323 Set 'number'.
27324 (sun_partition_map_probe): Remove.
27325 (sun_partition_map_get_name): Likewise.
27326 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
27327 (grub_pcpart_type): Likewise.
27328 * util/hostdisk.c (open_device): Handle new numbering scheme.
27329 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
27330 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
27331 * util/grub-probe.c (probe_partmap): Handle nested paritions.
27332 * util/grub-install.in: Insert all subpartition modules.
27333 * util/ieee1275/grub-install.in: Likewise.
27334
a3940f88
AG
273352010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
27336
27337 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
27338 grammar.
27339
21b99926 273402010-03-24 Colin Watson <cjwatson@ubuntu.com>
27341
27342 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
27343
bed1d352
CW
273442010-03-21 Colin Watson <cjwatson@ubuntu.com>
27345
27346 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
27347 match where 'make install' puts them.
27348 * util/i386/efi/grub-install.in: Likewise.
27349
c9f58427
CW
273502010-03-19 Colin Watson <cjwatson@ubuntu.com>
27351
27352 * .bzrignore: Add gentrigtables, grub-script-check,
27353 grub_script_check_init.c, grub_script_check_init.h, and
27354 trigtables.c.
27355
f84afb27
VS
273562010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
27357
27358 * kern/parser.c: Indented.
27359
ed0e3d30
VS
273602010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
27361
27362 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
27363
0ea81d98
VS
273642010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
27365
27366 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
27367 alpha_mask_size == 0 case.
27368
0cdc2a09
BC
273692010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
27370
27371 GRUB shell lexer and parser improvements.
27372
27373 * conf/any-emu.rmk: Build rule updates.
27374 * conf/common.rmk: Likewise.
27375 * conf/i386-coreboot.rmk: Likewise.
27376 * conf/i386-efi.rmk: Likewise.
27377 * conf/i386-ieee1275.rmk: Likewise.
27378 * conf/i386-pc.rmk: Likewise.
27379 * conf/powerpc-ieee1275.rmk: Likewise.
27380 * conf/x86_64-efi.rmk: Likewise.
27381
27382 * configure.ac: Configure check for flex.
27383
27384 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
27385 types.
27386 (grub_lexer_param): Struct member updates.
27387 (grub_parser_param): Likewise.
27388 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
27389 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
27390 (grub_script_lexer_init): Prototype update.
27391 (grub_script_lexer_record_start): Likewise.
27392 (grub_script_lexer_record_stop): Likewise.
27393 (grub_script_lexer_yywrap): New function prototype.
27394 (grub_script_lexer_fini): Likewise.
27395 (grub_script_execute_argument_to_string): Removed by...
27396 (grub_script_execute_argument_to_argv): ...better version.
27397
27398 * script/execute.c (ROUND_UPTO): New macro.
27399 (grub_script_execute_cmdline): Out of memory fixes.
27400 (grub_script_execute_menuentry): Likewise.
27401 (grub_script_execute_argument_to_string): Removed. Update all
27402 users by...
27403 (grub_script_execute_argument_to_argv): ...better version.
27404 * script/function.c (grub_script_function_create): Use
27405 grub_script_execute_argument_to_argv instead of
27406 grub_script_execute_argument_to_string.
27407
27408 * script/lexer.c (check_varstate): Removed.
27409 (check_textstate): Removed.
27410 (grub_script_lexer_record_start): Likewise.
27411 (grub_script_lexer_record_stop): Likewise.
27412 (recordchar): Replaced with...
27413 (grub_script_lexer_record): ...new function.
27414 (nextchar): Removed.
27415 (grub_script_lexer_init): Rewritten.
27416 (grub_script_yylex): Rewritten.
27417 (append_newline): New function.
27418 (grub_script_lexer_yywrap): New function.
27419 (grub_script_lexer_fini): New function.
27420 (grub_script_yyerror): Sets error flag.
27421
27422 * script/yylex.l: New file.
27423 (grub_lexer_yyfree): Wrapper for flex yyffre.
27424 (grub_lexer_yyalloc): Likewise.
27425 (grub_lexer_yyrealloc): Likewise.
27426 * script/parser.y: Refactored.
27427
27428 * script/script.c (grub_script_arg_add): Out of memory fixes.
27429 (grub_script_add_arglist): Likewise.
27430 (grub_script_create_cmdline): Likewise.
27431 (grub_script_create_cmdmenu): Likewise.
27432 (grub_script_add_cmd): Likewise.
27433 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
27434 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
27435 unnecessary code.
27436
27437 * tests/grub_script_echo1.in: New testcase.
27438 * tests/grub_script_vars1.in: New testcase.
27439 * tests/grub_script_echo_keywords.in: New testcase.
27440
1d63a066
VS
274412010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27442
27443 Remove some redundancy in build system.
27444
27445 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
27446 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
27447 (TARGET_LDFLAGS): Add -nostdlib.
27448 (TARGET_IMG_LDFLAGS): Likewise.
27449 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
27450 anything since mmap isn't available.
27451 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
27452 Add util/time.c.
27453 (pkglib_MODULES): Remove reboot.mod.
27454 (reboot_mod_SOURCES): Removed.
27455 (reboot_mod_CFLAGS): Likewise.
27456 (reboot_mod_LDFLAGS): Likewise.
27457 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
27458 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
27459 (DEFSYMFILES): Add kernel_syms.lst.
27460 (kernel_img_HEADERS): Add common headers.
27461 (symlist.c): New target.
27462 (kernel_syms.lst): Likewise.
27463 (pkglib_MODULES): Add memdisk.mod.
27464 (memdisk_mod_SOURCES): New variable.
27465 (memdisk_mod_CFLAGS): Likewise.
27466 (memdisk_mod_LDFLAGS): Likewise.
27467 (pkglib_MODULES): Add reboot.mod.
27468 (reboot_mod_SOURCES): New variable.
27469 (reboot_mod_CFLAGS): Likewise.
27470 (reboot_mod_LDFLAGS): Likewise.
27471 (pkglib_MODULES): Add date.mod.
27472 (date_mod_SOURCES): New variable.
27473 (date_mod_CFLAGS): Likewise.
27474 (date_mod_LDFLAGS): Likewise.
27475 (pkglib_MODULES): Add datehook.mod.
27476 (datehook_mod_SOURCES): New variable.
27477 (datehook_mod_CFLAGS): Likewise.
27478 (datehook_mod_LDFLAGS): Likewise.
27479 (pkglib_MODULES): Add lsmmap.mod.
27480 (lsmmap_mod_SOURCES): New variable.
27481 (lsmmap_mod_CFLAGS): Likewise.
27482 (lsmmap_mod_LDFLAGS): Likewise.
27483 (pkglib_MODULES): Add boot.mod.
27484 (boot_mod_SOURCES): New variable.
27485 (boot_mod_CFLAGS): Likewise.
27486 (boot_mod_LDFLAGS): Likewise.
27487 * conf/i386-coreboot.rmk: Removed redundant parts.
27488 * conf/i386-ieee1275.rmk: Likewise.
27489 * conf/i386-pc.rmk: Likewise.
27490 * conf/mips-yeeloong.rmk: Likewise.
27491 * conf/mips.rmk: Likewise.
27492 * conf/powerpc-ieee1275.rmk: Likewise.
27493 * conf/sparc64-ieee1275.rmk: Likewise.
27494 * conf/x86_64-efi.rmk: Likewise.
27495 * conf/i386-coreboot.rmk: Moved qemu parts ..
27496 * conf/i386-qemu.rmk: ... here
27497 * conf/i386-efi.rmk: Moved common parts to...
27498 * conf/x86-efi.rmk: ... here.
27499 * conf/i386.rmk: Added modules common to all x86 variants.
27500 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
27501 * disk/memdisk.c: Remove grub/machine/kernel.h.
27502 * gensymlist.sh.in: Include symbol.h.
27503 * hook/datehook.c: Correct module name.
27504 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
27505 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
27506 * include/grub/i386/efi/serial.h: New file.
27507 * include/grub/x86_64/efi/serial.h: Likewise.
27508 * util/time.c: Likewise.
27509 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
27510
463ac55f
CK
275112010-03-14 Colin King <colin.king@ubuntu.com>
275122010-03-14 Colin Watson <cjwatson@ubuntu.com>
27513
27514 Shrink the pre-partition-table part of boot.img by eight bytes.
27515
27516 * boot/i386/pc/boot.S (ERR): New macro.
27517 (chs_mode): Use ERR.
27518 (geometry_error): Likewise.
27519 (hd_probe_error): Remove. This is only used once, so we wrwite
27520 it inline instead.
27521 (read_error): Instead of printing read_error_string, just set up
27522 %si and fall through to ...
27523 (error_message): ... this new function, also used by ERR.
27524
08e46ede
CW
275252010-03-14 Colin Watson <cjwatson@ubuntu.com>
27526
27527 Speed up consecutive hostdisk operations on the same device.
27528
27529 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
27530 (grub_util_biosdisk_open): Initialise disk->data.
27531 (struct linux_partition_cache): New structure.
27532 (linux_find_partition): Cache partition start positions; these are
27533 expensive to compute on every read and write.
27534 (open_device): Cache open file descriptor in disk->data, so that we
27535 don't have to reopen it and flush the buffer cache for consecutive
27536 operations on the same device.
27537 (grub_util_biosdisk_close): New function.
27538 (grub_util_biosdisk_dev): Set `close' member.
27539
27540 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
27541 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
27542 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
27543 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
27544 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
27545
4a6d2d06
VS
275462010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27547
27548 Compile parts of grub-emu as modules.
27549
27550 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
27551 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
27552 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
27553 (all-local): Add $(GRUB_EMU).
27554 (install-local): Install $(GRUB_EMU).
27555 (uninstall): Uninstall $(GRUB_EMU).
27556 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
27557 * kern/dl.c: Likewise.
27558 * commands/sleep.c: Not include machine/time.h.
27559 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
27560 (COMMON_CFLAGS): Likewise.
27561 (sbin_UTILITIES): Remove grub-emu.
27562 (grub_emu_SOURCES): Removed.
27563 (kernel_img_RELOCATABLE): New variable.
27564 (pkglib_PROGRAMS): Add kernel.img.
27565 (kernel_img_SOURCES): New variable
27566 (kernel_img_CFLAGS): Likewise.
27567 (kernel_img_LDFLAGS): Likewise.
27568 (TARGET_NO_STRIP): Likewise.
27569 (TARGET_NO_DYNAMIC_MODULES): Likewise.
27570 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
27571 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
27572 (grub-emu): New target.
27573 (GRUB_EMU): New variable.
27574 * configure.ac: Whitelist -emu as possible x86_64 architecture.
27575 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
27576 * loader/xnu.c: Likewise.
27577 * include/grub/pci.h: Likewise.
27578 * genemuinit.sh: New file.
27579 * genemuinitheader.sh: Likewise.
27580 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
27581 Support TARGET_NO_DYNAMIC_MODULES.
27582 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
27583 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
27584 * disk/loopback.c: Likewise.
27585 * font/font_cmd.c: Likewise.
27586 * partmap/acorn.c: Likewise.
27587 * partmap/amiga.c: Likewise.
27588 * partmap/apple.c: Likewise.
27589 * partmap/gpt.c: Likewise.
27590 * partmap/msdos.c: Likewise.
27591 * partmap/sun.c: Likewise.
27592 * parttool/msdospart.c: Likewise.
27593 * term/gfxterm.c: Likewise.
27594 * video/bitmap.c: Likewise.
27595 * video/readers/jpeg.c: Likewise.
27596 * video/readers/png.c: Likewise.
27597 * video/readers/tga.c: Likewise.
27598 * video/video.c: Likewise.
27599 * util/grub-emu.c (read_command_list): Removed.
27600 (main): Don't call util_init_nls.
27601 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
27602 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
27603
91fdd2ed
VS
276042010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27605
27606 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
27607 date.mod, datehook.mod.
27608 (datetime_mod_SOURCES): New variable.
27609 (datetime_mod_CFLAGS): Likewise.
27610 (datetime_mod_LDFLAGS): Likewise.
27611 (date_mod_SOURCES): Likewise.
27612 (date_mod_CFLAGS): Likewise.
27613 (date_mod_LDFLAGS): Likewise.
27614 (datehook_mod_SOURCES): Likewise.
27615 (datehook_mod_CFLAGS): Likewise.
27616 (datehook_mod_LDFLAGS): Likewise.
27617 * conf/sparc64-ieee1275.rmk: Likewise.
27618 * lib/ieee1275/datetime.c: New file.
27619
873ccae6
VS
276202010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27621
27622 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
27623 (ieee1275_fb_mod_SOURCES): New variable.
27624 (ieee1275_fb_mod_CFLAGS): Likewise.
27625 (ieee1275_fb_mod_LDFLAGS): Likewise.
27626 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
27627 New proto.
27628 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
27629 (HEAP_MAX_ADDR): Likewise.
27630 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
27631 type.
27632 Correct stop condition.
27633 (grub_ieee1275_devices_iterate): New function.
27634 * video/ieee1275.c: New file.
27635
601c97c0
VS
276362010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27637
27638 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
27639
27640 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
27641 as scratch.
27642 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
27643 SCRATCH_PAD_DISKBOOT as scratch.
27644 (bootit): Pass Openfirmware pointer in %o4.
27645 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
27646 of 0x200000.
27647 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
27648 with util/grub-mkrawimage.c.
27649 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
27650 * include/grub/aout.h (AOUT_MID_SUN): New definition.
27651 (grub_aout_get_type) [GRUB_UTIL]: Removed.
27652 (grub_aout_load) [GRUB_UTIL]: Likewise.
27653 * include/grub/kernel.h (grub_modules_get_end): New proto.
27654 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
27655 (SCRATCH_PAD_BOOT): New definition.
27656 (SCRATCH_PAD_DISKBOOT): Likewise.
27657 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
27658 * include/grub/sparc64/ieee1275/ieee1275.h
27659 (grub_ieee1275_original_stack): New variable
27660 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
27661 New definition
27662 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
27663 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
27664 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
27665 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
27666 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
27667 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
27668 (grub_platform_image_format_t): New type.
27669 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
27670 * kern/main.c (grub_modules_get_end)
27671 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
27672 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
27673 (codestart): Switch stacks.
27674 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
27675 variable.
27676 (grub_heap_init): Use grub_modules_get_end.
27677 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
27678 stack.
27679 * util/grub-mkrawimage.c (generate_image): Support sparc64.
27680 (main): Likewise.
27681 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
27682
d68b491e
TG
276832010-03-14 Thorsten Glaser <tg@mirbsd.org>
27684
27685 * util/grub-mkrescue.in: Base ISO UUID on UTC.
27686
4e02ed50
MK
276872010-03-08 Matt Kraai <kraai@ftbfs.org>
27688
27689 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
27690 bug #559005).
27691
1f15fc1e
VS
276922010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
27693
27694 * genmoddep.awk: Output all missing symbols and not only first.
27695
fce5d8ff
VS
276962010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27697
27698 * NEWS: Put the date of 1.98 release.
27699
d1e8a02f
VS
277002010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27701
27702 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
27703 ft2build.h.
27704
696fd607
VS
277052010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27706
27707 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
27708 completition in the middle of string.
27709
33e2e6f3
VS
277102010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27711
27712 * util/grub-mkrescue.in: Use mktemp with explicit template.
27713
b1f6d291
VS
277142010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27715
27716 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
27717
2ac227c7
VS
277182010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27719
27720 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
27721 right pointer.
27722
8f9a632b
VS
277232010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
27724
27725 Fix FreeBSD compilation.
27726
27727 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
27728 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
27729
60b03859
VS
277302010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
27731
27732 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
27733
48a5a769
VS
277342010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27735
27736 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
27737
3ab4bd77
VS
277382010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27739
27740 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
27741
d116e0d8
RM
277422010-03-04 Robert Millan <rmh.grub@aybabtu.com>
27743
27744 Support relative image path in theme file.
27745
27746 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
27747 (image_set_property): Handle theme_dir and relative path.
27748
c7ef54aa
VS
277492010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27750
27751 * configure.ac: Alias amd64 to x86_64.
27752
fcee14ed
VS
277532010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27754
27755 * NEWS: mention multiboot on EFI.
27756
d0780363
VS
277572010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27758
27759 * kern/main.c (grub_load_modules): Handle errors from init functions of
27760 embeded modules.
27761
41168ea4
VS
277622010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27763
27764 * normal/autofs.c (autoload_fs_module): Handle errors.
27765
b54d93ac
VS
277662010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27767
27768 Disable linux.mod on qemu-mips since it's not functional and leads
27769 to compilation failure.
27770
27771 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
27772 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
27773 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
27774 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
27775 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
27776 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
27777 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
27778 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
27779 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
27780 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
27781 Reported by: BVK Chaitanya
27782
fc8345da
JU
277832010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
27784
27785 * INSTALL: Add gettext as a dependency and add qemu to a new section
27786 "Prerequisites for make-check".
27787
4760f979
CF
277882010-03-04 Christian Franke <franke@computer.org>
27789
27790 * util/grub-pe2elf.c: Add missing include "progname.h".
27791
f209b5b2
VS
277922010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27793
27794 * normal/crypto.c (read_crypto_list): Fix a typo.
27795 Reported by: Seth Goldberg.
27796
b4b7be98
VS
277972010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27798
27799 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 27800 Reported by: Seth Goldberg.
b4b7be98 27801
c0ee0385
VS
278022010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27803
27804 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
27805 ascii.bitmaps.
27806
a8efbf64
VS
278072010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27808
27809 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 27810 Reported by: Seth Goldberg.
a8efbf64 27811
08dcd913
VS
278122010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27813
27814 * util/i386/efi/grub-install.in: Copy gettext files.
27815
c4d0b332
VS
278162010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
27817
27818 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
27819
c6f2fe52
VS
278202010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
27821
27822 Wait for user entry basing on presence of output rather than on errors.
27823
27824 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
27825 (grub_install_newline_hook): Likewise.
27826 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
27827 * normal/menu.c (show_menu): Check line_counter to determine presence
27828 of output.
27829 * normal/term.c (grub_normal_line_counter): New variable.
27830 (grub_normal_get_line_counter): New function.
27831 (grub_install_newline_hook): Likewise.
27832
5382b1e4
VS
278332010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
27834
27835 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
27836
5519963b
VS
278372010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
27838
27839 * configure.ac: Update version to 1.98.
27840
72b28631
VS
278412010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
27842
27843 * util/grub.d/10_linux.in (linux_entry): Don't default to
27844 gfxpayload=keep if Linux doesn't support video handover.
27845
c140a180
VS
278462010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
27847
27848 Don't compile video modules on yeeloong since video subsystem is part
27849 of kernel.
27850
27851 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
27852 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
27853 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
27854 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
27855 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
27856 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
27857 * include/grub/bitmap_scale.h: Likewise.
27858 * include/grub/bufio.h: Likewise.
27859 * include/grub/font.h: Likewise.
27860 * include/grub/gfxterm.h: Likewise.
27861 * include/grub/video.h: Likewise.
27862 * include/grub/vbe.h: Don't include video_fb.h.
27863 * video/i386/pc/vbe.c: Include video_fb.h.
27864 * commands/i386/pc/vbetest.c: Include video.h.
27865
a0ca21c2
CW
278662010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
27867
27868 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
27869 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
27870 default entry if GRUB_SAVEDEFAULT=true. This allows using
27871 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
27872 saving a new default on every boot.
27873
4a8a763c
VS
278742010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
27875
27876 * normal/crypto.c (read_crypto_list): Fix a memory leak.
27877 * normal/term.c (read_terminal_list): Likewise.
27878 * normal/main.c (grub_normal_init_page): Likewise.
27879 (grub_normal_read_line_real): Likewise.
27880
607ffde2
VS
278812010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
27882
27883 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
27884 memory leak.
27885 Reported by: Seth Goldberg.
27886
2b8fa975
CW
278872010-02-24 Joey Korkames <joey+lists@kidfixit.com>
27888
27889 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
27890 duplicate declaration of `start'.
27891
618307dd
VS
278922010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
27893
27894 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
27895 filename.
27896 Reported by: Georgy Buranov
27897
7dd05b96 278982010-02-20 Carles Pina i Estany <carles@pina.cat>
27899
27900 * util/grub-mkrawimage.c (usage): Change string formatting to
27901 improve gettext.
27902
d1484a42
MRA
279032010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
27904
27905 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
27906 backspace keys.
27907
42b1d186
VS
279082010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
27909
27910 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
27911 Reported by: Michael Suchanek.
27912
279132010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
27914
27915 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
27916 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
27917
d9f31a41
VS
279182010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
27919
27920 Remove any reference to non-free fonts.
27921
27922 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
27923 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
27924 uses non-free components.
27925 * font/font.c (grub_font_get_name): Remove example name.
27926 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
27927 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
27928 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
27929 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
27930
2793c71e
GB
279312010-02-16 Georgy Buranov <gburanov@gmail.com>
27932
27933 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
27934
402e3779
VS
279352010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
27936
27937 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
27938 Double divisor.
27939 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
27940 features.
27941 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
27942
0dd1e0dd
VS
279432010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
27944
27945 * gensymlist.sh.in: Use TARGET_CC instead of CC.
27946
6fa7cfce
ST
279472010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
27948
27949 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
27950 * docs/grub.texi (Command-line and menu entry commands): Document play
27951 command.
27952
37c8483b
ST
279532010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
27954
27955 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
27956 parse arguments as inline tempo and notes. Move code for playing notes
27957 to...
27958 (play): ... new function.
27959
14da0fb7
ST
279602010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
27961
27962 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
27963 grub_uint16_t instead of short.
27964 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
27965 disk from little endian to cpu endianness.
27966
04459e70
ST
279672010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
27968
27969 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
27970 GRUB_TICKS_PER_SECOND instead of 120.
27971
a0876943
VS
279722010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
27973
27974 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
27975 escape sequence after \e.
27976
e29f95dc
VS
279772010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
27978
27979 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
27980 non-ASCII characters.
27981
d27859b2
VS
279822010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
27983
27984 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
27985 set root in single quotes to prevent \, from being unescaped.
27986
bc028f2f
VS
279872010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
27988
27989 Prevent unknown commands from stopping menuentry execution.
27990
27991 * script/execute.c (grub_script_execute_cmdline): Print error after
27992 unknown command.
27993
095f5f82
VS
279942010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
27995
27996 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
27997 Reported by: Pavel Pisa.
27998
8c717950
VS
279992010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28000
28001 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
28002
904935c3
VS
280032010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28004
28005 Merge grub_ieee1275_map_physical into grub_map and rename to
28006 grub_ieee1275_map
28007
28008 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
28009 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
28010 Remove.
28011 * kern/ieee1275/openfw.c (grub_map): Rename to ...
28012 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
28013 necessary.
28014 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
28015
5b59a4e3
VS
280162010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28017
28018 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
28019 opening and not after.
28020
69e137e8
VS
280212010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28022
28023 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
28024 constants.
28025
2c0fcc36
VS
280262010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28027
28028 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
28029 (alloc_phys): Use ALIGN_UP instead of align_addr.
28030
8c6052ce
VS
280312010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28032
28033 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
28034
17cec782
VS
280352010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28036
28037 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
28038
e0128bbd
VS
280392010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28040
28041 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
28042 verbose dprintf.
28043
ca62070b
VS
280442010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28045
28046 Fix over-4GiB seek on sparc64.
28047
28048 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
28049 Replace pos_i and pos_lo with pos. All users updated.
28050 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
28051 New constant.
28052 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
28053 Likewise.
28054 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
28055 and pos_lo.
28056
bdca2607
VS
280572010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28058
28059 * util/grub-mkrawimage.c (main): Call set_program_name.
28060
da278c4d
VS
280612010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28062
28063 Properly align 64-bit targets.
28064
28065 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
28066 (generate_image): Use ALIGN_ADDR.
28067
b274d734
VS
280682010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28069
28070 Properly create cross-endian images.
28071
28072 * include/grub/types.h (grub_host_to_target_addr): New macro
28073 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
28074
82da2062
VS
280752010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28076
28077 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
28078
7cae4377
VS
280792010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
28080
28081 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
28082
28083 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
28084 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
28085 (grub_linux_boot): Divide by 64K when on VESA.
28086
65a533e7
VS
280872010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
28088
28089 Support GRUB_GFXPAYLOAD_LINUX.
28090
28091 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
28092 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
28093
dd01d397
VS
280942010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
28095
28096 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
28097 to show messages instead of discarding them.
28098 Process errors after executing command and not before. Keep old method
28099 too as precaution.
28100
660960d6
VS
281012010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
28102
28103 * configure.ac: Check for ft2build.h.
28104
62509f04
VS
281052010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28106
28107 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
28108
473df63d
VS
281092010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28110
28111 * genkernsyms.sh.in: Use TARGET_CC.
28112
c98d2a13
CW
281132010-02-07 Colin Watson <cjwatson@ubuntu.com>
28114
28115 * NEWS: Update.
28116
6e14234c
VS
281172010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28118
28119 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
28120 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
28121 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 28122
b255e9cf
YB
281232010-02-07 Yves Blusseau <blusseau@zetam.org>
28124
6e14234c 28125 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 28126
98e6959d
VS
281272010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28128
28129 Fix warnings in grub-emu when compiling with maximum warning options.
28130
28131 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
28132 (grub_arch_modules_addr): Return 0 and not NULL.
28133 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 28134 (xstrdup): Use newstr instead of dup.
f88d801b
VS
28135 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
28136 of disk to dsk to avoid shadowing.
74e4934e
VS
28137 (find_free_slot): Fix prototype.
28138 * util/getroot.c (grub_util_is_dmraid): Make static.
28139 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
28140 Add missing prototype.
28141 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 28142
74e31b5c
VS
281432010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28144
28145 * loader/i386/linux.c (grub_linux_setup_video): Handle error
28146 appropriately.
28147
6b2ad14b
VS
281482010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28149
28150 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
28151 code out.
28152
8f891adc
VS
281532010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28154
28155 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
28156 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
28157 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
28158 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
28159 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
28160 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
28161
74b45184
VS
281622010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28163
28164 * include/grub/err.h (grub_err_printf): Don't export.
28165
a4bced77
VS
281662010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28167
28168 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
28169
007d0695
VS
281702010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28171
28172 * include/grub/i18n.h (grub_gettext_dummy): Removed.
28173 * kern/misc.c (grub_gettext_dummy): Make static.
28174
b6c0d9c2
VS
281752010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28176
28177 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
28178 by non-valid ones.
28179 * kern/term.c (grub_putchar): Likewise.
28180
f51a90d0
VS
281812010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28182
28183 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
28184 buggy hook call and memory leak.
28185
6846cec5
VS
281862010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28187
28188 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
28189
468d69fe
VS
281902010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28191
28192 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
28193
51906b8c
VS
281942010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28195
28196 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
28197 modevar.
28198 Return grub_errno on allocation error.
28199
09706ce5
VS
282002010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28201
28202 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
28203
911df80c
YB
282042010-02-06 Yves Blusseau <blusseau@zetam.org>
28205
28206 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
28207 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
28208
3746a6bc
VS
282092010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28210
28211 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
28212 non-pxe disk.
28213 (grub_pxefs_open): Likewise.
28214
09706ce5
VS
282152010-02-06 Robert Millan <rmh.grub@aybabtu.com>
28216
28217 * util/grub.d/10_hurd.in: Add --class information to menuentries.
28218 * util/grub.d/10_kfreebsd.in: Likewise.
28219 * util/grub.d/10_linux.in: Likewise.
28220
7cc192d9
VS
282212010-02-06 Colin D Bennett <colin@gibibit.com>
28222
28223 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
28224 (gfxmenu_mod_SOURCES): New variable.
28225 (gfxmenu_mod_CFLAGS): Likewise.
28226 (gfxmenu_mod_LDFLAGS): Likewise.
28227 * include/grub/term.h (grub_term_set_current_output): Declare
28228 argument as const.
28229 * docs/gfxmenu-theme-example.txt: New file.
28230 * gfxmenu/gfxmenu.c: Likewise.
28231 * gfxmenu/gui_box.c: Likewise.
28232 * gfxmenu/gui_canvas.c: Likewise.
28233 * gfxmenu/gui_circular_progress.c: Likewise.
28234 * gfxmenu/gui_image.c: Likewise.
28235 * gfxmenu/gui_label.c: Likewise.
28236 * gfxmenu/gui_list.c: Likewise.
28237 * gfxmenu/gui_progress_bar.c: Likewise.
28238 * gfxmenu/gui_string_util.c: Likewise.
28239 * gfxmenu/gui_util.c: Likewise.
28240 * gfxmenu/icon_manager.c: Likewise.
28241 * gfxmenu/model.c: Likewise.
28242 * gfxmenu/named_colors.c: Likewise.
28243 * gfxmenu/theme_loader.c: Likewise.
28244 * gfxmenu/view.c: Likewise.
28245 * gfxmenu/widget-box.c: Likewise.
28246 * include/grub/gfxmenu_model.h: Likewise.
28247 * include/grub/gfxmenu_view.h: Likewise.
28248 * include/grub/gfxwidgets.h: Likewise.
28249 * include/grub/gui.h: Likewise.
28250 * include/grub/gui_string_util.h: Likewise.
28251 * include/grub/icon_manager.h: Likewise.
28252
282532010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28254
28255 Agglomerate scrolling in gfxterm.
28256
28257 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
28258 (grub_virtual_screen_setup): Initialise 'total_screen'.
28259 (write_char): Split to ...
28260 (paint_char): ... this ...
28261 (write_char): ... and this.
28262 (paint_char): Handle delayed scrolling.
28263 (draw_cursor): Likewise.
28264 (scroll_up): Split to ...
28265 (real_scroll): ... this ...
28266 (scroll_up): ... and this.
28267 (real_scroll): Handle multi-line scroll and draw below-the-bottom
28268 characters.
28269 (grub_gfxterm_refresh): Call real_scroll.
28270
282712010-02-06 Colin D Bennett <colin@gibibit.com>
28272
28273 * include/grub/misc.h (grub_iscntrl): New inline function.
28274 (grub_isalnum): Likewise.
28275 (grub_strtol): Likewise.
28276
282772010-02-06 Colin D Bennett <colin@gibibit.com>
28278
28279 * normal/menu_text.c (get_entry_number): Move from here ...
28280 * normal/menu.c (get_entry_number): ... moved here.
28281 * include/grub/menu.h (grub_menu_get_default_entry_index):
28282 New prototype.
28283 * normal/menu.c (grub_menu_get_default_entry_index): New function.
28284 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
28285 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
28286 (grub_menu_viewer_should_return): Likewise.
28287 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
28288 * normal/menu_text.c (run_menu): Enable menu switching.
28289 * normal/menu_viewer.c (should_return): New variable.
28290 (menu_viewer_changed): Likewise.
28291 (grub_menu_viewer_show_menu): Handle menu viewer changes.
28292 (grub_menu_viewer_should_return): New function.
28293 (menuviewer_write_hook): Likewise.
28294 (grub_menu_viewer_init): Likewise.
28295
282962010-02-06 Colin D Bennet <colin@gibibit.com>
282972010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28298
28299 Support for gfxterm in a window.
28300
28301 * include/grub/gfxterm.h: New file.
28302 * include/grub/video.h (struct grub_video_rect): New declaration.
28303 (grub_video_rect_t): Likewise.
28304 * term/gfxterm.c (struct grub_gfxterm_window): New type.
28305 (refcount): New variable.
28306 (render_target): Likewise.
28307 (window): Likewise.
28308 (repaint_callback): Likewise.
28309 (grub_virtual_screen_setup): Use 'render_target'.
28310 (init_window): New function.
28311 (grub_gfxterm_init_window): Likewise.
28312 (grub_gfxterm_init): Check reference counter.
28313 Use init_window.
28314 (destroy_window): New function.
28315 (grub_gfxterm_destroy_window): Likewise.
28316 (grub_gfxterm_fini): Check reference counter.
28317 Use destroy_window.
28318 (redraw_screen_rect): Restore viewport.
28319 Use 'render_target' and 'window'.
28320 Call 'repaint_callback'.
28321 (write_char): Use 'render_target'.
28322 (draw_cursor): Likewise.
28323 (scroll_up): Restore viewport.
28324 Use 'render_target' and 'window'.
28325 Call 'repaint_callback'.
28326 (grub_gfxterm_cls): Likewise.
28327 (grub_gfxterm_refresh): Use 'window'.
28328 (grub_gfxterm_set_repaint_callback): New function.
28329 (grub_gfxterm_background_image_cmd): Use 'window'.
28330 (grub_gfxterm_get_term): New function.
28331 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
28332
283332010-02-06 Colin D Bennett <colin@gibibit.com>
28334
28335 Bitmap scaling support.
28336
28337 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
28338 (bitmap_scale_mod_SOURCES): New variable.
28339 (bitmap_scale_mod_CFLAGS): Likewise.
28340 (bitmap_scale_mod_LDFLAGS): Likewise.
28341 * include/grub/bitmap_scale.h: New file.
28342 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
28343 (background_image_cmd_options): New variable.
28344 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
28345 (cmd): Rename and change type to ...
28346 (background_image_cmd_handle): ... this. All users updated.
28347 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
28348 * video/bitmap_scale.c: New file.
28349
283502010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28351
28352 SDL support.
28353
28354 * Makefile.in (LIBSDL): New variable.
28355 (enable_grub_emu_sdl): Likewise.
28356 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
28357 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
28358 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
28359 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
28360 * util/sdl.c: New file.
28361
283622010-02-06 Colin D Bennett <colin@gibibit.com>
283632010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28364
28365 Double buffering support.
28366
28367 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
28368 * include/grub/video.h: Update comment.
28369 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
28370 New type.
28371 (grub_video_fb_doublebuf_blit_init): New prototype.
28372 * term/gfxterm.c (scroll_up): Support double buffering.
28373 (grub_gfxterm_refresh): Likewise.
28374 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
28375 (grub_video_fb_doublebuf_blit_init): Likewise.
28376 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
28377 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
28378 'displayed_page', 'render_page' and 'update_screen'.
28379 (grub_video_vbe_fini): Free offscreen buffer.
28380 (doublebuf_pageflipping_commit): New function.
28381 (doublebuf_pageflipping_update_screen): Likewise.
28382 (doublebuf_pageflipping_init): Likewise.
28383 (double_buffering_init): Likewise.
28384 (grub_video_vbe_setup): Enable doublebuffering.
28385 (grub_video_vbe_swap_buffers): Implement.
28386 (grub_video_vbe_set_active_render_target): Handle double buffering.
28387 (grub_video_vbe_get_active_render_target): Likewise.
28388 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
28389 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
28390 (grub_video_vbe_enable_double_buffering): Likewise.
28391 (grub_video_vbe_swap_buffers): Use update_screen.
28392 (grub_video_set_mode): Use double buffering.
28393
283942010-02-06 Robert Millan <rmh.grub@aybabtu.com>
28395
28396 * maintainance/gentrigtables.py: Remove.
28397 * lib/trig.c: Likewise.
28398
28399 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
28400
28401 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
28402 `trigtables.c'.
28403 (trigtables.c): New rule.
28404 (gentrigtables): Likewise.
28405 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
28406
284072010-02-06 Robert Millan <rmh.grub@aybabtu.com>
28408
28409 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
28410 integer constants.
28411
284122010-02-06 Colin D Bennet <colin@gibibit.com>
28413
28414 Trigonometry support.
28415
28416 * include/grub/trig.h: New file.
28417 * lib/trig.c: Likewise.
28418 * maintainance/gentrigtables.py: Likewise.
28419 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
28420 (trig_mod_SOURCES): New variable.
28421 (trig_mod_CFLAGS): Likewise.
28422 (trig_mod_LDFLAGS): Likewise.
28423
5562834e
VS
284242010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28425
28426 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
28427 disk devices.
28428
4f8528fc
VS
284292010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28430
28431 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
28432 error.
28433
2b4068e9
VS
284342010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
28435
28436 * util/hostdisk.c (open_device): Don't use partition device when reading
28437 before the partition.
28438 (grub_util_biosdisk_read): Don't read from partition and before the
28439 partition in single operation.
28440 (grub_util_biosdisk_write): Don't write to partition and before the
28441 partition in single operation.
28442
399f6e4d
TL
284432010-02-03 Torsten Landschoff <torsten@debian.org>
28444
28445 * kern/disk.c (grub_disk_read): Fix offset computation when reading
28446 last sectors.
28447
996649b0
VS
284482010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
28449
28450 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
28451 CDROM reads.
28452 (grub_biosdisk_write): Refuse to write to CDROM.
28453
3b205d4d
VS
284542010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
28455
28456 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
28457
61e89d9d
VS
284582010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
28459
28460 * font/font.c (find_glyph): Check that bmp_idx is available before
28461 using it.
28462 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
28463 with (font == NULL).
28464
bf7fcba2
CS
284652010-01-28 Christian Schmitt <chris@ilovelinux.de>
28466
28467 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
28468
f45d2663
BC
284692010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
28470
28471 * include/grub/script_sh.h (sourcecode): Add const qualifier.
28472 * util/grub-script-check.c (getline): Fix empty lines case.
28473
ec1444e6
RM
284742010-01-28 Robert Millan <rmh.grub@aybabtu.com>
28475
28476 * Makefile.in (check): Exit with fail status when one of the tests
28477 fails.
28478 * tests/example_functional_test.c (example_test): Fix reversed assert.
28479 * tests/example_unit_test.c (example_test): Likewise.
28480
2e1cb9bb
CW
284812010-01-28 Colin Watson <cjwatson@ubuntu.com>
28482
28483 * util/grub.d/10_linux.in: This script does not use any of the
28484 contents of gettext.sh, only the external command `gettext', so stop
28485 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
28486 the same prefix as GRUB.)
28487 * util/grub.d/10_kfreebsd.in: Likewise.
28488
63533ab0
VS
284892010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
28490
28491 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
28492 of the line.
28493
989e1f93
VS
284942010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
28495
28496 * kern/disk.c (grub_disk_read): Fix offset computation when reading
28497 last sectors.
28498
e709ebe2
VS
284992010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
28500
28501 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
28502 having a 4KiB and not 32KiB buffer size.
28503
27dea7ed
RM
285042010-01-27 Robert Millan <rmh.grub@aybabtu.com>
28505
28506 * util/hostfs.c: Include `<errno.h>'.
28507 (grub_hostfs_read): Handle errors from fseeko() and fread().
28508
67667b9c
RM
285092010-01-27 Robert Millan <rmh.grub@aybabtu.com>
28510
28511 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
28512 loop when using read hooks on files whose size isn't sector-aligned.
28513
c294d9d8
RM
285142010-01-27 Robert Millan <rmh.grub@aybabtu.com>
28515
28516 Remove unused parameter.
28517
28518 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
28519 (grub_iso9660_open): Remove initialization of `data->length'.
28520
af75a9f1
RM
285212010-01-27 Robert Millan <rmh.grub@aybabtu.com>
28522
28523 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
28524 memleak conditions.
28525
254e2ce5 285262010-01-27 Carles Pina i Estany <carles@pina.cat>
28527
28528 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
28529 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
28530
b510928c 285312010-01-26 Carles Pina i Estany <carles@pina.cat>
28532
28533 * util/bin2h.c (usage): Fix warning (space after backslash).
28534
aa2f9dd2 285352010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 28536
28537 * font/font.c: Include `grub/fontformat.h.
28538 Remove font file format constants.
28539 (grub_font_load): Use the new macros.
28540 * include/grub/fontformat.h: New file.
28541 * util/grub-mkfont.c: Include `grub/fontformat.c'.
28542 (write_font_pf2): Use the new macros.
28543
94e7e712
RM
285442010-01-26 Robert Millan <rmh.grub@aybabtu.com>
28545
28546 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
28547 does.
28548
3973a59a
RM
285492010-01-26 Robert Millan <rmh.grub@aybabtu.com>
28550
28551 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
28552
28553 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
28554 (_start): Macroify `0x7F'.
28555
28556 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
28557 (make_install_device): Use "(pxe)" as fallback prefix when booting
28558 via PXE.
28559
42e0cba3
GS
285602010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
28561
28562 * configure.ac: Reset LIBS after check for libgcc symbols.
28563
847effd8
CW
285642010-01-25 Colin Watson <cjwatson@ubuntu.com>
28565
28566 * util/hostdisk.c (open_device): Add trailing newline to debug
28567 message.
28568
ea4a7e35
GS
285692010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
28570
28571 * configure.ac: Check for `limits.h'.
28572 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
28573
67951a53
RM
285742010-01-24 Robert Millan <rmh.grub@aybabtu.com>
28575
28576 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
28577 capitalize error strings.
28578
c273d4ce
ST
285792010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
28580
28581 * util/grub.d/10_hurd.in: Add a recovery mode.
28582
69be5b74
VS
285832010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
28584
28585 * configure.ac: Check for libgcc symbols with -nostdlib.
28586
fc9e5810
BC
285872010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
28588
28589 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
28590
4b358c0a
VS
285912010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
28592
28593 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
28594 stack since heap may be unavailable at that point.
28595 (grub_ofconsole_gotoxy): Likewise.
28596
454fcd1c
VS
285972010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
28598
28599 * configure.ac: Check for _restgpr_14_x.
28600 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
28601 and _savegpr_* prototypes.
28602
566863ca
RM
286032010-01-22 Robert Millan <rmh.grub@aybabtu.com>
28604
28605 Use generic grub_reboot() for i386-efi.
28606
28607 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
28608 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
28609 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
28610
bf86e59a
VS
286112010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
28612
28613 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
28614 presence of "prefix" variable as it breaks when normal.mod is
28615 embedded.
28616
d645e0f8
VS
286172010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
28618
28619 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
28620 stack since heap is unavailable at that point.
28621
f9ab2e25
VS
286222010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
28623
28624 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
28625 (grub_freebsd_bootinfo): Rewritten.
28626 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
28627
01fc7054
VS
286282010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
28629
28630 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
28631
caab4fd6
RM
286322010-01-21 Robert Millan <rmh.grub@aybabtu.com>
28633
28634 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
28635 domain now.
28636
67eb1427
FZ
286372010-01-20 Felix Zielcke <fzielcke@z-51.de>
28638
28639 * util/misc.c (make_system_path_relative_to_its_root): Change the work
28640 around for handling "/" to the correct fix. Fix a memory leak. Use
28641 xstrdup instead of strdup.
28642
a9ed4ff3
VS
286432010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28644
28645 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
28646
286472010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
28648
28649 Optimise glyph lookup by Basic Multilingual Plane lookup array.
28650
28651 * font/font.c (struct grub_font): New member 'bmp_idx'.
28652 (font_init): Initialise 'bmp_idx'.
28653 (load_font_index): Fill 'bmp_idx'.
28654 (find_glyph): Make inline. Use bmp_idx for BMP characters.
28655
48209f4f
VS
286562010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28657
28658 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
28659 unnecessary calls.
28660
9f0a4bb7
VS
286612010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28662
28663 Move context handling out of the kernel.
28664
28665 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
28666 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
28667 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
28668 * conf/i386-efi.rmk: Likewise.
28669 * conf/i386-ieee1275.rmk: Likewise.
28670 * conf/i386-pc.rmk: Likewise.
28671 * conf/powerpc-ieee1275.rmk: Likewise.
28672 * conf/sparc64-ieee1275.rmk: Likewise.
28673 * conf/x86_64-efi.rmk: Likewise.
28674 * include/grub/env.h: Include grub/menu.h.
28675 (grub_env_var_type): Removed.
28676 (grub_env_var): Replaced field 'type' with 'global'.
28677 (grub_env_find): New prototype.
28678 (grub_env_context_open): Remove EXPORT_FUNC.
28679 (grub_env_context_close): Likewise.
28680 (grub_env_export): Likewise.
28681 (grub_env_set_data_slot): Removed.
28682 (grub_env_get_data_slot): Likewise.
28683 (grub_env_unset_data_slot): Likewise.
28684 (grub_env_unset_menu): New prototype.
28685 (grub_env_set_menu): Likewise.
28686 (grub_env_get_menu): Likewise.
28687 * include/grub/env_private.h: New file.
28688 * include/grub/normal.h (grub_context_init): New prototype.
28689 (grub_context_fini): Likewise.
28690 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
28691 * normal/context.c (grub_cmd_export): ... to here.
28692 * kern/env.c: Include env_private.h.
28693 (HASHSZ): Moved to include/grub/env_private.h.
28694 (grub_env_context): Likewise.
28695 (grub_env_sorted_var): Likewise.
28696 (current_context): Renamed from this ...
28697 (grub_current_context): ...to this. 'static' removed. All users updated.
28698 (grub_env_find): Removed 'static'.
28699 (grub_env_context_open): Moved to normal/context.c.
28700 (grub_env_context_close): Likewise.
28701 (grub_env_export): Likewise.
28702 (mangle_data_slot_name): Removed.
28703 (grub_env_set_data_slot): Likewise.
28704 (grub_env_get_data_slot): Likewise.
28705 (grub_env_unset_data_slot): Likewise.
28706 * kern/main.c (grub_set_root_dev): Don't export root.
28707 It will be done later.
28708 (grub_main): Don't export prefix.
28709 It will be done later.
28710 * normal/context.c: New file.
28711 * normal/main.c (free_menu): Use grub_env_unset_menu.
28712 (grub_normal_add_menu_entry): Use grub_env_get_menu.
28713 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
28714 (GRUB_MOD_INIT(normal)): Call grub_context_init.
28715 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
28716
8dd35b8c
VS
287172010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28718
28719 setpci support.
28720
28721 * commands/setpci.c: New file.
28722 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
28723 (setpci_mod_SOURCES): New variable.
28724 (setpci_mod_CFLAGS): Likewise.
28725 (setpci_mod_LDFLAGS): Likewise.
28726
449193d5
VS
287272010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28728
28729 Byte-addressable PCI configuration space.
28730
28731 * bus/pci.c (grub_pci_make_address): Use byte address instead of
28732 dword address.
28733 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
28734 GRUB_PCI_REG_CACHELINE.
28735 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
28736 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
28737 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
28738 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
28739 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
28740 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
28741 grub_pci_make_address.
28742 (lock_rom_area): Likewise.
28743 * commands/lspci.c (grub_lspci_iter): Use macroses
28744 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
28745 of grub_pci_make_address.
28746 * disk/ata.c (grub_ata_pciinit): Likewise.
28747 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
28748 (GRUB_PCI_REG_VENDOR): Likewise.
28749 (GRUB_PCI_REG_DEVICE): Likewise.
28750 (GRUB_PCI_REG_COMMAND): Likewise.
28751 (GRUB_PCI_REG_STATUS): Likewise.
28752 (GRUB_PCI_REG_REVISION): Likewise.
28753 (GRUB_PCI_REG_CLASS): Likewise.
28754 (GRUB_PCI_REG_CACHELINE): Likewise.
28755 (GRUB_PCI_REG_LAT_TIMER): Likewise.
28756 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
28757 (GRUB_PCI_REG_BIST): Likewise.
28758 (GRUB_PCI_REG_ADDRESSES): Likewise.
28759 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
28760 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
28761 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
28762 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
28763 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
28764 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
28765 (GRUB_PCI_REG_CIS_POINTER): Likewise.
28766 (GRUB_PCI_REG_SUBVENDOR): Likewise.
28767 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
28768 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
28769 (GRUB_PCI_REG_CAP_POINTER): Likewise.
28770 (GRUB_PCI_REG_IRQ_LINE): Likewise.
28771 (GRUB_PCI_REG_IRQ_PIN): Likewise.
28772 (GRUB_PCI_REG_MIN_GNT): Likewise.
28773 (GRUB_PCI_REG_MAX_LAT): Likewise.
28774 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
28775 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
28776 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 28777 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
28778 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
28779 space.
28780
96d73208
RM
287812010-01-20 Robert Millan <rmh.grub@aybabtu.com>
28782
28783 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
28784 can be reliably determined to be supported.
28785
d4484482
RM
287862010-01-20 Robert Millan <rmh.grub@aybabtu.com>
28787
28788 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
28789 that VESA is supported.
28790 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
28791 supported.
28792
00308ecf
VS
287932010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28794
28795 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
28796
f66924a4
RM
287972010-01-20 Robert Millan <rmh.grub@aybabtu.com>
28798
28799 * util/misc.c (make_system_path_relative_to_its_root): Work around
28800 special-casing of "/", as previous incarnation of this routine did.
28801
cbca0ada
VS
288022010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28803
28804 Fix any-emu compilation.
28805
28806 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
28807 * grub_bin2h_SOURCES: New variable.
28808
34a66d99
RM
288092010-01-20 Robert Millan <rmh.grub@aybabtu.com>
28810
28811 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
28812
94fabf58
RM
288132010-01-20 Robert Millan <rmh.grub@aybabtu.com>
28814
28815 * util/grub.d/00_header.in: Fix handling of locale_dir.
28816
02cf98ca
VS
288172010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28818
28819 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
28820 as possible unifont location (Gentoo).
28821 Reported by: Alexander Brüning
28822
327dbcd7
VS
288232010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28824
28825 Don't try to generate lists for kernel.img.
28826
28827 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
28828 (pkglib_MODULES): Remove kernel.img.
28829 (kernel_img_EXPORTS): Removed.
28830 (kernel_img_RELOCATABLE): New variable.
28831 * conf/x86_64-efi.rmk: Likewise.
28832 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
28833
ca467290
VS
288342010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28835
28836 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
28837 grub_xasprintf or grub_snprintf.
28838 (grub_vsprintf): Likewise.
28839 (grub_snprintf): New proto.
28840 (grub_vsnprintf): Likewise.
28841 (grub_xasprintf): Likewise.
28842 (grub_xvasprintf): Likewise.
28843 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
28844 (grub_sprintf): Removed.
28845 (grub_vsnprintf): New function.
28846 (grub_snprintf): Likewise.
28847 (grub_xvasprintf): Likewise.
28848 (grub_xasprintf): Likewise.
28849 (grub_vsprintf): Renamed to ...
28850 (grub_vsnprintf_real): ...this. New argument max_len.
28851
aca655fd
BC
288522010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
28853
28854 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
28855 fix grub-script-check warning.
28856
7ee92c32
VS
288572010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28858
28859 * include/grub/font.h (grub_font_load): Fix prototype.
28860
f80927ca
VS
288612010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28862
28863 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
28864
119c50ea
VS
288652010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28866
28867 * include/grub/x86_64/at_keyboard.h: New file.
28868
47d5f3c1
VS
288692010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28870
28871 * loader/mips/linux.c: Include missing grub/i18n.h.
28872
55ff5266
RM
288732009-12-20 Robert Millan <rmh.grub@aybabtu.com>
28874
28875 * normal/menu.c (notify_execution_failure): Clarify error message.
28876
c893cc87
RM
288772009-12-20 Robert Millan <rmh.grub@aybabtu.com>
28878
28879 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
28880 return value (and revert all return statements). Update users.
28881
917dd370
CW
288822010-01-20 Dan Merillat <debian@dan.merillat.org>
28883
28884 * kern/device.c (grub_device_iterate): Allocate new part_ent
28885 structure based on sizeof (*p) rather than sizeof (p->next), to
28886 account for structure padding.
28887
28888 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
28889 disk is NULL, which might happen for LVM physical volumes with no
28890 LVM signature.
28891
d4a4ee57
RM
288922009-12-20 Robert Millan <rmh.grub@aybabtu.com>
28893
28894 * loader/mips/linux.c (grub_cmd_initrd)
28895 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
28896
288972009-12-20 Robert Millan <rmh.grub@aybabtu.com>
28898
28899 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
28900 (grub_video_video_init, grub_video_bitmap_init)
28901 (grub_font_manager_init, grub_term_gfxterm_init)
28902 (grub_at_keyboard_init): New extern declarations.
28903 (grub_machine_init): Initialize gfxterm and at_keyboard.
28904
28905 * kern/main.c (grub_main): Revert grub_printf delay kludge.
28906
28907 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
28908 `gfxterm.mod' into core image.
28909
28910 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
28911 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
28912 (kernel_img_FORMAT): Copy to ...
28913
28914 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
28915 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
28916 (kernel_img_FORMAT): ... here, and ...
28917
28918 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
28919 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
28920 (kernel_img_FORMAT): ... here.
28921
28922 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
28923 and input (at_keyboard) terminals in kernel.
28924 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
28925
28926 (pkglib_MODULES): Remove `pci.mod'.
28927 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
28928 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
28929 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
28930 (at_keyboard_mod_LDFLAGS): Remove variables.
28931
289322010-01-11 Felix Zielcke <fzielcke@z-51.de>
28933
28934 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
28935
289362009-12-10 Robert Millan <rmh.grub@aybabtu.com>
28937
28938 * include/grub/mips/libgcc.h: Only export symbols for functions
28939 that libgcc provides.
28940
289412009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
28942
28943 MIPS support.
28944
28945 * bus/bonito.c: New file.
28946 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
28947 GRUB_PCI_NUM_DEVICES.
28948 * term/i386/pc/serial.c: Move to ...
28949 * term/serial.c: ... here. All users updated.
28950 * util/i386/pc/grub-mkimage.c: Move to ...
28951 * util/grub-mkrawimage.c: ... here. All users updated.
28952 * term/i386/pc/at_keyboard.c: Move to ...
28953 * term/at_keyboard.c: ... here. All users updated.
28954 * conf/mips-qemu-mips.rmk: New file.
28955 * conf/mips-yeeloong.rmk: Likewise.
28956 * conf/mips.rmk: Likewise.
28957 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
28958 mipsel-qemu-mips.
28959 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
28960 to port addresses.
28961 (grub_ata_pciinit): Support CS5536.
28962 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
28963 * font/font_cmd.c (loadfont_command): Open file before passing it to
28964 grub_font_load.
28965 (pseudo_file_read): New function.
28966 (pseudo_file_close): Likewise.
28967 (pseudo_fs): New structure.
28968 (load_font_module): New function.
28969 (GRUB_MOD_INIT(font_manager)): Load embedded font.
28970 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
28971 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
28972 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
28973 * include/grub/i386/at_keyboard.h: Split into ...
28974 * include/grub/at_keyboard.h: ... this ...
28975 * include/grub/i386/at_keyboard.h: ... and this.
28976 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
28977 New prototype.
28978 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
28979 updated.
28980 (grub_elf64_size): Likewise.
28981 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
28982 filename.
28983 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
28984 * include/grub/i386/coreboot/serial.h: Rewritten.
28985 * include/grub/i386/ieee1275/serial.h: Include
28986 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
28987 * include/grub/i386/pc/serial.h: Moved from here ...
28988 * include/grub/serial.h: ... to here. All users updated.
28989 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
28990 (GRUB_PCI_NUM_BUS): Likewise.
28991 (GRUB_PCI_NUM_DEVICES): Likewise.
28992 (grub_pci_device_map_range): Add missing volatile keyword.
28993 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
28994 * include/grub/mips/at_keyboard.h: New file.
28995 * include/grub/mips/cache.h: Likewise.
28996 * include/grub/mips/io.h: Likewise.
28997 * include/grub/mips/kernel.h: Likewise.
28998 * include/grub/mips/libgcc.h: Likewise.
28999 * include/grub/mips/pci.h: Likewise.
29000 * include/grub/mips/qemu-mips/boot.h: Likewise.
29001 * include/grub/mips/qemu-mips/kernel.h: Likewise.
29002 * include/grub/mips/qemu-mips/loader.h: Likewise.
29003 * include/grub/mips/qemu-mips/memory.h: Likewise.
29004 * include/grub/mips/qemu-mips/serial.h: Likewise.
29005 * include/grub/mips/qemu-mips/time.h: Likewise.
29006 * include/grub/mips/relocator.h: Likewise.
29007 * include/grub/mips/time.h: Likewise.
29008 * include/grub/mips/types.h: Likewise.
29009 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
29010 * include/grub/mips/yeeloong/boot.h: Likewise.
29011 * include/grub/mips/yeeloong/kernel.h: Likewise.
29012 * include/grub/mips/yeeloong/loader.h: Likewise.
29013 * include/grub/mips/yeeloong/memory.h: Likewise.
29014 * include/grub/mips/yeeloong/pci.h: Likewise.
29015 * include/grub/mips/yeeloong/serial.h: Likewise.
29016 * include/grub/mips/yeeloong/time.h: Likewise.
29017 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
29018 * kern/elf.c (grub_elf32_size): New parameter. All users
29019 updated.
29020 (grub_elf64_size): Likewise.
29021 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
29022 Load modules before saying "Welcome to GRUB!".
29023 Call grub_refresh after saying "Welcome to GRUB!".
29024 * kern/mips/cache.S: New file.
29025 * kern/mips/cache_flush.S: Likewise.
29026 * kern/mips/dl.c: Likewise.
29027 * kern/mips/init.c: Likewise.
29028 * kern/mips/qemu-mips/init.c: Likewise.
29029 * kern/mips/startup.S: Likewise.
29030 * kern/mips/yeeloong/init.c: Likewise.
29031 * kern/term.c (grub_putcode): Handle NULL terminal.
29032 (grub_getcharwidth): Likewise.
29033 (grub_getkey): Likewise.
29034 (grub_checkkey): Likewise.
29035 (grub_getkeystatus): Likewise.
29036 (grub_getxy): Likewise.
29037 (grub_getwh): Likewise.
29038 (grub_gotoxy): Likewise.
29039 (grub_cls): Likewise.
29040 (grub_setcolorstate): Likewise.
29041 (grub_setcolor): Likewise.
29042 (grub_getcolor): Likewise.
29043 (grub_refresh): Likewise.
29044 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
29045 (write_jump): Add hatch nop.
29046 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
29047 * lib/mips/setjmp.S: New file.
29048 * loader/mips/linux.c: Likewise.
29049 * term/i386/pc/at_keyboard.c: Move from here ...
29050 * term/at_keyboard.c: ... to here.
29051 * term/i386/pc/serial.c: Moved from here ...
29052 * term/serial.c: ... to here. All users updated.
29053 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
29054 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
29055 (serial_translate_key_sequence): Avoid deadlock.
29056 (grub_serial_getkey): Handle backspace.
29057 (grub_serial_putchar): Fix newline handling.
29058 * util/i386/pc/grub-mkimage.c: Move from here ...
29059 * util/grub-mkrawimage.c: ... to here. All users updated.
29060 (generate_image): New parameters 'font_path' and 'format'.
29061 Support embedding font.
29062 Use grub_host_to_target* instead of grub_cpu_to_le*.
29063 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
29064 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
29065 (options): New option "--font".
29066 (usage): Likewise.
29067 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
29068 (main): Handle "--font".
29069 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
29070 (grub_virtual_screen_setup): Set bg_color_display.
29071 (redraw_screen_rect): Use bg_color_display instead of incorrect
29072 bg_color.
29073 (grub_gfxterm_cls): Likewise.
29074 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
29075 Support embedding config file.
29076 (add_segments): Likewise.
29077 (options): New option "--config".
29078 (main): Handle "--config".
29079 * video/sm712.c: New file.
29080
25c2b5b3
RM
290812010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29082
29083 Fix parallel builds.
29084
29085 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
29086 font.c depend on ascii.h).
29087
290882010-01-12 Carles Pina i Estany <carles@pina.cat>
29089
29090 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
29091
290922010-01-11 Carles Pina i Estany <carles@pina.cat>
29093
29094 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
29095 By default: disabled.
29096 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
29097 parameter.
29098
290992010-01-10 Carles Pina i Estany <carles@pina.cat>
29100
29101 * font/font.c: Update copyright years.
29102 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
29103
291042010-01-10 Carles Pina i Estany <carles@pina.cat>
29105
29106 * font/font.c: Include `ascii.h'.
29107 (ASCII_BITMAP_SIZE): New macro.
29108 (ascii_font_glyph): Define.
29109 (ascii_glyph_lookup): New function.
29110 (grub_font_get_string_width): Change comment. If glyph not found, use
29111 ascii_glyph_lookup.
29112 (grub_font_get_glyph_with_fallback): If glyph not available returns
29113 ascii_glyph_lookup.
29114 * util/grub-mkfont.c (file_formats): New enum.
29115 (options): Add `ascii-bitmaps' new option.
29116 (usage): Add `asii-bitmaps' new option.
29117 (write_font_ascii_bitmap): New function.
29118 (write_font): Rename to ...
29119 (write_font_p2): ... this. Remove print_glyphs call.
29120 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
29121 used. Call print_glyphs.
29122 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
29123
291242010-01-14 Robert Millan <rmh.grub@aybabtu.com>
29125
29126 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
29127 (grub_bin2h_SOURCES): New variable.
29128 * util/bin2h.c: New file.
29129
915fc1b8
VS
291302010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29131
29132 * include/multiboot.h: Resynced with spec.
29133 * include/multiboot2.h: Likewise.
29134 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
29135 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
29136
9444b678
RM
291372010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29138
29139 * include/grub/term.h (grub_term_register_input,
29140 grub_term_register_output): Check return of terminal init()
29141 routines, and abort if errors are raised.
29142
29143 * commands/terminal.c: Update copyright year.
29144
cba98e8d
RM
291452010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29146
29147 * commands/terminal.c (grub_cmd_terminal_input)
29148 (grub_cmd_terminal_output): Check return of terminal init()
29149 routines, and abort if errors are raised.
29150
6f7db5d6
VS
291512010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
29152
29153 * include/grub/i386/bsd.h: Fix include pathes.
29154
262bff8d
VS
291552010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
29156
29157 Add missing *BSD copyright headers.
29158
29159 * include/grub/aout.h: Add BSD licence.
29160 * include/grub/i386/bsd.h: Parts under different licences moved to ...
29161 * include/grub/i386/freebsd_linker.h: ... here,
29162 * include/grub/i386/freebsd_reboot.h: ... here,
29163 * include/grub/i386/netbsd_bootinfo.h: ... here,
29164 * include/grub/i386/netbsd_reboot.h: ... here,
29165 * include/grub/i386/openbsd_bootarg.h: ... here,
29166 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
29167 licence to each file.
29168
b2cab848
RM
291692010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29170
29171 * acinclude.m4: Remove `nop' assembly instruction; it's not
29172 implemented by all architectures.
29173
2cb6be4b
RM
291742010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29175
29176 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
29177 ELILO. This is no longer necessary.
29178
a2eaee15
BC
291792010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
29180
29181 Added new tool, grub-scrit-check to verify grub.cfg syntax.
29182
29183 * util/grub-script-check.c: grub-script-check tool.
29184 * conf/common.rmk: Make rules for grub-script-check.
29185
88d17012
RM
291862010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29187
29188 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
29189 spotting it back in 2008. Shame on me for forgetting he did.
29190
29191 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
29192
8040619d
RM
291932010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29194
29195 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
29196 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
29197 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
29198 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
29199 (GRUB_VIDEO_TYPE_EFI): Rename to ...
29200 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
29201
a0c2a0f6
RM
292022010-01-17 Robert Millan <rmh.grub@aybabtu.com>
29203
29204 * include/grub/test.h: Add license header.
29205 * tests/example_functional_test.c: Likewise.
29206 * tests/example_unit_test.c: Likewise.
29207 * tests/lib/functional_test.c: Likewise.
29208 * tests/lib/test.c: Likewise.
29209 * tests/lib/unit_test.c: Likewise.
29210
b0b13907
VS
292112010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
29212
29213 Use flag-based instead of hook-based video mode selection and "auto"
29214 keyword.
29215
29216 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
29217 (grub_video_set_mode): Changed prototype. All users updated.
29218 (grub_video_check_mode_flag): New inline function.
29219 * video/video.c (parse_modespec): New function.
29220 (grub_video_set_mode): Parse flags and keywords.
29221
ea379330 292222010-01-17 Carles Pina i Estany <carles@pina.cat>
29223
29224 * util/misc.c (grub_util_info): Fix the order of the parameters in a
29225 fprintf call.
29226
e15c215e
FZ
292272010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
29228
29229 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
29230
409ae1c9 292312010-01-16 Carles Pina i Estany <carles@pina.cat>
29232
29233 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
29234 string.
29235 * util/grub-emu.c (usage): Likewise.
29236 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
29237 * util/i386/efi/grub-mkimage.c (usage): Likewise.
29238 * util/i386/pc/grub-mkimage.c (usage): Likewise.
29239 * util/i386/pc/grub-setup.c (usage): Likewise.
29240
70a14d3d 292412010-01-16 Carles Pina i Estany <carles@pina.cat>
29242
29243 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
29244 the message.
29245 (grub_util_info): Likewise.
29246 (grub_util_error): Likewise.
29247 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
29248 and/or new lines in `grub_util_warna', `grub_util_info',
29249 `grub_util_error' calls.
29250 * util/getroot.c: Likewise.
29251 * util/grub-editenv.c: Likewise.
29252 * util/grub-emu.c: Likewise.
29253 * util/grub-fstest.c: Likewise.
29254 * util/grub-mkdevicemap.c: Likewise.
29255 * util/grub-mkfont.c: Likewise.
29256 * util/grub-mkpasswd-pbkdf2.c: Likewise.
29257 * util/grub-mkrelpath.c: Likewise.
29258 * util/grub-pe2elf.c: Likewise.
29259 * util/grub-probe.c: Likewise.
29260 * util/hostdisk.c: Likewise.
29261 * util/i386/efi/grub-mkimage.c: Likewise.
29262 * util/i386/pc/grub-mkimage.c: Likewise.
29263 * util/i386/pc/grub-setup.c: Likewise.
29264 * util/ieee1275/ofpath.c: Likewise.
29265 * util/mkisofs/eltorito.c: Likewise.
29266 * util/mkisofs/rock.c: Likewise.
29267 * util/mkisofs/write.c: Likewise.
29268 * util/raid.c: Likewise.
29269 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
29270 * util/sparc64/ieee1275/grub-setup.c: Likewise.
29271
a0b766fc
VS
292722010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
29273
29274 Enable multiboot on non-pc.
29275
29276 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
29277 multiboot.mod and multiboot2.mod to ...
29278 * conf/i386.rmk (pkglib_MODULES): ... here.
29279 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
29280 Moved to ...
29281 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
29282 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
29283 Moved to ...
29284 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
29285 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
29286 Moved to ...
29287 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
29288 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
29289 Moved to ...
29290 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
29291 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
29292 relocator.mod.
29293 (ata_mod_SOURCES): Removed.
29294 (ata_mod_CFLAGS): Likewise.
29295 (ata_mod_LDFLAGS): Likewise.
29296 (relocator_mod_SOURCES): Removed.
29297 (relocator_mod_CFLAGS): Likewise.
29298 (relocator_mod_ASFLAGS): Likewise.
29299 (relocator_mod_LDFLAGS): Likewise.
29300 Include i386.mk.
29301 * include/grub/x86_64/multiboot.h: New file.
29302 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
29303 Terminate EFI.
29304
884ade56
VS
293052010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
29306
29307 Video multiboot support.
29308
29309 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
29310 New prototype.
29311 * include/multiboot.h: Resynced with multiboot specification.
29312 * include/multiboot2.h: Likewise.
29313 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
29314 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
29315 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
29316 (HAS_VGA_TEXT): Likewise.
29317 (accepts_video): New variable.
29318 (grub_multiboot_set_accepts_video): New function.
29319 (grub_multiboot_get_mbi_size): Account for video structures.
29320 (set_video_mode): New function.
29321 (retrieve_video_parameters): Likewise.
29322 (grub_multiboot_make_mbi): Fill video fields.
29323
0d90e8a6
VS
293242010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
29325
29326 Video driver ids.
29327
29328 * include/grub/video.h (grub_video_driver_id): New type.
29329 (grub_video_adapter): New member 'id'. All users updated.
29330 (grub_video_get_driver_id): New proto.
29331 * video/video.c (grub_video_get_driver_id): New function.
29332
5c71db1b 293332010-01-14 Carles Pina i Estany <carles@pina.cat>
29334
29335 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
29336 `var=val'.
29337
cca15b52 293382010-01-14 Carles Pina i Estany <carles@pina.cat>
29339
29340 * normal/cmdline.c (print_completion): Gettextizze.
29341
c586fbb2 293422001-01-14 Carles Pina i Estany <carles@pina.cat>
29343
29344 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
29345
ba2f6848 293462010-01-14 Carles Pina i Estany <carles@pina.cat>
29347
29348 * gettext/gettext.c (grub_gettext_translate): Push and pop
29349 grub_errno.
29350 (grub_gettext_delete_list): Change comment style.
29351 * kern/err.c (grub_error): Gettextizze.
29352 (grub_fatal): Gettextizze.
29353
0a46429a
RM
293542010-01-14 Robert Millan <rmh.grub@aybabtu.com>
29355
29356 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
29357 (grub_linux16_real_boot): ... this.
29358 * kern/i386/loader.S: Likewise.
29359 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
29360 (grub_linux16_boot): New function. Switches to text mode and calls
29361 grub_linux16_real_boot().
29362
29363 * loader/i386/bsd.c: Include `<grub/video.h>'.
29364 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
29365 text mode before calling grub_unix_real_boot().
29366
29367 * loader/i386/multiboot.c: Include `<grub/video.h>'.
29368 (grub_multiboot_boot): Switch to text mode before calling
29369 grub_relocator32_boot().
29370
29371 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
29372 (grub_chainloader_boot): Switch to text mode before calling
29373 grub_chainloader_real_boot().
29374
d6f93a66
RM
293752010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
293762010-01-05 Colin Watson <cjwatson@ubuntu.com>
29377
29378 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
29379 non-empty value.
29380
293812010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
293822010-01-05 Colin Watson <cjwatson@ubuntu.com>
29383
29384 * util/grub.d/00_header.in: Define a "savedefault" function for use
29385 in menu entries.
29386 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
29387
293882010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
293892010-01-05 Colin Watson <cjwatson@ubuntu.com>
29390
29391 * util/grub-mkconfig_lib.in (save_default_entry): Only set
29392 saved_entry if boot_once is unset.
29393 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
29394 previous saved entry (i.e. grub-reboot).
29395
293962009-12-08 Colin Watson <cjwatson@ubuntu.com>
29397
29398 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
29399
294002009-12-08 Colin Watson <cjwatson@ubuntu.com>
29401
29402 * util/grub.d/00_header.in: Use `set var=val' rather than plain
29403 `var=val'.
29404 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
29405
294062009-12-08 Colin Watson <cjwatson@ubuntu.com>
29407
29408 * util/grub-reboot.in: Fix --version output.
29409 * util/grub-set-default.in: Likewise.
29410
294112009-12-08 Colin Watson <cjwatson@ubuntu.com>
29412
29413 * util/grub.d/00_header.in: Silently ignore zero-sized environment
29414 blocks.
29415
294162009-12-08 Colin Watson <cjwatson@ubuntu.com>
29417
29418 * util/grub.d/00_header.in: Quote the value assigned to `default',
29419 in case it contains spaces.
29420
294212009-12-08 Colin Watson <cjwatson@ubuntu.com>
29422
29423 * util/grub.d/30_os-prober.in: Fix merge error that moved a
29424 `save_default_entry' call from the macosx case to the linux case.
29425
294262009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
294272009-10-25 Colin Watson <cjwatson@ubuntu.com>
29428
29429 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
29430 in `chosen' environment variable.
29431 * normal/menu_text.c (get_entry_number): Check if the variable
29432 matches the title of a menu entry.
29433 (run_menu): Pass menu to get_entry_number.
29434
29435 * util/grub-reboot.in: New file.
29436 * util/grub-set-default.in: New file.
29437 * conf/common.rmk (grub-reboot): New utility.
29438 (grub-set-default): New utility.
29439
29440 * util/grub-mkconfig_lib.in (save_default_entry): New function.
29441 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
29442 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
29443 move it to `saved_entry' for the next boot. Load environment on
29444 initialisation.
29445 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
29446 * util/grub.d/10_hurd.in: Likewise.
29447 * util/grub.d/10_linux.in (linux_entry): Likewise.
29448 * util/grub.d/10_windows.in: Likewise.
29449 * util/grub.d/30_os-prober.in: Likewise.
29450
29451 * util/grub-install.in: Create environment block.
29452 * util/i386/efi/grub-install.in: Likewise.
29453 * util/ieee1275/grub-install.in: Likewise.
29454 * util/sparc64/ieee1275/grub-install.in: Likewise.
29455
0934d184
BC
294562010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
29457
29458 Unit testing framework for GRUB.
29459
29460 * Makefile.in: Test framework build rules for 'make check'.
29461 * conf/tests.rmk: Build rules for individual tests and framework.
29462
29463 * include/grub/test.h: Header file for whitebox tests.
29464 * tests/lib/functional_test.c: Framework support for whitebox
29465 functional tests.
29466 * tests/lib/test.c: Common whitebox testing code for unit and
29467 functional tests.
29468 * tests/lib/unit_test.c: Framework support for whitebox unit
29469 tests.
29470
29471 * tests/util/grub-shell-tester.in: Support utility for grub-script
29472 tests.
29473 * tests/util/grub-shell.in: Utility to execute grub-script
29474 commands in a Qemu instance.
29475
29476 * tests/example_functional_test.c: Example whitebox functional
29477 test.
29478 * tests/example_grub_script_test.in: Example grub-script test.
29479 * tests/example_scripted_test.in: Example scripted test.
29480 * tests/example_unit_test.c: Example whitebox unit test.
29481
9c4ffeeb
VS
294822010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
29483
29484 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
29485 Add loader/i386/multiboot_mbi.c.
29486 (multiboot2_mod_SOURCES): Likewise.
29487 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
29488 (multiboot2_mod_SOURCES): Likewise.
29489 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
29490 (grub_multiboot_make_mbi): Likewise.
29491 (grub_multiboot_free_mbi): Likewise.
29492 (grub_multiboot_init_mbi): Likewise.
29493 (grub_multiboot_add_module): Likewise.
29494 (grub_multiboot_set_bootdev): Likewise.
29495 * loader/i386/multiboot.c (mbi): Removed.
29496 (mbi_dest): Likewise.
29497 (alloc_mbi): New variable.
29498 (grub_multiboot_payload_size): Removed. All users updated.
29499 (grub_multiboot_pure_size): New variable.
29500 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
29501 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
29502 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
29503 (grub_fill_multiboot_mmap): Likewise.
29504 (grub_multiboot_get_bootdev): Likewise.
29505 (grub_multiboot): Use multiboot_mbi functions.
29506 * loader/i386/multiboot_mbi.c: New file.
29507
17383dfe
VS
295082010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
29509
29510 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
29511 it would result in module crash.
29512
c1f28820
VS
295132010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
29514
29515 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
29516 (grub_ofconsole_getwh): Split to ...
29517 (grub_ofconsole_getwh): ... this.
29518 (grub_ofconsole_dimensions): ...and this.
29519 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
29520
58655a16
RM
295212010-01-13 Robert Millan <rmh.grub@aybabtu.com>
29522
29523 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
29524
10891398
VS
295252010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
29526
29527 * loader/i386/pc/multiboot2.c: Removed stalled file.
29528
0b8a223c
VS
295292010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
29530
29531 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
29532 Reported by: Grégoire Sutre
29533
92ab12b0
RM
295342010-01-11 Robert Millan <rmh.grub@aybabtu.com>
29535
29536 * util/misc.c (canonicalize_file_name): New function.
29537 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
29538 instead of realpath().
29539
a788afb6
CW
295402010-01-11 Colin Watson <cjwatson@ubuntu.com>
29541
29542 * util/grub-install.in (usage): Clarify meaning of --root-directory,
29543 and make it clearer that it's optional. Based on confusion
29544 witnessed on IRC.
29545
ffa8e3d2
VS
295462010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
29547
29548 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
29549 in premature implicit newline.
29550
e9060a9d
VS
295512010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
29552
29553 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
29554 which resulted in garbled command line at the end of screen.
29555
f0d0c0b7
RM
295562010-01-10 Robert Millan <rmh.grub@aybabtu.com>
29557
29558 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
29559 initialization with similar approach as with other Linux loaders.
29560
0e60bae7
RM
295612010-01-10 Robert Millan <rmh.grub@aybabtu.com>
29562
29563 Fix i386-ieee1275 build.
29564
29565 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
29566 and grub_term_height() for video_{width,height} initialization.
29567
295682010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
29569
29570 Fix grub-emu build.
29571
29572 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
29573
cdb3f378
RM
295742010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
295752010-01-09 Robert Millan <rmh.grub@aybabtu.com>
29576
29577 Support for multiple terminals.
29578
29579 * Makefile.in (pkglib_DATA): terminal.lst.
29580 (terminal.lst): New target.
29581 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
29582 (GRUB_MOD_INIT(handler)): Likewise.
29583 (GRUB_MOD_FINI(handler)): Likewise.
29584 * commands/help.c (grub_cmd_help): Handle multiple terminals.
29585 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
29586 * commands/sleep.c (do_print): Use grub_term_restore_pos.
29587 (grub_cmd_sleep): Use grub_term_save_pos.
29588 * commands/terminal.c: New file.
29589 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
29590 commands/terminal.c and lib/charset.c.
29591 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
29592 (pkglib_MODULES): Add terminal.mod.
29593 (terminal_mod_SOURCES): New variable.
29594 (terminal_mod_CFLAGS): Likewise.
29595 (terminal_mod_LDFLAGS): Likewise.
29596 * genhandlerlist.sh: Don't handle terminals.
29597 * genmk.rb: Generate terminal-*.lst.
29598 * genterminallist.sh: New file.
29599 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
29600 (grub_is_valid_utf8): Likewise.
29601 (grub_utf8_to_ucs4_alloc): Likewise.
29602 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
29603 (grub_menu_register_viewer): Changed argument.
29604 (grub_menu_try_text): New proto.
29605 (grub_gfxmenu_try_hook): New declaration.
29606 * include/grub/normal.h (grub_normal_exit_level): New declaration.
29607 (grub_menu_init_page): Additional argument term.
29608 (grub_normal_init_page): Likewise.
29609 (grub_cmdline_get): Arguments simplified.
29610 (grub_utf8_to_ucs4_alloc): Removed.
29611 (grub_print_ucs4): Additional argument term.
29612 (grub_getstringwidth): Likewise.
29613 (grub_print_message_indented): Likewise.
29614 (grub_menu_text_register_instances): New proto.
29615 (grub_show_menu): Likewise.
29616 (read_terminal_list): Likewise.
29617 (grub_set_more): Likewise.
29618 * include/grub/parser.h: Include handler.h.
29619 * include/grub/reader.h: Rewritten.
29620 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
29621 (GRUB_TERM_WIDTH): Changed to function.
29622 (GRUB_TERM_HEIGHT): Likewise.
29623 (GRUB_TERM_BORDER_WIDTH): Likewise.
29624 (GRUB_TERM_BORDER_HEIGHT): Likewise.
29625 (GRUB_TERM_NUM_ENTRIES): Likewise.
29626 (GRUB_TERM_ENTRY_WIDTH): Likewise.
29627 (GRUB_TERM_CURSOR_X): Likewise.
29628 (grub_term_input_class): Likewise.
29629 (grub_term_output_class): Likewise.
29630 (grub_term_outputs_disabled): New declaration.
29631 (grub_term_inputs_disabled): Likewise.
29632 (grub_term_outputs): Likewise.
29633 (grub_term_inputs): Likewise.
29634 (grub_term_register_input): Rewritten.
29635 (grub_term_register_output): Likewise.
29636 (grub_term_unregister_input): Likewise.
29637 (grub_term_unregister_output): Likewise.
29638 (FOR_ACTIVE_TERM_INPUTS): New macro.
29639 (FOR_DISABLED_TERM_INPUTS): Likewise.
29640 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
29641 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
29642 * include/grub/terminfo.h: Add oterm argument to all protypes.
29643 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
29644 Use grub_rescue_run.
29645 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
29646 All users updated.
29647 * kern/reader.c: Removed. All users updated.
29648 * kern/rescue_reader.c (grub_rescue_init): Removed.
29649 (grub_rescue_reader): Likewise.
29650 (grub_register_rescue_reader): Likewise.
29651 (grub_rescue_run): New function based on kern/reader.c.
29652 * kern/term.c: Adapted for multiterm.
29653 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
29654 (grub_is_valid_utf8): Likewise.
29655 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
29656 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
29657 right terminal.
29658 * loader/i386/linux.c (grub_linux_boot): Likewise.
29659 * normal/auth.c (grub_username_get): New function.
29660 (grub_auth_check_authentication): Use grub_username_get.
29661 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
29662 * normal/color.c: Adapt for multiterm.
29663 * normal/main.c (read_config_file): Don't use grub_reader_loop.
29664 (grub_normal_init_page): Additional argument term.
29665 (read_lists): Call read_terminal_lists.
29666 (grub_enter_normal_mode): Call grub_cmdline_run.
29667 Handle grub_normal_exit_level.
29668 (grub_cmd_normal): Make reentrant.
29669 (grub_cmd_normal_exit): New function.
29670 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
29671 * normal/menu.c: Adapt for multiterm.
29672 * normal/menu_entry.c: Likewise.
29673 * normal/menu_text.c: Likewise.
29674 * normal/menu_viewer.c: Removed. All users updated.
29675 * normal/term.c: New file.
29676 * util/console.c: Change order of includes to workaround a bug in
29677 ncurses headers.
29678 * term/terminfo.c: New argument oterm on all exported functions.
29679 All users updated.
29680 * util/grub-editenv.c (grub_term_input_class): Removed.
29681 (grub_term_output_class): Likewise.
29682
1a064917
RM
296832010-01-09 Robert Millan <rmh.grub@aybabtu.com>
29684
29685 Make loader output a bit more user-friendly.
29686
29687 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
29688 is being loaded. Likewise for the Hurd.
29689
29690 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
29691 that kernel of FreeBSD ${version} is being loaded.
29692
29693 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
29694 grub_dprintf().
29695 (grub_cmd_initrd): Likewise.
29696 * util/grub.d/10_linux.in (linux_entry): Print message indicating
29697 that Linux ${version} is being loaded. Likewise for initrd.
29698
5ce0a83a 296992010-01-09 Carles Pina i Estany <carles@pina.cat>
29700
29701 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
29702
809bbfeb 297032010-01-08 Carles Pina i Estany <carles@pina.cat>
29704
29705 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
29706 (GRUB_MOD_INIT): Gettextizze.
29707 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
29708 (GRUB_MOD_INIT): Gettextizze.
29709 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
29710 (grub_cmd_linux): Capitalise Linux.
29711 (GRUB_MOD_INIT): Gettextizze.
29712 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
29713 (grub_cmd_linux): Capitalise Linux.
29714 (GRUB_MOD_INIT): Gettextizze.
29715 * loader/i386/linux.c: Include `<grub/i18n.h>'.
29716 (grub_cmd_linux): Capitalise Linux.
29717 (GRUB_MOD_INIT): Gettextizze.
29718 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
29719 (GRUB_MOD_INIT): Gettextizze.
29720 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
29721 (grub_cmd_linux): Capitalise Linux.
29722 (GRUB_MOD_INIT): Gettextizze.
29723 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
29724 (grub_cpu_xnu_init): Gettextizze.
29725 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
29726 (GRUB_MOD_INIT): Gettextizze.
29727 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
29728 (GRUB_MOD_INIT): Gettextizze.
29729 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
29730 (grub_linux_load64): Capitalise Linux.
29731 (GRUB_MOD_INIT): Gettextizze.
29732 * loader/xnu.c: Include `<grub/i18n.h>'.
29733 (GRUB_MOD_INIT): Gettextizze.
29734 * po/POTFILES: Add `loader/efi/appleloader.c',
29735 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
29736 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
29737 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
29738 `loader/i386/xnu.c', `loader/multiboot_loader.c',
29739 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
29740 and `loader/xnu.c'.
29741
b394b2ca
RM
297422010-01-08 Robert Millan <rmh.grub@aybabtu.com>
29743
29744 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
29745
297462010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
29747
29748 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
29749 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
29750 * util/mkisofs/mkisofs.c (main): Readjust --version output.
29751
bc8b32b3
RM
297522010-01-07 Robert Millan <rmh.grub@aybabtu.com>
29753
29754 Reset Multiboot 2 support. New loader implements the draft in
29755 /branches/multiboot2 and shares as much code as possible with the
29756 production Multiboot 1 implementation.
29757
29758 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
29759 * loader/multiboot2.c: Likewise.
29760 * loader/i386/multiboot_helper.S: Likewise.
29761 * include/multiboot2.h: Replace with latest version from the draft
29762 in /branches/multiboot2.
29763
29764 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
29765 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
29766 and `loader/multiboot2.c'.
29767 (pkglib_MODULES): Add `multiboot2.mod'.
29768 (multiboot2_mod_SOURCES): New variable.
29769 (multiboot2_mod_LDFLAGS): Likewise.
29770 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
29771
29772 * conf/i386-pc.rmk: Likewise.
29773
29774 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
29775 (multiboot_mod_SOURCES): Remove variable.
29776 (multiboot_mod_LDFLAGS): Likewise.
29777 (multiboot_mod_CFLAGS): Likewise.
29778
29779 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
29780 `<multiboot2.h>' instead of `<multiboot.h>'.
29781 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
29782 (MULTIBOOT_HEADER_MAGIC): New macros.
29783
29784 * loader/multiboot_loader.c (module_version_status): Remove variable.
29785 (find_multi_boot2_header): Remove function.
29786 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
29787 logic. Always check for the Multiboot version we're compiling for.
29788 (grub_cmd_module_loader): Likewise.
29789 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
29790 command instead of `multiboot'.
29791
5d2c52b8
RM
297922010-01-07 Robert Millan <rmh.grub@aybabtu.com>
29793
29794 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
29795 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
29796 all users.
29797
53108d92
RM
297982010-01-07 Robert Millan <rmh.grub@aybabtu.com>
297992010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
29800
29801 Fix breakage introduced with previous commit.
29802
29803 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
29804 commands.
29805 * normal/handler.c (read_handler_list): Revert part of previous commit
29806 affecting this file.
29807 * normal/main.c (read_lists): Move read_handler_list() call back to ...
29808 (grub_normal_execute): ... here.
29809
e2e936b2
RM
298102010-01-07 Robert Millan <rmh.grub@aybabtu.com>
29811
29812 Merge prefix-redefinition-fix branch.
29813
29814 * normal/autofs.c (read_fs_list): Make function capable of being
29815 run multiple times, gracefuly replacing the previous data
29816 structures.
29817 * normal/dyncmd.c (read_command_list): Likewise.
29818 * normal/handler.c (read_handler_list): Likewise.
29819 * normal/main.c (read_lists): New function. Calls all the
29820 list reading functions.
29821 (grub_normal_execute): Use read_lists() instead of calling all
29822 list reading functions explicitly. Register read_lists() as a
29823 variable hook attached to ${prefix}.
29824
607a3701
VS
298252010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
29826
29827 Merge crypto branch.
29828
29829 * Makefile.in (pkglib_DATA): Add crypto.lst.
29830 (crypto.lst): New target.
29831 * commands/hashsum.c: New file.
29832 * commands/password.c (check_password): Use grub_crypto_memcmp.
29833 * commands/password_pbkdf2.c: New file.
29834 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
29835 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
29836 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
29837 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
29838 -I$(srcdir)/lib/libgcrypt_wrap.
29839 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
29840 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
29841 password_pbkdf2.mod.
29842 (crypto_mod_SOURCES): New variable.
29843 (crypto_mod_CFLAGS): Likewise.
29844 (crypto_mod_LDFLAGS): Likewise.
29845 (hashsum_mod_SOURCES): New variable.
29846 (hashsum_mod_CFLAGS): Likewise.
29847 (hashsum_mod_LDFLAGS): Likewise.
29848 (pbkdf2_mod_SOURCES): New variable.
29849 (pbkdf2_mod_CFLAGS): Likewise.
29850 (pbkdf2_mod_LDFLAGS): Likewise.
29851 (password_pbkdf2_mod_SOURCES): New variable.
29852 (password_pbkdf2_mod_CFLAGS): Likewise.
29853 (password_pbkdf2_mod_LDFLAGS): Likewise.
29854 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
29855 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
29856 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
29857 Include conf/gcry.rmk.
29858 * include/grub/auth.h: Rewritten.
29859 * include/grub/crypto.h: New file.
29860 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
29861 * include/grub/normal.h (read_crypto_list): New prototype.
29862 * lib/crypto.c: New file.
29863 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
29864 * lib/pbkdf2.c: Likewise.
29865 * normal/auth.c (grub_auth_strcmp): Removed.
29866 (grub_iswordseparator): Likewise.
29867 (grub_auth_strword): Likewise.
29868 (is_authenticated): Use grub_strword.
29869 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
29870 and grub_strword. Pass entered password to authentication callback.
29871 * normal/crypto.c: New file.
29872 * normal/main.c: Call read_crypto_list.
29873 * util/grub-mkpasswd-pbkdf2.c: New file.
29874 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
29875
42841caa
VS
298762010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
29877
29878 Fix descent and ascent calculation.
29879
29880 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
29881 (options): New option "asce".
29882 (usage): Likewise.
29883 (add_char): Ignore invalid glyphs for descent calculation.
29884 Calculate ascent from actual content.
29885 (print_glyphs): Use 'asce'.
29886 (write_font): Likewise. Allow ascent override.
29887 (main): Handle "asce" option.
29888
e7730de7 298892010-01-06 Carles Pina i Estany <carles@pina.cat>
29890
29891 * kern/err.c: Include `<grub/i18n.h>'.
29892 (grub_print_error): Add full stop. Gettextizze.
29893 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
29894 (grub_bsd_load_elf): Capitalise ELF.
29895 (grub_cmd_freebsd_loadenv): Add `s' in error string.
29896 (grub_cmd_freebsd_module): Likewise.
29897 (grub_cmd_freebsd_module_elf): Likewise.
29898 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
29899
40e3a41f 299002010-01-06 Carles Pina i Estany <carles@pina.cat>
29901
29902 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
29903 * commands/search_file.c (HELP_MESSAGE): New macro.
29904 * commands/search_label.c (HELP_MESSAGE): Likewise.
29905 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
29906 * po/POTFILES: Add `commands/search_file.c',
29907 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
29908 `commands/search.c'.
29909
83507e68
RM
299102010-01-05 Robert Millan <rmh.grub@aybabtu.com>
29911
29912 * config.rpath: Update from Gnulib.
29913
465c787b
YB
299142010-01-05 Yves Blusseau <blusseau@zetam.org>
29915
29916 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
29917
6581dd3a
YB
299182010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
29919
29920 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
29921
3bff18c5
CW
299222010-01-05 Colin Watson <cjwatson@ubuntu.com>
29923
29924 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
29925 arguments to fread so that we get a return value in bytes, rather
29926 than something that will normally be rounded down to 0.
29927 Adjust error handling to avoid producing garbage when size_t is not
29928 the same size as long long.
29929
a1368118
CW
299302010-01-05 Colin Watson <cjwatson@ubuntu.com>
29931
29932 * util/mkisofs/write.c (padblock_write): Check return value of
29933 fread.
29934
7c302978
RM
299352010-01-05 Robert Millan <rmh.grub@aybabtu.com>
29936
29937 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
29938 floppy images now.
29939
29940 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
29941
e33ace06
RM
299422010-01-04 Robert Millan <rmh.grub@aybabtu.com>
29943
29944 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
29945 instead of manual alignment.
29946 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
29947 verbose). Avoid attempts to read past end of the device
29948 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
29949 but GRUB_DISK_CACHE_SIZE may exceed that).
29950
4b856776
RM
299512010-01-04 Robert Millan <rmh.grub@aybabtu.com>
29952
29953 * commands/crc.c (grub_cmd_crc): Abort on read errors.
29954 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
29955 it to upper layer.
29956
52c2d97f
VS
299572010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
29958
29959 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
29960 New constant.
29961 (grub_efi_piwg_device_path): New structure
29962 (grub_efi_piwg_device_path_t): New type.
29963 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
29964 (devpath_1): Transform to a structure. All users updated.
29965 (devpath_2): Likewise.
29966 (devpath_3): Likewise.
29967 (devpath_4): Likewise.
29968 (devpath_5): Likewise.
29969
98ff6a54
VS
299702010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
29971
29972 * loader/efi/appleloader.c: Restored. Update all users.
29973
3a73dcb6
RM
299742010-01-03 Robert Millan <rmh.grub@aybabtu.com>
29975
29976 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
29977
29978 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
29979 (struct boot_blocklist): Move from here ...
29980 * include/grub/i386/pc/boot.h [ASM_FILE]
29981 (struct grub_boot_blocklist): ... to here. Update all users.
29982 (setup): Only initialize `start' member of `first_block'
29983 structure. Add assert() calls to verify the other members.
29984
29985 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
29986 (generate_image): Fix broken blocklist length initialization.
29987 Add assert() call to verify blocklist `segment' field.
29988
ab0eeb0c
RM
299892010-01-03 Robert Millan <rmh.grub@aybabtu.com>
29990
29991 * loader/efi/appleloader.c: Remove. Update all users.
29992
58bc8bd5
RM
299932010-01-03 Robert Millan <rmh.grub@aybabtu.com>
29994
29995 * boot/i386/pc/boot.S: Update copyright year.
29996 * boot/i386/pc/cdboot.S: Likewise.
29997 * boot/i386/pc/diskboot.S: Likewise.
29998 * boot/i386/pc/lnxboot.S: Likewise.
29999 * boot/i386/pc/pxeboot.S: Likewise.
30000 * bus/pci.c: Likewise.
30001 * commands/cmp.c: Likewise.
30002 * commands/help.c: Likewise.
30003 * commands/hexdump.c: Likewise.
30004 * commands/i386/pc/halt.c: Likewise.
30005 * commands/i386/pc/play.c: Likewise.
30006 * commands/i386/pc/vbeinfo.c: Likewise.
30007 * commands/ls.c: Likewise.
30008 * commands/test.c: Likewise.
30009 * disk/dmraid_nvidia.c: Likewise.
30010 * disk/i386/pc/biosdisk.c: Likewise.
30011 * disk/ieee1275/nand.c: Likewise.
30012 * disk/ieee1275/ofdisk.c: Likewise.
30013 * disk/lvm.c: Likewise.
30014 * disk/raid.c: Likewise.
30015 * disk/raid6_recover.c: Likewise.
30016 * disk/scsi.c: Likewise.
30017 * fs/affs.c: Likewise.
30018 * fs/cpio.c: Likewise.
30019 * fs/ext2.c: Likewise.
30020 * fs/hfs.c: Likewise.
30021 * fs/iso9660.c: Likewise.
30022 * fs/ntfs.c: Likewise.
30023 * fs/sfs.c: Likewise.
30024 * fs/udf.c: Likewise.
30025 * fs/ufs.c: Likewise.
30026 * fs/xfs.c: Likewise.
30027 * gencmdlist.sh: Likewise.
30028 * genmk.rb: Likewise.
30029 * include/grub/disk.h: Likewise.
30030 * include/grub/efi/api.h: Likewise.
30031 * include/grub/efi/efi.h: Likewise.
30032 * include/grub/efi/pe32.h: Likewise.
30033 * include/grub/elf.h: Likewise.
30034 * include/grub/fs.h: Likewise.
30035 * include/grub/i386/at_keyboard.h: Likewise.
30036 * include/grub/i386/pc/memory.h: Likewise.
30037 * include/grub/i386/pc/vbe.h: Likewise.
30038 * include/grub/i386/pci.h: Likewise.
30039 * include/grub/i386/tsc.h: Likewise.
30040 * include/grub/ieee1275/ieee1275.h: Likewise.
30041 * include/grub/ntfs.h: Likewise.
30042 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
30043 * include/grub/sparc64/libgcc.h: Likewise.
30044 * include/grub/symbol.h: Likewise.
30045 * include/grub/types.h: Likewise.
30046 * include/multiboot2.h: Likewise.
30047 * io/gzio.c: Likewise.
30048 * kern/device.c: Likewise.
30049 * kern/disk.c: Likewise.
30050 * kern/efi/efi.c: Likewise.
30051 * kern/efi/mm.c: Likewise.
30052 * kern/elf.c: Likewise.
30053 * kern/file.c: Likewise.
30054 * kern/i386/dl.c: Likewise.
30055 * kern/i386/pc/init.c: Likewise.
30056 * kern/i386/pc/startup.S: Likewise.
30057 * kern/ieee1275/ieee1275.c: Likewise.
30058 * kern/ieee1275/init.c: Likewise.
30059 * kern/main.c: Likewise.
30060 * kern/mm.c: Likewise.
30061 * kern/powerpc/dl.c: Likewise.
30062 * kern/sparc64/dl.c: Likewise.
30063 * kern/x86_64/dl.c: Likewise.
30064 * lib/hexdump.c: Likewise.
30065 * loader/efi/appleloader.c: Likewise.
30066 * loader/i386/ieee1275/linux.c: Likewise.
30067 * loader/i386/pc/chainloader.c: Likewise.
30068 * loader/i386/pc/linux.c: Likewise.
30069 * loader/i386/pc/multiboot2.c: Likewise.
30070 * loader/ieee1275/multiboot2.c: Likewise.
30071 * loader/multiboot2.c: Likewise.
30072 * loader/multiboot_loader.c: Likewise.
30073 * loader/powerpc/ieee1275/linux.c: Likewise.
30074 * normal/completion.c: Likewise.
30075 * normal/menu_entry.c: Likewise.
30076 * partmap/apple.c: Likewise.
30077 * util/grub.d/10_hurd.in: Likewise.
30078 * util/hostfs.c: Likewise.
30079 * video/readers/png.c: Likewise.
30080
e2d70b5c
CW
300812010-01-03 Colin Watson <cjwatson@ubuntu.com>
30082
30083 * include/grub/misc.h (GNUC_PREREQ): New macro.
30084 (ATTRIBUTE_ERROR): New macro.
30085 * include/grub/list.h (grub_bad_type_cast_real): Use
30086 ATTRIBUTE_ERROR.
30087
a173283f 300882010-01-03 Carles Pina i Estany <carles@pina.cat>
30089
30090 * normal/menu_text.c (print_message): Change messages.
30091
7fa7ff74 300922010-01-03 Carles Pina i Estany <carles@pina.cat>
30093
30094 * normal/menu_entry.c (store_completion): Gettextizze.
30095
136d24f6 300962010-01-03 Carles Pina i Estany <carles@pina.cat>
30097
30098 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
30099
f936862e 301002010-01-03 Carles Pina i Estany <carles@pina.cat>
30101
30102 * po/POTFILES: Sort correctly.
30103
29c44ad1 301042010-01-03 Carles Pina i Estany <carles@pina.cat>
30105
30106 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
30107 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
30108 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
30109 full stop.
30110 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
30111 summary. Gettextizze the strings.
30112 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
30113 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
30114 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
30115 full stop.
30116 (GRUB_MOD_INIT): Remove command name from summary.
30117 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
30118 summary.
30119 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
30120 * term/i386/pc/serial.c (options): Add full stops.
30121 (GRUB_MOD_INIT): Remove command name from the summary.
30122
77a79592 301232010-01-03 Carles Pina i Estany <carles@pina.cat>
30124
30125 * commands/acpi.c: Gettextizze help strings and/or options. Include
30126 `grub/i18n.h' if needed.
30127 * commands/blocklist.c: Likewise.
30128 * commands/boot.c: Likewise.
30129 * commands/cat.c: Likewise.
30130 * commands/cmp.c: Likewise.
30131 * commands/configfile.c: Likewise.
30132 * commands/crc.c: Likewise.
30133 * commands/date.c: Likewise.
30134 * commands/echo.c: Likewise.
30135 * commands/efi/fixvideo.c: Likewise.
30136 * commands/efi/loadbios.c: Likewise.
30137 * commands/gptsync.c: Likewise.
30138 * commands/halt.c: Likewise.
30139 * commands/handler.c: Likewise.
30140 * commands/hdparm.c: Likewise.
30141 * commands/hexdump.c: Likewise.
30142 * commands/i386/cpuid.c: Likewise.
30143 * commands/i386/pc/drivemap.c: Likewise.
30144 * commands/i386/pc/halt.c: Likewise.
30145 * commands/i386/pc/pxecmd.c: Likewise.
30146 * commands/i386/pc/vbeinfo.c: Likewise.
30147 * commands/i386/pc/vbetest.c: Likewise.
30148 * commands/ieee1275/suspend.c: Likewise.
30149 * commands/keystatus.c: Likewise.
30150 * commands/loadenv.c: Likewise.
30151 * commands/ls.c: Likewise.
30152 * commands/lsmmap.c: Likewise.
30153 * commands/lspci.c: Likewise.
30154 * commands/memrw.c: Likewise.
30155 * commands/minicmd.c: Likewise.
30156 * commands/parttool.c: Likewise.
30157 * commands/password.c: Likewise.
30158 * commands/probe.c: Likewise.
30159 * commands/read.c: Likewise.
30160 * commands/reboot.c: Likewise.
30161 * commands/search.c: Likewise.
30162 * commands/sleep.c: Likewise.
30163 * commands/test.c: Likewise.
30164 * commands/true.c: Likewise.
30165 * commands/usbtest.c: Likewise.
30166 * commands/videotest.c: Likewise.
30167 * commands/xnu_uuid.c: Likewise.
30168 * disk/loopback.c: Likewise.
30169 * hello/hello.c: Likewise.
30170 * loader/i386/bsd.c: Likewise.
30171 * term/i386/pc/serial.c: Likewise.
30172 * po/POTFILES: Add new files.
30173
da8d5c53
CW
301742010-01-02 Colin Watson <cjwatson@ubuntu.com>
30175
30176 * term/i386/pc/at_keyboard.c
30177 (keyboard_controller_wait_untill_ready): Rename to ...
30178 (keyboard_controller_wait_until_ready): ... this. Update all users.
30179
33937904 301802010-01-01 Carles Pina i Estany <carles@pina.cat>
30181
30182 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
30183 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
30184 string using string width.
30185 * normal/menu_text.c (grub_print_message_indented): Use
30186 grub_print_spaces and not print_spaces.
30187 (print_timeout): Likewise.
30188 (print_spaces): Move to...
30189 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
30190
3fd3b8d8
RM
301912010-01-01 Robert Millan <rmh.grub@aybabtu.com>
30192
30193 Import from Gnulib.
30194
30195 * gnulib/getdelim.c: New file.
30196 * gnulib/getline.c: Likewise.
30197
33433555
VS
301982009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
30199
30200 * include/grub/list.h (grub_assert_fail): Removed.
30201 (grub_bad_type_cast_real): New function.
30202 (grub_bad_type_cast): New macro.
30203 (GRUB_AS_LIST): Use grub_bad_type_cast.
30204 (GRUB_AS_LIST_P): Likewise.
e44721e8 30205 (GRUB_AS_NAMED_LIST): Likewise.
33433555 30206 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 30207 (GRUB_AS_PRIO_LIST): Likewise.
33433555 30208 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 30209 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 30210
f5a51306
VS
302112009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
30212
30213 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
30214 Fix syntax error.
30215
90d1e879
RM
302162009-12-29 Robert Millan <rmh.grub@aybabtu.com>
30217
30218 * configure.ac: Check for TARGET_CFLAGS initialization before we
30219 initialize it ourselves (sigh).
30220 Move a few modifications to TARGET_CFLAGS to be unconditional
30221 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
30222 eh_frame)
30223
30224 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
30225 * term/i386/pc/at_keyboard.c
30226 (keyboard_controller_wait_untill_ready): Likewise.
30227 (keyboard_controller_led): Rename `led_status' paramter to avoid
30228 name conflict.
30229
465b5a81 302302009-12-28 Carles Pina i Estany <carles@pina.cat>
30231
30232 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
30233 quotes.
30234
c181849b
VS
302352009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
30236
30237 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
30238
9c8739a4
VS
302392009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
30240
30241 * normal/menu_text.c (grub_print_message_indented): Prevent
30242 past-the-end-of-array dereference.
30243
3e74249c
VS
302442009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
30245
30246 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
30247 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
30248
64fd18ed 302492009-12-27 Carles Pina i Estany <carles@pina.cat>
30250
30251 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
30252 * normal/main.c (grub_normal_read_line): Remove a space from the
30253 default prompt.
30254
714af9b9 302552009-12-27 Carles Pina i Estany <carles@pina.cat>
30256
30257 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
30258 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30259 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
30260 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
30261 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30262 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30263 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
30264
82f3e412 302652009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 30266
30267 * video/readers/jpeg.c (cmd): Declare.
30268 (grub_cmd_jpegtest): Use `grub_command_t' type.
30269 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
30270 Assign to `cmd'.
30271 (GRUB_MOD_FINI): Use `cmd' to unregister.
30272 * video/readers/png.c (cmd): Declare.
30273 (grub_cmd_pngtest): Use `grub_command_t' type.
30274 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
30275 Assign to `cmd'.
30276 (GRUB_MOD_FINI): Use `cmd' to unregister.
30277 * video/readers/tga.c (cmd): Declare.
30278 (grub_cmd_tgatest): Use `grub_command_t' type.
30279 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
30280 Assign to `cmd'.
30281 (GRUB_MOD_FINI): Use `cmd' to unregister.
30282
82f3e412 302832009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 30284
30285 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
30286 stops.
30287 * kern/corecmd.c (grub_register_core_commands): Likewise.
30288 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
30289 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
30290 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
30291 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30292 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
30293 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
30294 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
30295 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
30296 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30297 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30298 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
30299 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
30300 * normal/handler.c (insert_handler): Likewise.
30301 * normal/main.c (GRUB_MOD_INIT): Likewise.
30302 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
30303
fdcdbb66 303042009-12-26 Carles Pina i Estany <carles@pina.cat>
30305
30306 * commands/help.c (grub_cmd_help): Print the command name before the
30307 summary.
30308 (GRUB_MOD_INIT): Remove command name from the summary.
30309 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 30310 string as summary.
fdcdbb66 30311 * lib/arg.c (find_long): Print the command name before the summary.
30312 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
30313 summary.
30314 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
30315 * commands/cat.c (GRUB_MOD_INIT): Likewise.
30316 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
30317 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
30318 * commands/crc.c (GRUB_MOD_INIT): Likewise.
30319 * commands/date.c (GRUB_MOD_INIT): Likewise.
30320 * commands/echo.c (GRUB_MOD_INIT): Likewise.
30321 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
30322 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
30323 * commands/handler.c (GRUB_MOD_INIT): Likewise.
30324 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
30325 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
30326 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
30327 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
30328 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
30329 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
30330 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
30331 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
30332 * commands/ls.c (GRUB_MOD_INIT): Likewise.
30333 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
30334 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
30335 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
30336 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
30337 * commands/password.c (GRUB_MOD_INIT): Likewise.
30338 * commands/probe.c (GRUB_MOD_INIT): Likewise.
30339 * commands/read.c (GRUB_MOD_INIT): Likewise.
30340 * commands/search.c (GRUB_MOD_INIT): Likewise.
30341 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
30342 * commands/test.c (GRUB_MOD_INIT): Likewise.
30343 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
30344 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
30345 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
30346 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
30347 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
30348 * lib/arg.c (GRUB_MOD_INIT): Likewise.
30349 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
30350 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
30351 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
30352 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
30353 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
30354 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
30355 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
30356 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
30357
9c288be2
VS
303582009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
30359
30360 Use search command for preliminar UUID search.
30361
30362 * commands/search.c: Split into ...
30363 * commands/search_wrap.c: ...this
30364 * commands/search.c: ...and this.
30365 * commands/search_file.c: New file.
30366 * commands/search_label.c: New file.
30367 * commands/search_uuid.c: New file.
30368 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
30369 Add commands/search_wrap.c, commands/search_file.c,
30370 commands/search_label.c and commands/search_uuid.c.
30371 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
30372 (search_mod_SOURCES): Set to commands/search_wrap.c.
30373 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
30374 search_label.mod.
30375 (search_fs_file_mod_SOURCES): New variable.
30376 (search_fs_file_mod_CFLAGS): Likewise.
30377 (search_fs_file_mod_LDFLAGS): Likewise.
30378 (search_label_mod_SOURCES): Likewise.
30379 (search_label_mod_CFLAGS): Likewise.
30380 (search_label_mod_LDFLAGS): Likewise.
30381 (search_fs_uuid_mod_SOURCES): New variable.
30382 (search_fs_uuid_mod_CFLAGS): Likewise.
30383 (search_fs_uuid_mod_LDFLAGS): Likewise.
30384 (fs_file_mod_SOURCES): Removed.
30385 (fs_file_mod_CFLAGS): Likewise.
30386 (fs_file_mod_LDFLAGS): Likewise.
30387 (fs_uuid_mod_SOURCES): Removed.
30388 (fs_uuid_mod_CFLAGS): Likewise.
30389 (fs_uuid_mod_LDFLAGS): Likewise.
30390 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
30391 Set to util/grub-install.in.
30392 * disk/fs_file.c: Removed.
30393 * disk/fs_uuid.c: Likewise.
30394 * include/grub/search.h: New file.
30395 * util/grub-install.in: Handle sparc64.
30396 Create and use load.cfg.
30397 * util/sparc64/ieee1275/grub-install.in: Removed.
30398
db943399
VS
303992009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
30400
30401 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
30402 Ignore return status if CF is cleared.
30403 (grub_biosdisk_get_diskinfo_standard): Likewise.
30404
3fdae612
RM
304052009-12-25 Robert Millan <rmh.grub@aybabtu.com>
30406
30407 * term/i386/pc/at_keyboard.c
30408 (keyboard_controller_wait_untill_ready): New function.
30409 (grub_keyboard_controller_write, grub_keyboard_controller_read)
30410 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
30411 for keyboard polling, rather than duplicate the same loop. This
30412 saves a few bytes in code size.
30413
7ebaa2b4
VS
304142009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
30415
30416 Support for (pxe[:server[:gateway]]) syntax and
30417 use environment variable for PXE.
30418
30419 * commands/i386/pc/pxecmd.c (options): Removed.
30420 (print_ip): Removed.
30421 (grub_cmd_pxe): Removed
30422 (grub_cmd_pxe_unload): New function.
30423 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
30424 (grub_pxe_your_ip): Made static.
30425 (grub_pxe_default_server_ip): Likewise.
30426 (grub_pxe_default_gateway_ip): Likewise.
30427 (grub_pxe_blksize): Likewise.
30428 (parse_ip): New function.
30429 (grub_pxe_open): Support server and gateway specification.
30430 (grub_pxe_close): Free disk->data.
30431 (grub_pxefs_open): Use disk->data.
30432 (grub_pxefs_read): Likewise.
30433 (grub_env_write_readonly): New function.
30434 (set_mac_env): Likewise.
30435 (set_env_limn_ro): Likewise.
30436 (parse_dhcp_vendor): Likewise.
30437 (grub_pxe_detect): Set the environment variables.
30438 (set_ip_env): New function.
30439 (write_ip_env): Likewise.
30440 (grub_env_write_pxe_default_server): Likewise.
30441 (grub_env_write_pxe_default_gateway): Likewise.
30442 (grub_env_write_pxe_blocksize): Likewise.
30443 (GRUB_MOD_INIT(pxe)): Set environment variables.
30444 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
30445 (grub_pxe_mac_addr_t): ... this. All users updated.
30446 (grub_pxe_your_ip): Removed.
30447 (grub_pxe_server_ip): Likewise.
30448 (grub_pxe_gateway_ip): Likewise.
30449 (grub_pxe_blksize): Likewise.
30450
ec5f98ab 304512009-12-25 Carles Pina i Estany <carles@pina.cat>
30452
30453 * commands/help.c: Include `<grub/i18n.h>'.
30454 (grub_cmd_help): Gettextizze.
30455 (GRUB_MOD_INIT): Likewise.
30456 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
30457 (GRUB_MOD_INIT): Gettextizze.
30458 * commands/search.c: Include `<grub/i18n.h>'.
30459 (options): Gettextizze.
30460 (GRUB_MOD_INIT): Gettextizze.
30461 * lib/arg.c: Include `<grub/i18n.h>'.
30462 (help_options): Gettextizze.
30463 (find_long): Likewise.
30464 (grub_arg_show_help): Likewise.
30465 * normal/dyncmd.c: Include `<grub/i18n.h>'.
30466 (read_command_list): Gettextizze.
30467 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 30468 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 30469
22815526
RM
304702009-12-25 Robert Millan <rmh.grub@aybabtu.com>
30471
30472 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
30473 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
30474 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
30475 (led_status): New variable.
30476 (keyboard_controller_led): New function.
30477 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
30478 update led status for caps lock, num lock and scroll lock.
30479
0ad46fd7
FZ
304802009-12-25 Felix Zielcke <fzielcke@z-51.de>
30481
30482 * util/hostdisk.c (open_device): Fix a comment.
30483
d0e158c2
RM
304842009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30485
30486 * util/grub-install.in (host_os): New variable.
30487 * util/i386/efi/grub-install.in (host_os): Likewise.
30488
401c0ad6
RM
304892009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30490
30491 * util/mkisofs/write.c (padblock_write): Abort when given an
30492 excedingly large embed image, instead of silently truncating it.
30493
d14d3370
RM
304942009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30495
30496 * include/multiboot.h: Indentation fixes.
30497
eeed10b4
RM
304982009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30499
30500 * include/multiboot.h (struct multiboot_aout_symbol_table)
30501 (struct multiboot_elf_section_header_table): New structure
30502 declarations (stolen from GRUB Legacy).
30503 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
30504 table information.
30505
30506 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
30507 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
30508 type aliases.
30509
681c70ab
RM
305102009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30511
30512 * include/multiboot.h: Make comments src2texi-friendly.
30513
e4d47d8d
RM
305142009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30515
30516 For consistency with [multiboot]/docs/boot.S.
30517
30518 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
30519 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
30520 (MULTIBOOT_MAGIC2): Rename from this ...
30521 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
30522
a0b70bda
RM
305232009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30524
30525 * include/multiboot.h: Remove `<grub/types.h>'.
30526 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
30527 types. Update all users.
30528
61ba42be 305292009-12-25 Carles Pina i Estany <carles@pina.cat>
30530
30531 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
30532 `couldn't' and `can not' by `cannot'.
30533 * commands/i386/pc/drivemap.c: Likewise.
30534 * disk/ata.c: Likewise.
30535 * disk/ieee1275/nand.c: Likewise.
30536 * fs/affs.c: Likewise.
30537 * fs/fat.c: Likewise.
30538 * fs/hfs.c: Likewise.
30539 * fs/hfsplus.c: Likewise.
30540 * fs/iso9660.c: Likewise.
30541 * fs/jfs.c: Likewise.
30542 * fs/minix.c: Likewise.
30543 * fs/reiserfs.c: Likewise.
30544 * fs/sfs.c: Likewise.
30545 * fs/udf.c: Likewise.
30546 * fs/ufs.c: Likewise.
30547 * fs/xfs.c: Likewise.
30548 * loader/powerpc/ieee1275/linux.c: Likewise.
30549 * loader/sparc64/ieee1275/linux.c: Likewise.
30550 * util/grub-probe.c: Likewise.
30551 * util/misc.c: Likewise.
30552
7fd0baee 305532009-12-24 Carles Pina i Estany <carles@pina.cat>
30554
30555 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
30556 grub_errno calls.
30557 * commands/acpi.c: Likewise.
30558 * commands/blocklist.c: Likewise.
30559 * commands/efi/loadbios.c: Likewise.
30560 * commands/i386/pc/drivemap.c: Likewise.
30561 * commands/loadenv.c: Likewise.
30562 * commands/memrw.c: Likewise.
30563 * commands/password.c: Likewise.
30564 * commands/videotest.c: Likewise.
30565 * disk/ata.c: Likewise.
30566 * disk/ata_pthru.c: Likewise.
30567 * disk/dmraid_nvidia.c: Likewise.
30568 * disk/ieee1275/nand.c: Likewise.
30569 * disk/ieee1275/ofdisk.c: Likewise.
30570 * disk/loopback.c: Likewise.
30571 * disk/lvm.c: Likewise.
30572 * disk/mdraid_linux.c: Likewise.
30573 * disk/raid.c: Likewise.
30574 * disk/raid6_recover.c: Likewise.
30575 * disk/scsi.c: Likewise.
30576 * efiemu/main.c: Likewise.
30577 * efiemu/mm.c: Likewise.
30578 * efiemu/pnvram.c: Likewise.
30579 * efiemu/symbols.c: Likewise.
30580 * font/font.c: Likewise.
30581 * fs/cpio.c: Likewise.
30582 * fs/hfsplus.c: Likewise.
30583 * fs/iso9660.c: Likewise.
30584 * fs/jfs.c: Likewise.
30585 * fs/minix.c: Likewise.
30586 * fs/ntfs.c: Likewise.
30587 * fs/ntfscomp.c: Likewise.
30588 * fs/reiserfs.c: Likewise.
30589 * fs/ufs.c: Likewise.
30590 * fs/xfs.c: Likewise.
30591 * gettext/gettext.c: Likewise.
30592 * include/grub/auth.h: Likewise.
30593 * kern/elf.c: Likewise.
30594 * kern/file.c: Likewise.
30595 * kern/ieee1275/init.c: Likewise.
30596 * kern/ieee1275/mmap.c: Likewise.
30597 * kern/ieee1275/openfw.c: Likewise.
30598 * kern/powerpc/dl.c: Likewise.
30599 * kern/sparc64/dl.c: Likewise.
30600 * lib/arg.c: Likewise.
30601 * loader/i386/bsd.c: Likewise.
30602 * loader/i386/bsdXX.c: Likewise.
30603 * loader/i386/efi/linux.c: Likewise.
30604 * loader/i386/efi/xnu.c: Likewise.
30605 * loader/i386/ieee1275/linux.c: Likewise.
30606 * loader/i386/linux.c: Likewise.
30607 * loader/i386/multiboot.c: Likewise.
30608 * loader/i386/pc/linux.c: Likewise.
30609 * loader/i386/pc/multiboot2.c: Likewise.
30610 * loader/i386/xnu.c: Likewise.
30611 * loader/ieee1275/multiboot2.c: Likewise.
30612 * loader/macho.c: Likewise.
30613 * loader/machoXX.c: Likewise.
30614 * loader/multiboot2.c: Likewise.
30615 * loader/multiboot_loader.c: Likewise.
30616 * loader/powerpc/ieee1275/linux.c: Likewise.
30617 * loader/sparc64/ieee1275/linux.c: Likewise.
30618 * loader/xnu.c: Likewise.
30619 * loader/xnu_resume.c: Likewise.
30620 * mmap/i386/pc/mmap.c: Likewise.
30621 * normal/menu_viewer.c: Likewise.
30622 * partmap/acorn.c: Likewise.
30623 * partmap/amiga.c: Likewise.
30624 * partmap/apple.c: Likewise.
30625 * script/lexer.c: Likewise.
30626 * term/gfxterm.c: Likewise.
30627 * term/i386/pc/serial.c: Likewise.
30628 * term/i386/pc/vga.c: Likewise.
30629 * term/ieee1275/ofconsole.c: Likewise.
30630 * term/terminfo.c: Likewise.
30631 * video/bitmap.c: Likewise.
30632 * video/efi_gop.c: Likewise.
30633 * video/efi_uga.c: Likewise.
30634 * video/fb/video_fb.c: Likewise.
30635 * video/i386/pc/vbe.c: Likewise.
30636 * video/readers/tga.c: Likewise.
30637 * video/video.c: Likewise.
30638
0ad46fd7 306392009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
30640
30641 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
30642 * commands/lspci.c: Likewise.
30643 * commands/probe.c: Likewise.
30644 * commands/xnu_uuid.c: Likewise.
30645 * conf/i386-coreboot.rmk: Likewise.
30646 * conf/i386-efi.rmk: Likewise.
30647 * conf/i386-ieee1275.rmk: Likewise.
30648 * conf/i386-pc.rmk: Likewise.
30649 * conf/powerpc-ieee1275.rmk: Likewise.
30650 * conf/sparc64-ieee1275.rmk: Likewise.
30651 * conf/x86_64-efi.rmk: Likewise.
30652 * fs/i386/pc/pxe.c: Likewise.
30653 * gettext/gettext.c: Likewise.
30654 * include/grub/efi/graphics_output.h: Likewise.
30655 * include/grub/i386/pc/memory.h: Likewise.
30656 * kern/env.c: Likewise.
30657 * kern/i386/qemu/startup.S: Likewise.
30658 * lib/i386/pc/biosnum.c: Likewise.
30659 * lib/i386/relocator.c: Likewise.
30660 * lib/i386/relocator_asm.S: Likewise.
30661 * lib/relocator.c: Likewise.
30662 * loader/i386/bsd.c: Likewise.
30663 * loader/i386/multiboot.c: Likewise.
30664 * loader/i386/pc/chainloader.c: Likewise.
30665 * loader/i386/xnu.c: Likewise.
30666 * loader/xnu.c: Likewise.
30667 * normal/main.c: Likewise.
30668 * normal/menu_text.c: Likewise.
30669 * util/getroot.c: Likewise.
30670 * util/grub-mkconfig_lib.in: Likewise.
30671 * util/grub.d/00_header.in: Likewise.
30672 * util/i386/pc/grub-mkimage.c: Likewise.
30673 * util/mkisofs/eltorito.c: Likewise.
30674 * util/mkisofs/exclude.h: Likewise.
30675 * util/mkisofs/hash.c: Likewise.
30676 * util/mkisofs/iso9660.h: Likewise.
30677 * util/mkisofs/joliet.c: Likewise.
30678 * util/mkisofs/mkisofs.c: Likewise.
30679 * util/mkisofs/mkisofs.h: Likewise.
30680 * util/mkisofs/multi.c: Likewise.
30681 * util/mkisofs/name.c: Likewise.
30682 * util/mkisofs/rock.c: Likewise.
30683 * util/mkisofs/tree.c: Likewise.
30684 * util/mkisofs/write.c: Likewise.
30685 * video/efi_gop.c: Likewise.
30686
009ec743
VS
306872009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
30688
30689 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
30690 size counting.
30691
0ad46fd7 306922009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
30693
30694 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
30695 * genmk.rb (class SCRIPT): Modify the target file instead of source.
30696
d3d30ea0
VS
306972009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
30698
30699 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
30700 (GRUB_MOD_INIT(memrw)): Update help line.
30701
a34f5c70
VS
307022009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
30703
30704 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
30705 Use grub_extcmd_t. All users updated.
30706 (options): New variable.
30707 (grub_cmd_read): Restructure for readability. Support "-v" option.
30708 (grub_cmd_write): Restructure for readability.
30709
0ad46fd7 307102009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
30711
30712 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
30713
0ad46fd7 307142009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
30715
30716 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
30717 with the actual contents of the correspondending make variable.
30718 * util/grub-mkrescue.in (pkglib_DATA): New variable.
30719 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
30720 specifying `*.lst' and `efiemu??.o'
30721
0ad46fd7 307222009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
30723
30724 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
30725 after function name.
30726 Noticed by Rene Engelhard <rene@debian.org>.
30727
dc77a799
VS
307282009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
30729
30730 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
30731 (options): New variable.
30732 (iospace): Likewise.
30733 (grub_lspci_iter): List IO spaces if "-i" was given.
30734 (grub_cmd_lspci): Parse options.
30735 (GRUB_MOD_INIT(lspci)): Use extcmd.
30736 (GRUB_MOD_FINI(lspci)): Likewise.
30737
0ad46fd7 307382009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
30739
30740 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
30741 `function' keyword.
30742 Patch by Tony Mancill <tmancill@debian.org>.
30743
b5d5993b
VS
307442009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
30745
30746 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
30747 (grub_uhci_portstatus): Likewise.
30748 (grub_uhci_portstatus): Add necessary delay.
11d18281 30749 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 30750
941903f2 307512009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 30752
941903f2 30753 * commands/acpi.c (options): Fix capitalizations and/or full stops.
30754 (GRUB_MOD_INIT): Likewise.
30755 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 30756 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
30757 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 30758 * commands/efi/loadbios.c (enable_rom_area): Likewise.
30759 (enable_rom_area): Likewise.
30760 (GRUB_MOD_INIT): Likewise.
30761 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
30762 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
30763 * commands/handler.c (GRUB_MOD_INIT): Likewise.
30764 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
30765 * commands/hexdump.c (options): Likewise.
30766 * commands/i386/cpuid.c (options): Likewise.
30767 (GRUB_MOD_INIT): Likewise.
30768 * commands/i386/pc/drivemap.c (options): Likewise.
30769 (GRUB_MOD_INIT): Likewise.
30770 * commands/i386/pc/halt (options): Likewise.
30771 (GRUB_MOD_INIT): Likewise.
30772 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
30773 * commands/i386/pc/pxecmd.c (options): Likewise.
30774 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
30775 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
30776 * commands/keystatus.c (options): Likewise.
30777 (GRUB_MOD_INIT): Likewise.
30778 * commands/loadenv.c (options): Likewise.
30779 * commands/ls.c (options): Likewise.
30780 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
30781 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
30782 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
30783 * commands/parttool.c (helpmsg): Likewise.
30784 * commands/probe.c (options): Likewise.
30785 * commands/read.c (GRUB_MOD_INIT): Likewise.
30786 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
30787 * commands/search.c (options): Likewise.
30788 * commands/sleep.c (options): Likewise.
30789 * commands/test.c (GRUB_MOD_INIT): Likewise.
30790 * commands/true.c (GRUB_MOD_INIT): Likewise.
30791 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
30792 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
30793 * lib/arg.c (help_options): Likewise.
e9bbb4e7 30794 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
30795 `$(XGETTEXT)'.
98a50553 30796 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 30797
0ad46fd7 307982009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 30799
ef3c2c3a 30800 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
30801 instead of specifying them explicit.
30802
7922f68b
RM
308032009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30804
30805 * NEWS: Add grub-probe support for GNU/Hurd.
30806
537ce47f
RM
308072009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30808
30809 * NEWS: gettext was added after 1.97.
30810
9b214e3a
RM
308112009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30812
30813 * util/mkisofs/msdos_partition.h: New file (based on
30814 include/grub/msdos_partition.h).
30815 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
30816 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
30817 (ld_options, main): Recognize --protective-msdos-label.
30818 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
30819 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
30820 (padblock_write): If `use_protective_msdos_label' is set, patch a
30821 protective DOS-style label in the output image.
30822
30823 * util/grub-mkrescue.in: Use --protective-msdos-label.
30824
e9309813
RM
308252009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30826
30827 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
30828 boot.
30829
0ae56929
RM
308302009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30831
30832 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
30833 variables.
30834 (ld_options, main): Recognize `--embedded-boot'.
30835 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
30836 declarations.
30837 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
30838 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
30839 (padblock_write): Likewise. Rewrite to support embedded boot image.
30840
30841 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
30842 for BIOS-based disk boot instead of only ElTorito.
30843
b15937b1
RM
308442009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30845
30846 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
30847 build (not needed for bootstrap).
30848
52cc3ce0
RM
308492009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30850
30851 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
30852 from i386-pc build (not needed for bootstrap).
30853 Rewrite a pair of strings.
30854
36f5ff04
RM
308552009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30856
30857 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
30858
973c6c85 308592009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
30860
30861 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
30862
05d21547
AB
308632009-12-21 Andreas Born <futur.andy@googlemail.com>
30864
30865 * kern/env.c (grub_env_context_open): Mark exported variable for
30866 reexport.
30867
0175d51f
AB
308682009-12-21 Andreas Born <futur.andy@googlemail.com>
30869
30870 * kern/env.c (grub_env_export): Create nonexistent variables before
30871 exporting.
30872
7f39d92f 308732009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 30874
7f39d92f 30875 * include/grub/auth.h: Include `<grub/i18n.h>'.
30876 (GRUB_GET_PASSWORD): Gettextizze string.
30877 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
30878 menu_text.c.
30879 (grub_utf8_to_ucs4_alloc): Fix indentation.
30880 (grub_print_ucs4): Likewise.
30881 (grub_getstringwidth): Likewise.
30882 (print_message_indented): New declaration.
30883 * normal/auth.c: Include `<grub/i18n.h>'.
30884 (grub_auth_check_authentication): Gettexttize string.
30885 * normal/cmdline.c: Include `<grub/i18n.h>'.
30886 (grub_cmdline_get): Gettextizze.
30887 * normal/color.c: Include `<grub/i18n.h>'.
30888 (grub_parse_color_name_pair): Gettexttize strings.
30889 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
30890 string (use `print_message_indented').
30891 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
30892 `include/grub/normal.h'.
30893 (print_message_indented): Renamed to ...
30894 (grub_print_message_indented): ... this. Remove `static' qualifer (now
30895 used in normal/main.c).
30896 (print_message): Use `grub_print_message_indented' instead of
30897 `print_message_indented'.
30898 (print_timeout): Likewise.
30899 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
30900 (grub_normal_print_device_info): Gettexttize strings.
30901 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
30902
3041d898
VS
309032009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
30904
30905 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
30906 of arguments. Return number of tokens and not arguments. All users
30907 updated.
30908
de15bf8e
VS
309092009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
30910
30911 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
30912 non-MSDOS paritions.
30913
e0a6ca52
VS
309142009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
30915
30916 * include/grub/types.h (UNUSED): Removed since it conflicts with
30917 NetBSD headers. All users changed to direct __attribute__ ((unused)).
30918 Reported by Grégoire Sutre.
30919
b99518d1 309202009-12-19 Carles Pina i Estany <carles@pina.cat>
30921
30922 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
30923 (grub_print_ucs4_alloc): Likewise.
30924 (grub_getstringwidth): Likewise.
30925 * normal/main.c (grub_normal_init_page): Gettextize version string.
30926 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
30927 (getstringwidth): Renamed to ...
30928 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
30929 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
30930 (grub_print_ucs4): Remove `static' qualifer (now used in
30931 normal/main.c).
30932 * po/POTFILES: Add normal/main.c.
30933
bfd5e52b 309342009-12-19 Carles Pina i Estany <carles@pina.cat>
30935
30936 * normal/menu_text.c (STANDARD_MARGIN): New macro.
30937 (print_message_indented): Add `margin_left' and `margin_right'
30938 parameters.
30939 (print_message): Update `print_message_indented' calls. Adds '\n' to the
30940 strings.
30941 (print_timeout): Use `print_message_indented' to print the message.
30942 Deletes `second_stage' parameter.
30943 (run_menu): Update `print_timeout' calls.
30944
5a1ad2b9
VS
309452009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
30946
30947 Fix console palette on OpenFirmware.
30948
30949 * term/ieee1275/ofconsole.c (MAX): Removed.
30950 (colors): Redone based on VGA palette.
30951 (grub_ofconsole_setcolor): Discard brightness bit since only 8
30952 colors are supported.
30953 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
30954
b045f00a
VS
309552009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
30956
30957 Fix potential EfiEmu double prepare.
30958
30959 * efiemu/main.c (prepared): New variable
30960 (grub_efiemu_unload): Set prepare to '0'.
30961 (grub_efiemu_prepare): Return if already prepared. Set prepared.
30962
30963 set_virtual_address_map support.
30964
30965 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
30966 prototype.
30967 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
30968 prototype.
30969 (grub_efiemu_crc32): Likewise.
30970 (grub_efiemu_crc64): Likewise.
30971 (grub_efiemu_set_virtual_address_map): Likewise.
30972 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
30973 New definition.
30974 (grub_autoefi_set_virtual_address_map): Likewise.
30975 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
30976 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
30977 Restructure flow to accomodate it.
30978 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
30979 (grub_efiemu_crc): Recompute CRC32.
30980 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
30981 (efiemu_ptv_relocated): ... this. Made global. All users updated.
30982 * efiemu/symbols.c (relocated_handle): New variable.
30983 (grub_efiemu_free_syms): Free relocated_handle.
30984 (grub_efiemu_alloc_syms): Allocate relocated_handle.
30985 (grub_efiemu_write_sym_markers): New function.
30986 (grub_efiemu_set_virtual_address_map): Likewise.
30987
30988 Newer XNU parameters.
30989
30990 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
30991 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
30992 (grub_xnu_fill_devicetree): New prototype.
30993 (grub_xnu_heap_real_start): New variable.
30994 * loader/xnu.c (get_name_ptr): New function.
30995 (grub_xnu_load_driver): Fill namelen and name.
30996
30997 64-bit xnu support.
30998
30999 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
31000 and 'loader/macho64.c'.
31001 * conf/i386-pc.rmk: Likewise.
31002 * conf/x86_64-efi.rmk: Likewise.
31003 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
31004 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
31005 * include/grub/macho.h (grub_macho_segment64): New structure.
31006 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
31007 (grub_macho_size32): ... to this.
31008 (grub_macho32_get_entry_point): Renamed from ...
31009 (grub_macho_get_entry_point32): ... to this.
31010 (grub_macho_contains_macho64): New prototype.
31011 (grub_macho_size64): Likewise.
31012 (grub_macho_get_entry_point64): Likewise.
31013 (grub_macho32_load): Renamed from ...
31014 (grub_macho_load32): ... to this.
31015 (grub_macho32_filesize): Renamed from ...
31016 (grub_macho_filesize32): ... to this.
31017 (grub_macho32_readfile): Renamed from ...
31018 (grub_macho_readfile32): ... to this.
31019 (grub_macho_filesize64): New prototype.
31020 (grub_macho_readfile64): Likewise.
31021 (grub_macho_parse32): Likewise.
31022 (grub_macho_parse64): Likewise.
31023 * loader/macho.c: Split into ...
31024 * loader/machoXX.c: ... and this. Replace 32 with XX.
31025 * loader/macho32.c: New file.
31026 * loader/macho64.c: Likewise.
31027 * loader/xnu.c (grub_xnu_is_64bit): New variable.
31028 (grub_cmd_xnu_kernel): Make 32-bit only.
31029 (grub_cmd_xnu_kernel64): New function.
31030 (grub_xnu_load_driver): Support Mach-O 64.
31031 (grub_cmd_xnu_mkext): Likewise.
31032 * util/grub.d/30_os-prober.in (osx_entry): New function.
31033 Generate entries for 64-bit boot too.
31034
31035 Eliminate ad-hoc tree format in XNU and EfiEmu.
31036
31037 * efiemu/main.c (grub_efiemu_prepare): Update comment.
31038 * efiemu/pnvram.c: Rewritten to use environment variables.
31039 All users updated.
31040
31041 Inline utf16_to_utf8.
31042
31043 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
31044 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
31045 All users updated.
31046 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
31047
31048 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
31049 * commands/usbtest.c (grub_usb_get_string): ... move here.
31050 (usb_print_str): Fix error handling.
31051 * include/grub/usb.h (grub_usb_get_string): Remove.
31052
31053 UTF-8 to UTF-16 transformation.
31054
31055 * conf/common.rmk (pkglib_MODULES): Add charset.mod
31056 (charset_mod_SOURCES): New variable.
31057 (charset_mod_CFLAGS): Likewise.
31058 (charset_mod_LDFLAGS): Likewise.
31059 * include/grub/utf.h: New file.
31060 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
31061
31062 Support for device properties.
31063
31064 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
31065 (grub_xnu_devprop_device_header): Likewise.
31066 (grub_xnu_devprop_device_descriptor): Likewise.
31067 (grub_xnu_devprop_add_device): New prototype.
31068 (grub_xnu_devprop_remove_device): Likewise.
31069 (grub_xnu_devprop_remove_property): Likewise.
31070 (grub_xnu_devprop_add_property_utf8): Likewise.
31071 (grub_xnu_devprop_add_property_utf16): Likewise.
31072 (grub_cpu_xnu_init): Likewise.
31073 (grub_cpu_xnu_fini): Likewise.
31074 (grub_cpu_xnu_unload): Likewise.
31075 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
31076 (property_descriptor): Likewise.
31077 (devices): New variable.
31078 (grub_xnu_devprop_remove_property): New function.
31079 (grub_xnu_devprop_add_device): Likewise.
31080 (grub_xnu_devprop_remove_device): Likewise.
31081 (grub_xnu_devprop_add_property): Likewise.
31082 (grub_xnu_devprop_add_property_utf8): Likewise.
31083 (grub_xnu_devprop_add_property_utf16): Likewise.
31084 (hextoval): Likewise.
31085 (grub_cpu_xnu_fill_devprop): Likewise.
31086 (grub_cmd_devprop_load): Likewise.
31087 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
31088 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
31089 (cmd_devprop_load): New variable.
31090 (grub_cpu_xnu_init): New function.
31091 (grub_cpu_xnu_fini): Likewise.
31092 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
31093 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
31094 (grub_cmd_xnu_devtree): Likewise.
31095 (hextoval): New function.
31096 (unescape): Likewise.
31097 (grub_xnu_fill_devicetree): Likewise.
31098
31099 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
31100 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
31101
0945f181
VS
311022009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
31103
31104 Workaround for broken ATI VBE.
31105
31106 * video/i386/pc/vbe.c (last_set_mode): New variable.
31107 (grub_vbe_set_video_mode): Set 'last_set_mode'.
31108 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
31109 (grub_video_vbe_setup): Don't check for reserved flag.
31110
0ad46fd7 311112009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
31112
31113 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
31114 the `find' command.
31115
c179ebe4
VS
311162009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
31117
31118 UUID support for HFS.
31119
31120 * fs/hfs.c (grub_hfs_uuid): New function.
31121 (grub_hfs_fs): New value .uuid.
31122 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
31123
0ad46fd7 311242009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
31125
31126 Fix a segfault with parsing unknown long options.
31127
31128 * util/grub-mkrelpath.c (options): Zero terminate it.
31129
c4a3e41a
CPE
311302009-12-13 Carles Pina i Estany <carles@pina.cat>
31131
31132 * include/grub/misc.h (grub_puts): New declaration.
31133 (grub_puts_): Likewise.
a22008a6 31134 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
31135 (grub_puts_): Likewise.
31136
2e8a7602
RM
311372009-12-13 Robert Millan <rmh.grub@aybabtu.com>
31138
31139 * util/grub-probe.c (probe): Improve error message.
31140
b50b77b9
RM
311412009-12-13 Robert Millan <rmh.grub@aybabtu.com>
31142
31143 * loader/i386/multiboot_elfxx.c
31144 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
31145 initialization.
31146
311472009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
31148
31149 Relocator framework
31150
31151 * loader/i386/xnu_helper.S: Removed. All users updated.
31152 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
31153 (relocator_mod_SOURCES): New variable.
31154 (relocator_mod_CFLAGS): Likewise.
31155 (relocator_mod_LDFLAGS): Likewise.
31156 (relocator_mod_ASFLAGS): Likewise.
31157 * conf/x86_64.rmk: Likewise.
31158 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
31159 (grub_multiboot_payload_entry_offset): Likewise.
31160 (grub_multiboot_forward_relocator): Likewise.
31161 (grub_multiboot_forward_relocator_end): Likewise.
31162 (grub_multiboot_backward_relocator): Likewise.
31163 (grub_multiboot_backward_relocator_end): Likewise.
31164 (grub_multiboot_payload_eip): New variable.
31165 (grub_multiboot_payload_orig): Likewise.
31166 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
31167 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
31168 * include/grub/i386/memory.h
31169 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
31170 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
31171 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
31172 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
31173 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
31174 * include/grub/i386/relocator.h: New file.
31175 * include/grub/x86_64/relocator.h: Likewise.
31176 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
31177 (XNU_RELOCATOR): New macro.
31178 (grub_xnu_launcher_start): Remove.
31179 (grub_xnu_launcher_end): Likewise.
31180 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
31181 (grub_xnu_heap_real_start): Remove.
31182 (grub_xnu_heap_start): Change to void *. All users updated.
31183 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
31184 * lib/i386/relocator.c: New file.
31185 * lib/i386/relocator_asm.S: Likewise.
31186 * lib/i386/relocator_backward.S: Likewise.
31187 * lib/mips/relocator.c: Likewise.
31188 * lib/mips/relocator_asm.S: Likewise.
31189 * lib/relocator.c: Likewise.
31190 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
31191 (entry): Removed.
31192 (playground): Likewise.
31193 (grub_multiboot_payload_orig): New variable.
31194 (grub_multiboot_payload_dest): Likewise.
31195 (grub_multiboot_payload_size): Likewise.
31196 (grub_multiboot_payload_eip): Likewise.
31197 (grub_multiboot_payload_esp): Likewise.
31198 (grub_multiboot_boot): Use grub_relocator32_boot.
31199 (grub_multiboot_unload): Free relocators.
31200 (grub_multiboot): Setup stack. Use relocators.
31201 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
31202 (grub_multiboot_load_elfXX): Use relocators.
31203 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
31204 (grub_multiboot_payload_size): Likewise.
31205 (grub_multiboot_payload_dest): Likewise.
31206 (grub_multiboot_payload_entry_offset): Likewise.
31207 (grub_multiboot_forward_relocator): Likewise.
31208 (grub_multiboot_backward_relocator): Likewise.
31209 (grub_multiboot_real_boot): Likewise.
31210 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
31211 (grub_xnu_entry_point): Likewise.
31212 (grub_xnu_arg1): Likewise.
31213 (grub_xnu_stack): Likewise.
31214 (grub_xnu_launch): Removed.
31215 (grub_xnu_boot_resume): New function.
31216 (grub_xnu_boot): Use relocators.
31217 * loader/i386/xnu_helper.S: Removed.
31218 * loader/xnu.c (grub_xnu_heap_start): New variable.
31219 (grub_xnu_heap_size): Likewise.
31220 (grub_xnu_heap_malloc): Use relocators.
31221 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
31222
29eb90c6
VS
312232009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
31224
31225 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
31226 anything.
31227
31027430
CPE
312282009-12-13 Carles Pina i Estany <carles@pina.cat>
31229
31230 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
31231 GRUB_ERR_NONE before calling grub_env_set.
31232
dc0c71d9
RM
312332009-12-12 Robert Millan <rmh@aybabtu.com>
31234
31235 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
31236 * genmk.rb (video): New variable.
31237 (CLEANFILES, VIDEOFILES): Add #{video}.
31238 (#{video}): New target rule.
31239 * genvideolist.sh: New file.
31240 * Makefile.in (pkglib_DATA): Add video.lst.
31241 (video.lst): New target rule.
31242 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
31243 `video.lst'.
31244 * util/grub.d/30_os-prober.in: Replace `vbe' with
31245 ${GRUB_VIDEO_BACKEND}.
31246
2a4bfcf0
RM
312472009-12-11 Robert Millan <rmh.grub@aybabtu.com>
31248
31249 * THANKS: Add David Miller.
31250
2a3aa4d5
RM
312512009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
31252
31253 libpciaccess support.
31254
31255 * Makefile.in (LIBPCIACCESS): New variable.
31256 (enable_grub_emu_pci): Likewise.
31257 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
31258 util/pci.c and commands/lspci.c.
31259 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
31260 * configure.ac (grub-emu-pci): New option.
31261 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
31262 (grub_pci_device_unmap_range): Likewise.
31263 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
31264 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
31265 (grub_pci_address_t) [!GRUB_UTIL]: New type.
31266 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
31267 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
31268 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
31269 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
31270 * include/grub/pciutils.h: New file.
31271 * util/pci.c: Likewise.
31272
0ad46fd7 312732009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
31274
31275 * util/misc.c: Don't include <errno.h> twice.
31276
0ad46fd7 312772009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
31278
31279 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
31280 name in an error message.
31281 (grub_biosdisk_rw): Likewise.
31282
2e59983c
VS
312832009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
31284
31285 Eliminate NTFS 4Gib barrier.
31286
31287 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
31288 (read_run_data): Likewise.
31289 (grub_ntfs_read_run_list): Likewise.
31290 (grub_ntfs_read_block): Likewise.
31291 (grub_ntfs_iterate_dir): Likewise.
31292 (read_mft): Likewise.
31293 (read_data): Likewise.
31294 Use COM_LOG_LEN.
31295 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
31296 to avoid 64-bit division
31297 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
31298 (grub_ntfs_rlst): Use grub_disk_addr_t.
31299
71ee178a
VS
313002009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
31301
31302 Eliminate grub-fstest 4Gib barrier.
31303
31304 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
31305 (read_file): Fix error reporting.
31306
2520d4b8
VS
313072009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
31308
31309 Eliminate hexdump 4Gib barrier.
31310
31311 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
31312 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
31313
e1f27065
VS
313142009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
31315
31316 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
31317 Fixes amarsh bug.
31318
1a0f7f45
RM
313192009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
31320
31321 Remove miscellaneous files in distclean target.
31322
31323 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
31324
c631d9fb
CW
313252009-12-09 Colin Watson <cjwatson@ubuntu.com>
31326
31327 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
31328 if they're already set. This resolves the conflict between my
31329 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
31330 fixing the --grub-probe option again.
31331 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
31332 change on 2009-10-06, so that we now once again source
31333 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
31334
7c7b6106
RM
313352009-12-08 Robert Millan <rmh.grub@aybabtu.com>
31336
31337 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
31338 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
31339 `util/devicemap.c'.
31340
e3069ec1
CPE
313412009-12-08 Carles Pina i Estany <carles@pina.cat>
31342
31343 * include/grub/misc.h (grub_printf_): New declaration.
31344 * kern/misc.c (grub_printf_): New definition.
31345 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
31346 instead of `grub_printf' and `_'.
31347 * normal/menu_entry.c (store_completion): Likewise.
31348 (run): Likewise.
31349 (grub_menu_entry_run): Likewise.
31350 * normal/menu_text.c (grub_wait_after_message): Likewise.
31351 (notify_booting): Likewise.
31352 (notify_fallback): Likewise.
31353 (notify_execution_failure): Likewise.
31354
d6ceebf1
CW
313552009-12-07 Colin Watson <cjwatson@ubuntu.com>
31356
31357 * configure.ac: Check for vasprintf.
31358 * util/misc.c (asprintf): Move allocation from here ...
31359 (vasprintf): ... to here. New function.
31360 (xasprintf): New function.
31361 * include/grub/util/misc.h (vasprintf, xasprintf): Add
31362 prototypes.
31363 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
31364 * util/grub-mkfont.c (write_font): Likewise.
31365 * util/grub-probe.c (probe): Likewise.
31366 * util/hostdisk.c (make_device_name): Likewise.
31367
de6daa8b
DM
313682009-12-06 David S. Miller <davem@sunset.davemloft.net>
31369
31370 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
31371 anything even prefixed with 'cdrom' as a cdrom.
31372
0ad46fd7 313732009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
31374
31375 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
31376 mount points.
31377
98d3dc02
CPE
313782009-12-05 Carles Pina i Estany <carles@pina.cat>
31379
31380 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
31381 grub_gettext_msg_list.
31382 (grub_gettext_gettranslation_from_position): Return const char *
31383 and not char *.
a2c1332b 31384 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
31385 returns from the list if existing there.
31386 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
31387 (grub_gettext_delete_list): Delete the list.
31388 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
31389 lang environment variable is changed.
31390 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
31391
b283f108
VS
313922009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
31393
31394 Rename kernel.mod to kernel.img.
31395
31396 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
31397 (kernel_mod_EXPORTS): Rename to ...
31398 (kernel_img_EXPORTS): ... this.
31399 (kernel_mod_SOURCES): Rename to ...
31400 (kernel_img_SOURCES): ... this.
31401 (kernel_mod_HEADERS): Rename to ...
31402 (kernel_img_HEADERS): ... this. All users updated.
31403 (kernel_mod_CFLAGS): Rename to ...
31404 (kernel_img_CFLAGS): ... this.
31405 (kernel_mod_ASFLAGS): Rename to ...
31406 (kernel_img_ASFLAGS): ... this.
31407 (kernel_mod_LDFLAGS): Rename to ...
31408 (kernel_img_LDFLAGS): ... this.
31409 * conf/x86_64-efi.rmk: Likewise.
31410 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
31411 (read_kernel_image): ... this. All users updated.
31412 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
31413
69055f8a
CPE
314142009-12-05 Carles Pina i Estany <carles@pina.cat>
31415
31416 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
31417 (print_spaces): New function.
31418 (grub_print_ucs4): New function.
31419 (getstringwidth): New function.
31420 (print_message_indented): New function.
31421 (print_message): Gettexttize strings using print_message_indented.
31422 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
31423 width.
31424 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 31425 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
31426 Gettextize.
31427 * normal/menu_entry.c (store_completion): Cleanup the gettextized
31428 string.
31429 (run): Likewise.
31430 (grub_menu_entry_run): Likewise.
31431 * PO/POTFILES: Add normal/menu_entry.c.
31432
f616f51c
VS
314332009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
31434
31435 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
31436
57bbe3be
CPE
314372009-12-05 Carles Pina i Estany <carles@pina.cat>
31438
31439 * util/grub-install.in: Install gettext .mo files.
31440 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
31441
013d67a1
CPE
314422009-12-05 Carles Pina i Estany <carles@pina.cat>
31443
31444 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
31445 grub_dprintf.
31446
fb954db0
RM
314472009-12-05 Robert Millan <rmh.grub@aybabtu.com>
31448
31449 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
31450 non-firmware-dependant one in realmode.S takes precedence.
31451
6b8474f8
RM
314522009-12-04 Robert Millan <rmh.grub@aybabtu.com>
31453
31454 * commands/halt.c: Replace misc arch-specific headers with
31455 `<grub/misc.h>'.
31456 * commands/reboot.c: Likewise.
31457 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
31458 `<grub/misc.h>'.
31459 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
31460 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
31461 (kernel_img_SOURCES): ... to here.
31462
31463 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
31464 * include/grub/i386/pc/init.h: Likewise.
31465 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
31466 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
31467
31468 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
31469
31470 * include/grub/i386/halt.h: Remove.
31471 * include/grub/i386/reboot.h: Likewise.
31472
31473 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
31474
4b2e6ca2
DM
314752009-12-03 David S. Miller <davem@sunset.davemloft.net>
31476
31477 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
31478 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
31479 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
31480 "progname.h"
31481 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
31482 * util/sparc64/ieee1275/grub-setup.c: Likewise.
31483 (usage): Add missing comma in printf.
31484
5239348f
RM
314852009-12-02 Robert Millan <rmh.grub@aybabtu.com>
31486
31487 Use the same reboot approach on i386 coreboot and qemu as we do on
31488 BIOS.
31489
31490 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
31491 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
31492 * kern/i386/reboot.c: Remove.
31493 * include/grub/i386/reboot.h (grub_reboot): Export function.
31494 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
31495 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
31496 0xf000:0xfff0 instead of 0xffff:0x0000.
31497 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
31498 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
31499
ef34cbd4
RM
315002009-11-30 Robert Millan <rmh.grub@aybabtu.com>
31501
31502 Fix $srcdir != $objdir build.
31503
31504 * Makefile.in (po/%.po): Rewrite as ...
31505 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
31506
dc9837ea
ST
315072009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
31508
31509 Fix GNU/Hurd grub-install crash.
31510 * util/grub-probe.c (probe): Try to access `path' only when it is not
31511 NULL.
31512
2f857f98
VS
315132009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
31514
31515 Correct module naming.
31516
31517 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
31518 (GRUB_MOD_INIT(efi_uga)): ... to this
31519 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
31520 (GRUB_MOD_FINI(efi_uga)): ... to this
31521 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
31522 (GRUB_MOD_INIT(efi_gop)): ... to this
31523 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
31524 (GRUB_MOD_FINI(efi_gop)): ... to this
31525
c5448046
RM
315262009-11-28 Robert Millan <rmh.grub@aybabtu.com>
31527
31528 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
31529 translatable.
31530 (usage): Translate `arg' strings using gettext().
31531 Thanks to Jordi Mallach for the suggestion.
31532
c85184ad
VS
315332009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
31534
31535 GOP support. Based on patch from Bean
31536 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
31537
31538 * video/efi_gop.c: New file.
31539 * include/grub/efi/graphics_output.h: Likewise.
31540 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
31541 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
31542 variables.
31543 * conf/x86_64-efi.rmk: Likewise.
31544
8a4c48d8
VS
315452009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
31546
31547 Rename efi_fb to efi_uga.
31548
31549 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
31550 'efi_uga.mod'.
31551 (efi_fb_mod_SOURCES): Rename this ...
31552 (efi_uga_mod_SOURCES): ... to this.
31553 (efi_fb_mod_CFLAGS): Rename this ...
31554 (efi_uga_mod_CFLAGS): ... to this.
31555 (efi_fb_mod_LDFLAGS): Rename this ...
31556 (efi_uga_mod_LDFLAGS): ... to this.
31557 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
31558 'efi_uga.mod'.
31559 (efi_fb_mod_SOURCES): Rename this ...
31560 (efi_uga_mod_SOURCES): ... to this.
31561 (efi_fb_mod_CFLAGS): Rename this ...
31562 (efi_uga_mod_CFLAGS): ... to this.
31563 (efi_fb_mod_LDFLAGS): Rename this ...
31564 (efi_uga_mod_LDFLAGS): ... to this.
31565 * video/efi_fb.c: Move this ...
31566 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
31567
fb6c1a7b
RM
315682009-11-27 Robert Millan <rmh.grub@aybabtu.com>
31569
31570 * po/README: New file. Explain our PO file workflow.
31571
3bc7896c
RM
315722009-11-27 Robert Millan <rmh.grub@aybabtu.com>
31573
31574 * po/ChangeLog: Remove. Move relevant entries back to ...
31575 * ChangeLog: ... here.
31576 * po/ca.po: Remove (now handled by TLP).
31577 * po/id.po: Likewise.
31578 * po/zh_CN.po: Likewise.
31579 * Makefile.in (LINGUAS): Initialize in a way that supports
31580 empty set.
31581
9ed4841d
RM
315822009-11-27 Robert Millan <rmh.grub@aybabtu.com>
31583
31584 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
31585 reliing on po/LINGUAS.
31586 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
31587 (po/%.po): ... this.
31588
0ad46fd7 315892009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
31590
31591 * util/i386/efi/grub-mkimage.c: Include "progname.h".
31592 (main): Use `program_name' instead of nonexistent `progname'.
31593
e30dd392
FZ
315942009-11-26 Felix Zielcke <fzielcke@z-51.de>
31595
31596 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
31597 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
31598
7656de4f
RM
315992009-11-26 Robert Millan <rmh.grub@aybabtu.com>
31600
31601 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
31602 commit.
31603 * conf/i386-efi.rmk: Likewise.
31604 * conf/i386-ieee1275.rmk: Likewise.
31605 * conf/powerpc-ieee1275.rmk: Likewise.
31606 * conf/sparc64-ieee1275.rmk: Likewise.
31607 * conf/x86_64-efi.rmk: Likewise.
31608
db77c4d4
FZ
316092009-11-26 Felix Zielcke <fzielcke@z-51.de>
31610
31611 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
31612
a755bb04
FZ
316132009-11-26 Felix Zielcke <fzielcke@z-51.de>
31614
31615 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
31616
8a4c07fd
RM
316172009-11-26 Robert Millan <rmh.grub@aybabtu.com>
31618
31619 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
31620 (grub_mkdevicemap_SOURCES): New variable.
31621 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
31622 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
31623 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
31624 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
31625 (grub_mkdevicemap_SOURCES): Remove.
31626 * conf/i386-efi.rmk: Likewise.
31627 * conf/i386-ieee1275.rmk: Likewise.
31628 * conf/i386-pc.rmk: Likewise.
31629 * conf/powerpc-ieee1275.rmk: Likewise.
31630 * conf/sparc64-ieee1275.rmk: Likewise.
31631 * conf/x86_64-efi.rmk: Likewise.
31632 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
31633 (usage): Fix strings to use `program_name'.
31634 (main): Initialize gettext.
31635 * util/grub-editenv.c: Likewise.
31636 * util/grub-emu.c: Likewise.
31637 * util/grub-fstest.c: Likewise.
31638 * util/grub-mkdevicemap.c: Likewise.
31639 * util/grub-mkfont.c: Likewise.
31640 * util/grub-mkrelpath.c: Likewise.
31641 * util/grub-pe2elf.c: Likewise.
31642 * util/grub-probe.c: Likewise.
31643 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
31644 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
31645 * util/sparc64/ieee1275/grub-setup.c: Likewise.
31646
31647 * util/misc.c: Include `"progname.h"'.
31648 (progname): Remove variable.
31649 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
31650
6f61ed55
FZ
316512009-11-25 Felix Zielcke <fzielcke@z-51.de>
31652
31653 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
31654 printf and print a newline after the menuentry header line.
31655 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
31656
f022876b
FZ
316572009-11-25 Felix Zielcke <fzielcke@z-51.de>
31658
31659 autoconf >= 2.60 support $(localedir).
31660
31661 * INSTALL: Note that autoconf 2.60 is required.
31662 * configure.ac (AC_PREREQ): Bump to 2.60.
31663 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
31664 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
31665
6717926e
YB
316662009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
31667
31668 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
31669 aclocal is run.
31670
08806a54
RM
316712009-11-25 Robert Millan <rmh.grub@aybabtu.com>
31672
31673 * normal/main.c (grub_normal_read_line): Fix off-by-one
31674 buffer overflow.
31675
13b33fba
RM
316762009-11-25 Robert Millan <rmh.grub@aybabtu.com>
31677
31678 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
31679 "parser.grub" in grub_command_execute() call.
31680
4a8572e9
CPE
316812009-11-24 Carles Pina i Estany <carles@pina.cat>
31682
31683 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
31684 * conf/i386-efi.rmk: Likewise.
31685 * conf/i386-ieee1275.rmk: Likewise.
31686 * conf/i386-pc.rmk: Likewise.
31687 * conf/powerpc-ieee1275.rmk: Likewise.
31688 * conf/sparc64-ieee1275.rmk: Likewise.
31689 * conf/x86_64-efi.rmk: Likewise.
31690 * gettext/gettex.c: Include <grub/i18n.h>.
31691 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
31692 here ...
31693 * include/grub/i18n.h: ... to here
31694 * include/grub/i18n.h: ... to here.
31695 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 31696 (grub_gettext_dummy): Move above user.
4a8572e9 31697
bee48093
FZ
316982009-11-24 Felix Zielcke <fzielcke@z-51.de>
31699
31700 * util/Makefile.in (install-local): Convert a `for' into a normal
31701 shell expansion.
31702
a031e91c
RM
317032009-11-24 Robert Millan <rmh.grub@aybabtu.com>
31704
31705 * autogen.sh: Add automake call.
31706 * config.guess: Remove.
31707 * config.sub: Likewise.
31708 * install-sh: Likewise.
31709
26bec39d
FZ
317102009-11-24 Felix Zielcke <fzielcke@z-51.de>
31711
31712 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
31713
8e2532fd
FZ
317142009-11-24 Felix Zielcke <fzielcke@z-51.de>
31715
31716 * util/Makefile.in (install-local): Convert a make `$(foreach)'
31717 function to a normal shell `for'.
31718
fefa1b7d
FZ
317192009-11-24 Felix Zielcke <fzielcke@z-51.de>
31720
31721 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
31722
4501250b
FZ
317232009-11-24 Felix Zielcke <fzielcke@z-51.de>
31724
31725 * util/grub-mkrelpath.c: New file.
31726 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
31727 (grub_mkrelpath_SOURCES): New variable.
31728 * include/grub/util/misc.h: New function prototype.
31729 * util/misc.c (make_system_path_relative_to_its_root): New function.
31730
31731 * util/grub-mkconfig_lib.in (bindir): New variable.
31732 (grub_mkrelpath): Likewise.
31733 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
31734
31735 * util/probe.c (probe): Make the file path relative to its root.
31736 Change a info message to use the GRUB path. Enable again the
31737 check if we can read the file with GRUB facilities.
31738
31739 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
31740 to its root.
31741
11d9778b
FZ
317422009-11-24 Felix Zielcke <fzielcke@z-51.de>
31743
31744 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
31745 platform.
31746
4465287d
FZ
317472009-11-24 Felix Zielcke <fzielcke@z-51.de>
31748
31749 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
31750 strncmp().
31751
62b47f22
FZ
317522009-11-24 Felix Zielcke <fzielcke@z-51.de>
31753
31754 * util/getroot.c (grub_util_is_dmraid): New function.
31755 (grub_util_get_dev_abstraction): Treat dmraid and multipath
31756 devices as normal ones, not as LVM.
31757
1eafb9b9 317582009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
31759
31760 * conf/common.rmk: Add grub-gettext_lib target and updates
31761 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
31762 LDFLAGS.
31763 * gettext/gettext.c: New file. (Reads mo files).
31764 * include/grub/file.h (grub_file_pread): New prototype.
31765 * include/grub/i18n.h (_): New prototype.
31766 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
31767 prototypes.
31768 * kern/misc.c (grub_gettext_dummy): New function.
31769 * normal/menu_text.c: Include <grub/i18n.h>.
31770 * normal/menu_text.c (print_timeout): Gettexttize string.
31771 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
31772 * po/POTFILES: Add `normal/menu_text.c'.
31773 * po/ca.po: Add new translations.
c3ea6bd4
CPE
31774 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
31775 gettext module and defines locale_dir and lang in grub.cfg.
31776 * NEWS: Add gettext support.
31777
0fdb2568
RM
317782009-11-23 Robert Millan <rmh.grub@aybabtu.com>
31779
31780 * util/hostdisk.c: Include `<grub/i18n.h>'.
31781 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
31782 (make_device_name): Rewrite using asprintf.
31783 (convert_system_partition_to_system_disk): Replace 0 with NULL.
31784 (find_system_device): If a device is not found, generate one just
31785 by reusing the OS path name.
31786 (read_device_map): Make it permissible for device.map not to exist.
31787
f515aa62
RM
317882009-11-23 Robert Millan <rmh.grub@aybabtu.com>
31789
31790 * script/sh/execute.c: Move from here ...
31791 * script/execute.c: ... to here. Update all users.
31792 * script/sh/function.c: Move from here ...
31793 * script/function.c: ... to here. Update all users.
31794 * script/sh/lexer.c: Move from here ...
31795 * script/lexer.c: ... to here. Update all users.
31796 * script/sh/main.c: Move from here ...
31797 * script/main.c: ... to here. Update all users.
31798 * script/sh/parser.y: Move from here ...
31799 * script/parser.y: ... to here. Update all users.
31800 * script/sh/script.c: Move from here ...
31801 * script/script.c: ... to here. Update all users.
31802
f84b481b
RM
318032009-11-23 Robert Millan <rmh.grub@aybabtu.com>
31804
31805 * configure.ac: Detect all `emu' platforms. Define
31806 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
31807 --enable-grub-emu logic. Disable include/grub/machine
31808 symlink on `emu' platforms.
31809
31810 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
31811 * gensymlist.sh.in: Likewise.
31812
31813 * include/grub/i386/coreboot/machine.h: Remove file.
31814 * include/grub/i386/efi/machine.h: Likewise.
31815 * include/grub/i386/ieee1275/machine.h: Likewise.
31816 * include/grub/i386/pc/machine.h: Likewise.
31817 * include/grub/i386/qemu/machine.h: Likewise.
31818 * include/grub/powerpc/ieee1275/machine.h: Likewise.
31819 * include/grub/sparc64/ieee1275/machine.h: Likewise.
31820 * include/grub/x86_64/efi/machine.h: Likewise.
31821
31822 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
31823 * commands/halt.c: Likewise.
31824 * commands/reboot.c: Likewise.
31825 * include/grub/autoefi.h: Likewise.
31826 * include/grub/i386/at_keyboard.h: Likewise.
31827 * include/grub/i386/kernel.h: Likewise.
31828 * include/grub/i386/loader.h: Likewise.
31829 * include/grub/i386/pc/memory.h: Likewise.
31830 * kern/dl.c: Likewise.
31831 * kern/i386/coreboot/init.c: Likewise.
31832 * loader/i386/bsd.c: Likewise.
31833 * loader/i386/linux.c: Likewise.
31834 * loader/multiboot_loader.c: Likewise.
31835 * term/i386/pc/serial.c: Likewise.
31836 * term/usb_keyboard.c: Likewise.
31837
31838 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
31839 `<grub/machine/machine.h>'
31840 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
31841 * util/misc.c: Remove `<grub/machine/machine.h>' and
31842 `<grub/machine/time.h>'.
31843
31844 * Makefile.in (enable_grub_emu): Remove variable.
31845 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
31846
31847 * conf/any-emu.rmk: New file.
31848 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
31849 (grub_emu_init.c): Move from here ...
31850 * conf/any-emu.rmk: ... to here.
31851
31852 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
31853 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
31854 * conf/any-emu.rmk: ... to here.
31855
4efeab03
RM
318562009-11-23 Robert Millan <rmh.grub@aybabtu.com>
31857
31858 * include/grub/parser.h (grub_parser_register): Document need
31859 of `name' parameter.
31860 * normal/main.c (grub_normal_read_line): Simplify prompt string.
31861 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
31862 "sh" to "grub".
31863
ea1dd8bf
RM
318642009-11-23 Robert Millan <rmh.grub@aybabtu.com>
31865
31866 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
31867 `$(XGETTEXT)'.
31868 * include/grub/i18n.h (N_): New macro.
31869 * util/mkisofs/mkisofs.h: Likewise.
31870 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
31871 around N_().
31872 (usage): Use gettext() to translate help strings when printing them.
31873
0c140626
RM
318742009-11-23 Robert Millan <rmh.grub@aybabtu.com>
31875
31876 Based on patch from Bean
31877 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
31878
31879 * video/efi_fb.c: New file.
31880 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
31881 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
31882 variables.
31883 * conf/x86_64-efi.rmk: Likewise.
31884
87d58298
RM
318852009-11-22 Robert Millan <rmh.grub@aybabtu.com>
31886
31887 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
31888 * util/i386/pc/grub-setup.c: Likewise.
31889
994cc3a3
ST
318902009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
31891
31892 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
31893 <hurd/fs.h>
31894 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
31895 file_get_storage_info to implement grub_guess_root_device.
31896
26a61d6a
FZ
318972009-11-21 Felix Zielcke <fzielcke@z-51.de>
31898
31899 * Makefile.in (target): Use make's builtin $(shell) function
31900 instead of calling directly $(SHELL) to create the locale directories,
31901 inside the $(foreach) function.
31902
74ff1dd5
FZ
319032009-11-21 Felix Zielcke <fzielcke@z-51.de>
31904
31905 * util/grub-mkrescue.in: Print an error and usage if output option
31906 has not been given.
31907
0b787d0e
FZ
319082009-11-21 Felix Zielcke <fzielcke@z-51.de>
31909
31910 Patch from Loïc Minier <loic.minier@ubuntu.com>.
31911 * util/grub.d/30_os-prober.in: Cope with Linux entries where
31912 root and /boot are on different devices.
31913
1164b270
RM
319142009-11-21 Robert Millan <rmh.grub@aybabtu.com>
31915
31916 Fix build for srcdir != objdir.
31917
31918 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
31919 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
31920 $(srcdir).
31921 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
31922 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
31923 reference for input.
31924
13774a2f
RM
319252009-11-21 Robert Millan <rmh.grub@aybabtu.com>
31926
31927 * util/grub-mkrescue.in: Use source directory direcly (without copiing
31928 or hardlinking it). Remove -J option, Joliet is not compatible with
31929 multiple source directories.
31930
efda854e
RM
319312009-11-21 Carles Pina i Estany <carles@pina.cat>
319322009-11-21 Robert Millan <rmh.grub@aybabtu.com>
31933
31934 * util/grub-mkrescue.in: Recognize `--override-directory' option.
31935 (process_input_dir): New function. Process an arbitrary input
31936 directory.
31937 Misc adjustments to support both "override mode" and system-wide mode.
31938
6c09890c
FZ
319392009-11-20 Felix Zielcke <fzielcke@z-51.de>
31940
31941 * configure.ac (UNIFONT_BDF): Rename to ...
31942 (FONT_SOURCE): ... this. Update all users.
31943
a797824f
FZ
319442009-11-20 Felix Zielcke <fzielcke@z-51.de>
31945
31946 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
31947 to the list of unifont files to look for.
31948
cd4f42b0
RM
319492009-11-19 Robert Millan <rmh.grub@aybabtu.com>
31950
31951 Patch from Joe Auricchio <jauricchio@gmail.com>
31952 * commands/minicmd.c (grub_mini_cmd_clear): New function.
31953 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
31954 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
31955
393c783d
FZ
319562009-11-19 Felix Zielcke <fzielcke@z-51.de>
31957
31958 * Makefile.in (install-local): Add a missing backslash.
31959
b2f1e327
FZ
319602009-11-19 Felix Zielcke <fzielcke@z-51.de>
31961
31962 * include/grub/x86_64/io.h: New file.
31963
f577f7a0
RM
319642009-11-19 Robert Millan <rmh.grub@aybabtu.com>
31965
31966 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
31967 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
31968 Include `"progname.h"'.
31969 (main): Initialize gettext.
31970 * util/i386/pc/grub-setup.c: Gettexttize.
31971 * util/i386/pc/grub-mkimage.c: Likewise.
31972
31973 * Makefile.in (po/*.po): Redefine as ...
31974 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
31975
3bc7896c
RM
31976 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
31977
c37943b6
RM
319782009-11-19 Robert Millan <rmh.grub@aybabtu.com>
31979
31980 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
31981 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
31982 (program_name): Remove.
31983 (main): Initialize gettext support.
6323f705
RM
31984 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
31985 Include `<libintl.h>'.
31986 (_): New macro.
c37943b6
RM
31987
31988 * util/mkisofs/eltorito.c: Gettexttize.
31989 * util/mkisofs/joliet.c: Likewise.
31990 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
31991 * util/mkisofs/multi.c: Likewise.
31992 * util/mkisofs/rock.c: Likewise.
31993 * util/mkisofs/tree.c: Likewise.
31994 * util/mkisofs/write.c: Likewise.
31995
3bc7896c
RM
31996 * po/POTFILES: Update with new files.
31997
5ce77c6e
RM
319982009-11-18 Robert Millan <rmh.grub@aybabtu.com>
31999
32000 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
32001 * util/mkisofs/iso9660.h: Likewise.
32002 * util/mkisofs/joliet.c: Likewise.
32003 * util/mkisofs/mkisofs.c: Likewise.
32004 * util/mkisofs/mkisofs.h: Likewise.
32005 * util/mkisofs/rock.c: Likewise.
32006 * util/mkisofs/tree.c: Likewise.
32007 * util/mkisofs/write.c: Likewise.
32008
32009 * util/mkisofs/eltorito.c (rcsid): Remove.
32010 * util/mkisofs/hash.c: Likewise.
32011 * util/mkisofs/joliet.c: Likewise.
32012 * util/mkisofs/name.c: Likewise.
32013 * util/mkisofs/rock.c: Likewise.
32014 * util/mkisofs/tree.c: Likewise.
32015 * util/mkisofs/write.c: Likewise.
32016
1dabbc77
RM
320172009-11-18 Robert Millan <rmh.grub@aybabtu.com>
32018
32019 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
32020 instead of static allocation.
32021 * util/mkisofs/match.h: Likewise.
32022
633877cb
RM
320232009-11-18 Robert Millan <rmh.grub@aybabtu.com>
32024
3bc7896c
RM
32025 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
32026 and `util/grub.d/10_linux.in'.
633877cb
RM
32027 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
32028 translatable Shell files.
32029
af1c0c85
RM
320302009-11-18 Robert Millan <rmh.grub@aybabtu.com>
32031
32032 * Makefile.in ($(srcdir)/aclocal.m4): New target.
32033
769ae37b
RM
320342009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32035
32036 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 32037 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
32038 * util/grub.d/10_kfreebsd.in (bindir): New variable.
32039 Add gettext initialization.
32040 (kfreebsd_entry): Make menuentry output translatable.
32041
320422009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32043
32044 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
32045 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
32046 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
32047 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
32048 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 32049 * po/LINGUAS: New file.
769ae37b
RM
32050
320512009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32052
32053 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
32054 other things).
32055 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
32056 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
32057 bindtextdomain() calls for gettext initialization.
32058
320592009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32060
32061 * gnulib/progname.c: New file (imported from Gnulib).
32062 * gnulib/progname.h: Likewise.
32063 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
32064 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
32065 (usage): Replace `progname' with `program_name'.
32066 (main): Use set_program_name() for program name initialization.
32067
320682009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32069
32070 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
32071 from here ...
32072 * Makefile.in (CPPFLAGS): ... to here.
32073
320742009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32075
32076 * aclocal.m4: Move from here ...
32077 * acinclude.m4: ... to here.
32078 * autogen.sh: Add call to `aclocal'.
32079 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
32080
320812009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32082
32083 * Makefile.in (CLEANFILES): Add `po/*.mo'.
32084 (LINGUAS): New variable.
32085 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
32086 (install-local): Install MO files.
32087 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
32088 * include/grub/i18n.h: New file.
3bc7896c
RM
32089 * po/POTFILES: New file.
32090 * po/ca.po: New file.
769ae37b
RM
32091 * util/grub.d/10_linux.in (bindir): New variable.
32092 Add gettext initialization.
32093 (linux_entry): Make menuentry output translatable.
32094 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
32095 (usage): Make --help output translatable.
32096 (main): Initialize gettext.
32097
02c0a6ad
RM
320982009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32099
32100 * import_gcry.py: New file (written by Vladimir with minor
32101 adjustments).
32102 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
32103 ciphers.
32104 * INSTALL: Document that Python is required for bootstrap.
32105
321062009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32107
32108 Import ciphers from libgcrypt 1.4.4.
32109
32110 * lib/libgcrypt/cipher/ChangeLog
32111 * lib/libgcrypt/cipher/ac.c
32112 * lib/libgcrypt/cipher/arcfour.c
32113 * lib/libgcrypt/cipher/bithelp.h
32114 * lib/libgcrypt/cipher/blowfish.c
32115 * lib/libgcrypt/cipher/camellia-glue.c
32116 * lib/libgcrypt/cipher/camellia.c
32117 * lib/libgcrypt/cipher/camellia.h
32118 * lib/libgcrypt/cipher/cast5.c
32119 * lib/libgcrypt/cipher/cipher.c
32120 * lib/libgcrypt/cipher/crc.c
32121 * lib/libgcrypt/cipher/des.c
32122 * lib/libgcrypt/cipher/dsa.c
32123 * lib/libgcrypt/cipher/ecc.c
32124 * lib/libgcrypt/cipher/elgamal.c
32125 * lib/libgcrypt/cipher/hash-common.c
32126 * lib/libgcrypt/cipher/hash-common.h
32127 * lib/libgcrypt/cipher/hmac-tests.c
32128 * lib/libgcrypt/cipher/md.c
32129 * lib/libgcrypt/cipher/md4.c
32130 * lib/libgcrypt/cipher/md5.c
32131 * lib/libgcrypt/cipher/primegen.c
32132 * lib/libgcrypt/cipher/pubkey.c
32133 * lib/libgcrypt/cipher/rfc2268.c
32134 * lib/libgcrypt/cipher/rijndael-tables.h
32135 * lib/libgcrypt/cipher/rijndael.c
32136 * lib/libgcrypt/cipher/rmd.h
32137 * lib/libgcrypt/cipher/rmd160.c
32138 * lib/libgcrypt/cipher/rsa.c
32139 * lib/libgcrypt/cipher/seed.c
32140 * lib/libgcrypt/cipher/serpent.c
32141 * lib/libgcrypt/cipher/sha1.c
32142 * lib/libgcrypt/cipher/sha256.c
32143 * lib/libgcrypt/cipher/sha512.c
32144 * lib/libgcrypt/cipher/tiger.c
32145 * lib/libgcrypt/cipher/twofish.c
32146 * lib/libgcrypt/cipher/whirlpool.c
32147
af2f93ac
RM
321482009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32149
32150 Fix build for systems without error().
32151
32152 * gnulib/error.c: New file (imported from Gnulib).
32153 * gnulib/error.h: Likewise.
32154 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
32155 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
32156 (this variable is now used by error()).
32157
73fb3dd5
FZ
321582009-11-16 Felix Zielcke <fzielcke@z-51.de>
32159
814f5e96
FZ
32160 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
32161 instead of relying that char is signed.
73fb3dd5 32162
a691ca33
VS
321632009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
32164
32165 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
32166 blocksize different from specified.
32167 (grub_pxefs_read): Likewise.
32168
2af8f0f4
FZ
321692009-11-16 Felix Zielcke <fzielcke@z-51.de>
32170
32171 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
32172
32173 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
32174 (grub_ata_readwrite): Likewise. Update 2 format strings.
32175 (grub_atapi_read): Likewise.
32176
32177 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
32178 * conf/i386.rmk (pkglib_MODULES): ... to here ...
32179 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
32180 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
32181 (ata_mod_LDFLAGS): Move from here ...
32182 * conf/i386.rmk: ... to here ...
32183 * conf/x86_64-efi.rmk: ... and here.
32184 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
32185 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
32186
83bdecaf
RM
321872009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32188
32189 Relicense multiboot.h, with RMS' blessing.
32190
32191 * include/multiboot.h: Change to X11 license.
32192
fd6fd3d7
RM
321932009-11-15 Robert Millan <rmh.grub@aybabtu.com>
32194
32195 Support --version in grub-mkisofs.
32196
32197 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
32198 (OPTION_VERSION): New macro.
32199 (ld_options): Recognize --version.
32200 (usage): Move `program_name' from here ...
32201 (program_name): ... to here. Add `static' qualifier.
32202 (main): Recognize `OPTION_VERSION'.
32203
16a88c49
FZ
322042009-11-15 Felix Zielcke <fzielcke@z-51.de>
32205
32206 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
32207 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
32208
a4158476
RM
322092009-11-14 Robert Millan <rmh.grub@aybabtu.com>
32210
32211 Fix help2man generation for mkisofs.
32212
32213 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
32214 (usage): Send output to stdout (rather than stderr).
32215
fc2208b0
RM
322162009-11-14 Robert Millan <rmh.grub@aybabtu.com>
32217
32218 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
32219 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
32220 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
32221 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
32222 (bin_SCRIPTS): Add `grub-mkfloppy'.
32223 (grub_mkfloppy_SOURCES): New variable.
32224
32225 * util/grub-mkrescue.in: New file.
32226 * util/i386/pc/grub-mkfloppy.in: New file.
32227
32228 * util/i386/coreboot/grub-mkrescue.in: Remove.
32229 * util/i386/pc/grub-mkrescue.in: Remove.
32230
8d0edf4a
RM
322312009-11-13 Robert Millan <rmh.grub@aybabtu.com>
32232
32233 * include/grub/multiboot.h (struct grub_multiboot_header): Move
32234 from here ...
32235 * include/multiboot.h (struct multiboot_header): ... to here. Update
32236 all users.
32237 * include/grub/multiboot.h (struct grub_multiboot_info): Move
32238 from here ...
32239 * include/multiboot.h (struct multiboot_info): ... to here. Update
32240 all users.
32241 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
32242 from here ...
32243 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
32244 Update all users.
32245 * include/grub/multiboot.h (struct grub_mod_list): Move
32246 from here ...
32247 * include/multiboot.h (struct multiboot_mod_list): ... to here.
32248 Update all users.
32249
a73f5969
RM
322502009-11-13 Robert Millan <rmh.grub@aybabtu.com>
32251
32252 * include/multiboot2.h (multiboot_word): Rename from this ...
32253 (multiboot2_word): ... to this. Update all users.
32254 (multiboot_header): Rename from this ...
32255 (multiboot2_header): ... to this. Update all users.
32256 (multiboot_tag_header): Rename from this ...
32257 (multiboot2_tag_header): ... to this. Update all users.
32258 (multiboot_tag_start): Rename from this ...
32259 (multiboot2_tag_start): ... to this. Update all users.
32260 (multiboot_tag_name): Rename from this ...
32261 (multiboot2_tag_name): ... to this. Update all users.
32262 (multiboot_tag_module): Rename from this ...
32263 (multiboot2_tag_module): ... to this. Update all users.
32264 (multiboot_tag_memory): Rename from this ...
32265 (multiboot2_tag_memory): ... to this. Update all users.
32266 (multiboot_tag_unused): Rename from this ...
32267 (multiboot2_tag_unused): ... to this. Update all users.
32268 (multiboot_tag_end): Rename from this ...
32269 (multiboot2_tag_end): ... to this. Update all users.
32270
1c8927f0
RM
322712009-11-13 Robert Millan <rmh.grub@aybabtu.com>
32272
32273 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
32274 this platform we should support Multiboot1 first.
32275
32276 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
32277 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
32278 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
32279
6e1e0d89
RM
322802009-11-12 Robert Millan <rmh.grub@aybabtu.com>
32281
32282 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
32283 of write calls (converting them to fwrite() if they aren't already).
32284 (get_torito_desc): Likewise.
32285 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
32286
7f2b34d8
RM
322872009-11-12 Robert Millan <rmh.grub@aybabtu.com>
32288
32289 * util/i386/pc/grub-install.in: Move from here ...
32290 * util/grub-install.in: ... to here. Update all users.
32291
c0ef3311
CW
322922009-11-11 Colin Watson <cjwatson@ubuntu.com>
32293
32294 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
32295
e1f240ff
RM
322962009-11-11 Robert Millan <rmh.grub@aybabtu.com>
32297
32298 Support for El Torito without floppy emulation.
32299
32300 * util/mkisofs/eltorito.c: Include `<errno.h>'.
32301 (init_boot_catalog): Improve error handling.
32302 (get_torito_desc): Don't use floppy emulation unless requested by
32303 user. Patch boot information table when requested via
32304 `-boot-info-table'.
32305 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
32306 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
32307 (use_boot_info_table): New variables.
32308 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
32309 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
32310 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
32311 `--eltorito-emul-floppy'.
32312 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
32313 and `OPTION_ELTORITO_EMUL_FLOPPY'.
32314 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
32315 (use_boot_info_table, get_731): New prototypes.
32316 * util/mkisofs/write.c (get_731): New function.
32317
af7d4de5
FZ
323182009-11-11 Felix Zielcke <fzielcke@z-51.de>
32319
32320 Fix the generation of the man page.
32321
32322 * util/pc/i386/grub-install.in: Source
32323 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
32324
2c55dbc0
RM
323252009-11-11 Robert Millan <rmh.grub@aybabtu.com>
32326
32327 Large file support for grub-mkisofs.
32328
32329 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
32330 * util/mkisofs/mkisofs.c (next_extent, last_extent)
32331 (session_start): Upgrade type to `uint64_t'. Update all users.
32332 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
32333 (struct directory_entry): Upgrade type of `starting_block' and
32334 `size' to `uint64_t'. Update all users.
32335 (struct deferred): Remove unused structure.
32336 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
32337 Update all users.
32338 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
32339 file is larger than `UINT32_MAX'.
32340 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
32341 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
32342 return value.
32343 (struct deferred_write): Upgrade type of `extent' and `size' to
32344 `uint64_t'. Update all users.
32345 (last_extent_written): Upgrade type to `uint64_t'. Update all
32346 users.
32347 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
32348 Update all users. Upgrade type of `remain' to `int64_t' and
32349 `use' to `size_t'. Use error() to handle fread() errors.
32350 (write_files): Rely on write_one_file() rather than calling
32351 xfwrite() directly.
32352
6a9cead5
FZ
323532009-11-09 Felix Zielcke <fzielcke@z-51.de>
32354
32355 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
32356
4825d790
RM
323572009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32358
32359 * util/mkisofs/fnmatch.c: Remove.
32360 * util/mkisofs/getopt1.c: Likewise.
32361 * util/mkisofs/getopt.c: Likewise.
32362 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
32363 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
32364 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
32365 `gnulib/getopt1.c' and `gnulib/getopt.c'.
32366 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
32367
32368 * configure.ac: Detect `mingw32msvc' host_os.
32369 Check for lstat(), getuid() and getgid().
32370
32371 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
32372 instances of `u_char' with `uint8_t'.
32373
32374 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
32375 [!HAVE_GETUID] (getuid): New function (stub).
32376 [!HAVE_GETGID] (getgid): Likewise.
32377 [!HAVE_LSTAT] (lstat): Likewise.
32378 [!S_IROTH] (S_IROTH): New macro (dummy).
32379 [!S_IRGRP] (S_IRGRP): Likewise.
32380
84b860d8
RM
323812009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32382
32383 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
32384 conditional expression).
32385
66e9b712
RM
323862009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32387
32388 Import from Gnulib.
32389
32390 * gnulib/fnmatch.c: New file.
32391 * gnulib/fnmatch.h: Likewise.
32392 * gnulib/fnmatch_loop.c: Likewise.
32393 * gnulib/getopt.c: Likewise.
32394 * gnulib/getopt.h: Likewise.
32395 * gnulib/getopt1.c: Likewise.
32396 * gnulib/getopt_int.h: Likewise.
32397 * gnulib/gettext.h: Likewise.
32398
34f4a5b0
RM
323992009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32400
32401 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
32402 * normal/handler.c (read_handler_list): Likewise.
32403
ac451143
RM
324042009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32405
32406 Misc cleanup.
32407
32408 * kern/command.c (grub_register_command_prio): Use
32409 grub_zalloc() instead of explicitly zeroing data.
32410 * kern/list.c: Include `<grub/mm.h>'.
32411 (grub_named_list_find): Replace `0' with `NULL'.
32412 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
32413 (fs_module_list): Change type to `grub_named_list_t'. Update all
32414 users.
32415 * normal/dyncmd.c (read_command_list): Add space between function
32416 call and parenthesis.
32417 * normal/handler.c (read_handler_list): Likewise.
32418
4089b167
RM
324192009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32420
32421 * normal/auth.c (punishment_delay): Moved from here ...
32422 (grub_auth_strcmp): ... to here (inside function).
32423
325f5037
RM
324242009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32425
32426 * include/grub/list.h (struct grub_named_list): Remove `const'
32427 qualifier from `name'.
32428 (struct grub_prio_list): Likewise.
32429
7aea29a3
RM
324302009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32431
32432 * normal/auth.c: Include `<grub/time.h>'.
32433 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
32434
3fd6f044
RM
324352009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32436
32437 * normal/auth.c (punishment_delay): New variable.
32438 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
32439 (grub_auth_check_authentication): Punish failed login attempts with
32440 an incremental (2^N) delay.
32441
a4cd68e4
RM
324422009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32443
32444 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
32445 path with $(srcdir).
32446
7ad12f43
VS
324472009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
32448
32449 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
32450
c1129f03
RM
324512009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32452
32453 * util/i386/coreboot/grub-mkrescue.in: New file.
32454 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
32455 variables.
32456
32457 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
32458 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
32459 * configure.ac: Add header and function checks to satisfy grub-mkisofs
32460 requirements.
32461 * util/mkisofs/defaults.h: New file.
32462 * util/mkisofs/eltorito.c: Likewise.
32463 * util/mkisofs/exclude.h: Likewise.
32464 * util/mkisofs/fnmatch.c: Likewise.
32465 * util/mkisofs/getopt.c: Likewise.
32466 * util/mkisofs/getopt1.c: Likewise.
32467 * util/mkisofs/hash.c: Likewise.
32468 * util/mkisofs/include/fctldefs.h: Likewise.
32469 * util/mkisofs/include/mconfig.h: Likewise.
32470 * util/mkisofs/include/prototyp.h: Likewise.
32471 * util/mkisofs/include/statdefs.h: Likewise.
32472 * util/mkisofs/iso9660.h: Likewise.
32473 * util/mkisofs/joliet.c: Likewise.
32474 * util/mkisofs/match.c: Likewise.
32475 * util/mkisofs/match.h: Likewise.
32476 * util/mkisofs/mkisofs.c: Likewise.
32477 * util/mkisofs/mkisofs.h: Likewise.
32478 * util/mkisofs/multi.c: Likewise.
32479 * util/mkisofs/name.c: Likewise.
32480 * util/mkisofs/rock.c: Likewise.
32481 * util/mkisofs/tree.c: Likewise.
32482 * util/mkisofs/write.c: Likewise.
32483
ec8bb77d
VS
324842009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
32485
32486 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
32487 being insecure.
32488
3716b12c
RM
324892009-11-08 Robert Millan <rmh.grub@aybabtu.com>
32490
32491 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
32492 `grub-mkimage' (and use $0 when possible).
32493
b97b7b91
RM
324942009-11-08 Robert Millan <rmh.grub@aybabtu.com>
32495
32496 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
32497 error message for excessively large memory map.
32498
04114812
RM
324992009-11-08 Robert Millan <rmh.grub@aybabtu.com>
32500
32501 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
32502 executable bit.
32503
e4eb2373
RM
325042009-11-08 Robert Millan <rmh.grub@aybabtu.com>
32505
32506 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
32507 message for coreboot users.
32508
c926e1d5 325092009-11-07 Robert Millan <rmh.grub@aybabtu.com>
32510
32511 Fix build with GNU gold.
32512
32513 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
32514 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
32515 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
32516 link addresses.
32517 * aclocal.m4: Likewise.
32518
86e5b1db 325192009-11-04 Felix Zielcke <fzielcke@z-51.de>
32520
32521 * configure.ac (AC_PREREQ): Bump to 2.59d.
32522 * INSTALL: Make it more clear when Autoconf and Ruby are
32523 needed and when to run `./autogen.sh'.
32524
246cd78f 325252009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
32526
32527 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
32528 OSes.
32529
4f9dfb37 325302009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32531
32532 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
32533
b82bd5e1 325342009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32535
32536 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
32537 giving it to GNU Mach.
32538
ff1a9bca 325392009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32540
32541 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
32542 GNU partition number to get internal GRUB partition number.
32543
61697d9c 325442009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32545
32546 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
32547 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
32548
a50569e1 325492009-11-01 Robert Millan <rmh.grub@aybabtu.com>
32550
32551 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
32552 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
32553 case.
32554
5b153867 325552009-11-01 Felix Zielcke <fzielcke@z-51.de>
32556
32557 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
32558
d9e2cd70 325592009-10-30 Robert Millan <rmh.grub@aybabtu.com>
32560
32561 Fix build problem.
32562
32563 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
32564 `-isystem=$(srcdir)/include'.
32565
805111a4 325662009-10-30 Robert Millan <rmh.grub@aybabtu.com>
32567
32568 * util/i386/pc/grub-install.in: Remove hint that device.map should be
32569 checked (grub-install doesn't currently rely on it).
32570
fa6e945f 325712009-10-29 Robert Millan <rmh.grub@aybabtu.com>
32572
32573 Revert SVN r2660.
32574
32575 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
32576 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
32577 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
32578 * conf/i386-ieee1275.rmk: Likewise.
32579 * conf/i386-pc.rmk: Likewise.
32580 * conf/powerpc-ieee1275.rmk: Likewise.
32581 * conf/sparc64-ieee1275.rmk: Likewise.
32582 * conf/x86_64-efi.rmk: Likewise.
32583
cee15086 325842009-10-28 Robert Millan <rmh.grub@aybabtu.com>
32585
32586 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
32587
95b9239e 325882009-10-28 Robert Millan <rmh.grub@aybabtu.com>
32589
32590 * include/grub/misc.h: Stop checking for APPLE_CC.
32591
2ed19dfd 325922009-10-28 Robert Millan <rmh.grub@aybabtu.com>
32593
32594 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
32595 doesn't cause an infinite call loop.
32596
fdcdde19 325972009-10-28 Felix Zielcke <fzielcke@z-51.de>
32598
32599 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
32600 strings.
32601
cefabfe1 326022009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32603
32604 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
32605 variable.
32606 * Makefile.in: Likewise.
32607
ed96ab6d 326082009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32609
32610 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
32611
0579b753 326122009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32613
32614 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
32615
478df409 326162009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32617
32618 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
32619
083d1679 326202009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32621
32622 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
32623 from here ...
32624 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
32625
5947ae32 326262009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32627
32628 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
32629 in $(MAKEINFO) invocation. This makes it clear in output that
32630 errors are being ignored.
32631
94180ff6 326322009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32633
32634 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
32635 from here ...
32636 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
32637 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
32638 * conf/i386-ieee1275.rmk: Likewise.
32639 * conf/i386-pc.rmk: Likewise.
32640 * conf/powerpc-ieee1275.rmk: Likewise.
32641 * conf/sparc64-ieee1275.rmk: Likewise.
32642 * conf/x86_64-efi.rmk: Likewise.
32643
9031b03a 326442009-10-26 Colin Watson <cjwatson@ubuntu.com>
32645
32646 * util/grub-editenv.c (main): If only a command is given, use
32647 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
32648 (usage): FILENAME is now optional and has a default.
32649
e4f6809b 326502009-10-26 Colin Watson <cjwatson@ubuntu.com>
32651
32652 Improve grub-mkconfig performance when there are several menu
32653 entries on a single filesystem.
32654
32655 * util/grub.d/10_linux.in (linux_entry): Cache the output of
32656 prepare_grub_to_access_device.
32657 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
32658 * util/grub.d/30_os-prober.in: Likewise.
32659
67937d4d 326602009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32661
32662 * util/grub.d/10_freebsd.in: Remove.
32663 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
32664 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
32665
ee3756cc 326662009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32667
5c35048e 32668 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 32669
4dea1c6f 326702009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32671
32672 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
32673 grub_util_error() call.
32674
042484d7 326752009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32676
32677 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
32678 `reserved_first_sector' member.
32679 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
32680 `reserved_first_sector' to 1.
32681 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
32682 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
32683 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
32684 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
32685 filesystems which begin at first sector.
32686 (options): New option --skip-fs-probe.
32687 (main): Handle --skip-fs-probe and pass it to setup().
32688
d64448a7 326892009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32690
32691 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
32692 (memset): Fix function prototype.
32693
508d42ec 326942009-10-25 Robert Millan <rmh.grub@aybabtu.com>
326952009-10-25 Vasily Averin <vvs@parallels.com>
32696
32697 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
32698 `dirent.direntlen == 0'.
32699
b240e30c 327002009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32701
32702 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
32703 `cpio'.
32704 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
32705
346e7fbe 327062009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32707
32708 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
32709 `__trampoline_setup' and `__ucmpdi2'.
32710 * include/grub/powerpc/libgcc.h: Only export symbols for functions
32711 that libgcc provides.
32712
cdb308b0 327132009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32714
32715 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
32716 * include/grub/sparc64/libgcc.h (memset): Likewise.
32717 * include/grub/misc.h (memset, memcmp): New function prototypes.
32718
fb26abc2 327192009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32720
32721 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
32722 `cpio'.
32723 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
32724
f6693890 327252009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32726
32727 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
32728 * docs/grub.cfg: Compensate for recent change in multiboot
32729 loader (since 2009-08-14 it won't pass filename to payload).
32730 * util/grub.d/10_hurd.in: Likewise.
32731
0933cdc0 327322009-10-21 Felix Zielcke <fzielcke@z-51.de>
32733
32734 * config.guess: Update to latest version from config git
32735 repository.
32736 * config.sub: Likewise.
32737
3b2fe8c2 327382009-10-20 Robert Millan <rmh.grub@aybabtu.com>
32739
32740 Fix build on sparc64.
32741
32742 * configure.ac: Perform checks for libgcc symbols before
32743 adding `-nostdlib' to LDFLAGS.
32744
46695a62 327452009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
32746
32747 Let user specify OpenBSD root device.
32748
32749 * loader/i386/bsd.c (openbsd_root): New variable.
32750 (openbsd_opts): New option 'root'.
32751 (OPENBSD_ROOT_ARG): New macro.
32752 (grub_openbsd_boot): Use 'openbsd_root'.
32753 (grub_cmd_openbsd): Fill 'openbsd_root'.
32754
d2b6b7fc 327552009-10-16 Robert Millan <rmh.grub@aybabtu.com>
32756
32757 * NEWS: Misc adjustments.
32758
421bd7ac 327592009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
32760
32761 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
32762
f1d29d87 327632009-10-16 Robert Millan <rmh.grub@aybabtu.com>
32764
32765 * configure.ac: Bump version to 1.97.
32766
6f3cd880 327672009-10-16 Colin Watson <cjwatson@ubuntu.com>
32768
32769 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
32770 -mno-3dnow on x86 architectures. Some toolchains enable these
32771 features by default, but they rely on registers that aren't enabled
32772 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
32773
035f7122 327742009-10-15 Robert Millan <rmh.grub@aybabtu.com>
32775
32776 Make entry text a bit more readable.
32777
32778 * util/grub.d/10_linux.in: Add `with' before `Linux'.
32779
44998e58 327802009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
32781
32782 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
32783
cd2851b3 327842009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
32785
32786 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
32787 operations.
32788
c6f3b249 327892009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
32790
32791 * configure.ac: Add missing dollar.
32792
6b5886ba 327932009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
32794
32795 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
32796
32797 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
32798 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
32799 exports.
32800 * include/grub/sparc64/libgcc.h: Likewise. Use
32801 preprocessor conditionals.
32802
e9d66f6d 328032009-10-14 Robert Millan <rmh.grub@aybabtu.com>
32804
32805 * conf/common.rmk (grub-dumpbios): Remove rule.
32806 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
32807 * util/grub-dumpbios.in: Remove file.
32808
9155bc17 328092009-10-14 Robert Millan <rmh.grub@aybabtu.com>
32810
32811 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
32812 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
32813
32814 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
32815 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
32816 users.
32817
32818 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
32819 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
32820 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
32821 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
32822 users.
32823
bf7f7a18 328242009-10-12 Robert Millan <rmh.grub@aybabtu.com>
32825
32826 * term/tparm.c: Switch to GPLv3.
32827
86564c26 328282009-10-09 Robert Millan <rmh.grub@aybabtu.com>
32829
32830 * include/grub/i386/cpuid.h: Add header protection.
32831
5c936493 328322009-10-09 Robert Millan <rmh.grub@aybabtu.com>
32833
32834 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
32835
32836 * include/grub/i386/cpuid.h: New file.
32837 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
32838 (has_longmode): Rename to ...
32839 (grub_cpuid_has_longmode): ... this. Update all users. Remove
32840 `static' attribute.
32841 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
32842 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
32843 on a CPU that doesn't implement AMD64 instruction set.
32844
186e7cf2 328452009-10-06 Colin Watson <cjwatson@ubuntu.com>
32846
32847 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
32848 that version.texi is rebuilt on version number changes.
32849
83b65c4a 328502009-10-06 Colin Watson <cjwatson@ubuntu.com>
32851
32852 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
32853 Fixes bug #27602.
32854
d244281c 328552009-10-06 Colin Watson <cjwatson@ubuntu.com>
32856
32857 * util/i386/pc/grub-install.in: Source
32858 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
32859 that the --grub-probe option will work.
32860 * util/sparc64/ieee1275/grub-install.in: Likewise.
32861
da25306d 328622009-10-05 Robert Millan <rmh.grub@aybabtu.com>
32863
32864 * configure.ac: Bump version to 1.97~beta4.
32865
e8ee83c0 328662009-10-03 Robert Millan <rmh.grub@aybabtu.com>
32867
32868 Resync grub-mkdevicemap in x86_64-efi.
32869
32870 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
32871 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
32872 `util/devicemap.c'.
32873
50dcabcf 328742009-10-01 Colin Watson <cjwatson@ubuntu.com>
32875
32876 * util/grub-editenv.c (create_envblk_file): Write new block with a
32877 .new suffix and then rename it into place, to ensure atomic
32878 creation.
32879
0e51c3a7 328802009-09-28 Robert Millan <rmh.grub@aybabtu.com>
32881
32882 Do not automatically install headers.
32883
32884 * Makefile.in (include_DATA): Remove. Update all users.
32885
31299a95 328862009-09-26 Robert Millan <rmh.grub@aybabtu.com>
32887
32888 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
32889 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
32890
32891 * util/osdetect.lua: Remove.
32892 * script/lua/lauxlib.c: Likewise.
32893 * script/lua/ldebug.c: Likewise.
32894 * script/lua/grub_main.c: Likewise.
32895 * script/lua/lauxlib.h: Likewise.
32896 * script/lua/ldebug.h: Likewise.
32897 * script/lua/ltablib.c: Likewise.
32898 * script/lua/liolib.c: Likewise.
32899 * script/lua/lstrlib.c: Likewise.
32900 * script/lua/lualib.h: Likewise.
32901 * script/lua/ldo.c: Likewise.
32902 * script/lua/ldump.c: Likewise.
32903 * script/lua/ldo.h: Likewise.
32904 * script/lua/loslib.c: Likewise.
32905 * script/lua/lundump.c: Likewise.
32906 * script/lua/grub_lib.c: Likewise.
32907 * script/lua/ldblib.c: Likewise.
32908 * script/lua/lundump.h: Likewise.
32909 * script/lua/lmem.c: Likewise.
32910 * script/lua/grub_lib.h: Likewise.
32911 * script/lua/lmathlib.c: Likewise.
32912 * script/lua/lstate.c: Likewise.
32913 * script/lua/ltm.c: Likewise.
32914 * script/lua/lvm.c: Likewise.
32915 * script/lua/lmem.h: Likewise.
32916 * script/lua/lstate.h: Likewise.
32917 * script/lua/ltm.h: Likewise.
32918 * script/lua/ltable.c: Likewise.
32919 * script/lua/lvm.h: Likewise.
32920 * script/lua/llex.c: Likewise.
32921 * script/lua/lgc.c: Likewise.
32922 * script/lua/grub_lua.h: Likewise.
32923 * script/lua/loadlib.c: Likewise.
32924 * script/lua/lfunc.c: Likewise.
32925 * script/lua/lopcodes.c: Likewise.
32926 * script/lua/lparser.c: Likewise.
32927 * script/lua/ltable.h: Likewise.
32928 * script/lua/llex.h: Likewise.
32929 * script/lua/lgc.h: Likewise.
32930 * script/lua/lfunc.h: Likewise.
32931 * script/lua/lbaselib.c: Likewise.
32932 * script/lua/lopcodes.h: Likewise.
32933 * script/lua/lparser.h: Likewise.
32934 * script/lua/lzio.c: Likewise.
32935 * script/lua/linit.c: Likewise.
32936 * script/lua/lobject.c: Likewise.
32937 * script/lua/llimits.h: Likewise.
32938 * script/lua/lstring.c: Likewise.
32939 * script/lua/lzio.h: Likewise.
32940 * script/lua/lapi.c: Likewise.
32941 * script/lua/lcode.c: Likewise.
32942 * script/lua/lua.h: Likewise.
32943 * script/lua/lobject.h: Likewise.
32944 * script/lua/lstring.h: Likewise.
32945 * script/lua/lapi.h: Likewise.
32946 * script/lua/lcode.h: Likewise.
32947 * script/lua/luaconf.h: Likewise.
32948
cb8a2c38 329492009-09-26 Colin Watson <cjwatson@ubuntu.com>
32950
32951 * docs/grub.texi (Command-line and menu entry commands): Document
32952 date and echo commands.
32953
6b9b6276 329542009-09-24 Pavel Roskin <proski@gnu.org>
32955
32956 * include/grub/kernel.h (struct grub_module_header): Remove
32957 `grub_module_header_types'. Make `type' unsigned. Make `size'
32958 32-bit on all platforms.
32959 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
32960 8-bit field. Use grub_host_to_target32() for `size'.
32961 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
32962 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
32963 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
32964
4e5a02a7 329652009-09-24 Robert Millan <rmh.grub@aybabtu.com>
32966
32967 Fix "lost keypress" bug in at_keyboard.
32968
32969 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
32970 Checks for readyness of input buffer (without flushing it).
32971 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
32972 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
32973
c6dcedf6 329742009-09-24 Robert Millan <rmh.grub@aybabtu.com>
32975
32976 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
32977 size check within GRUB_MACHINE_PCBIOS section.
32978
74c958b1 329792009-09-24 Robert Millan <rmh.grub@aybabtu.com>
32980
32981 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
32982 return value.
32983 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
32984 KEYBOARD_ISREADY check.
32985 (grub_at_keyboard_checkkey): Rename to ...
32986 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
32987 Remove gratuitous cast.
32988
ff420223 329892009-09-23 Colin Watson <cjwatson@ubuntu.com>
32990
32991 * configure.ac: Call AC_PROG_MKDIR_P.
32992 * Makefile.in (docs/stamp-vti): Create docs directory. Create
32993 version.texi in $(builddir) rather than $(srcdir).
32994 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
32995 to makeinfo's @include search path.
32996
d96875df 329972009-09-23 Felix Zielcke <fzielcke@z-51.de>
32998
32999 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
33000
9b3f8365 330012009-09-23 Felix Zielcke <fzielcke@z-51.de>
33002
33003 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
33004 for `*.dpkg-new'.
33005
c44c90db 330062009-09-21 Colin Watson <cjwatson@ubuntu.com>
33007
33008 Build info documentation. Some code borrowed from Automake.
33009
33010 * configure.ac: Check for makeinfo.
33011 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
33012 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
33013 docs/version.texi.
33014 (MOSTLYCLEANFILES): Add vti.tmp.
33015 (docs/version.texi, docs/stamp-vti): Update automatically.
33016 (docs/grub.info): Build info documentation. Use --force and ignore
33017 errors for now.
33018 (all-local): Add $(INFOS).
33019 (install-local): Install info files.
33020 (uninstall): Uninstall info files.
33021 * docs/version.texi: Remove from revision control. This file is
33022 automatically generated on build now.
33023 * gendistlist.sh: Add `*.info'.
33024
e0b37bb5 330252009-09-21 Felix Zielcke <fzielcke@z-51.de>
33026
33027 * kern/term.c: Fix indentation.
33028
5a78865b 330292009-09-21 Felix Zielcke <fzielcke@z-51.de>
33030
33031 * util/hostdisk.c: Fix a comment.
33032
dace7e8a 330332009-09-20 Robert Millan <rmh.grub@aybabtu.com>
33034
33035 Fix regression introduced in r2539.
33036
33037 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
33038 to 0xA1.
33039
a83d079b 330402009-09-19 Colin Watson <cjwatson@ubuntu.com>
33041
33042 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 33043 os-prober. Under normal operation, it does not print anything to
33044 stderr; if it does, we need to debug it, and throwing away stderr
33045 makes that excessively difficult.
a83d079b 33046
be94a509 330472009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
33048
33049 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
33050
63f745e8 330512009-09-16 Robert Millan <rmh.grub@aybabtu.com>
33052
33053 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
33054 AC_LANG_PROGRAM from autoconf.
33055 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
33056 prototypes (fixes warning).
33057
33058 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
33059 `--disable-werror' was used.
33060
bbb2a70f 330612009-09-16 Robert Millan <rmh.grub@aybabtu.com>
33062
33063 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
33064 uninitialized `lastaddr'.
33065
77c24f1d 330662009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
33067
0f0b8c87 33068 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 33069
07197f23 330702009-09-14 Colin Watson <cjwatson@ubuntu.com>
33071
33072 * commands/test.c (get_fileinfo): Return immediately if
33073 grub_fs_probe fails.
33074
dabf1798 330752009-09-14 José Martínez <xosemp@gmail.com>
33076
33077 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
33078
d52109a7 330792009-09-14 Colin Watson <cjwatson@ubuntu.com>
33080
33081 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
33082 output.
33083
56532179 330842009-09-13 Robert Millan <rmh.grub@aybabtu.com>
33085
33086 * configure.ac: Remove --enable-grub-pe2elf. Only build
33087 grub-pe2elf when needed by the build system itself.
33088 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
33089
8ef070f5 330902009-09-12 Robert Millan <rmh.grub@aybabtu.com>
33091
33092 * configure.ac: Bump version to 1.97~beta3.
33093 * docs/version.texi: Likewise.
33094
61229557 330952009-09-12 Robert Millan <rmh.grub@aybabtu.com>
33096
33097 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
33098 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
33099 from here ...
33100 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
33101 (grub_linux_setup_video): ... to here (with some adjustments).
33102
5c9f8d84 331032009-09-12 Robert Millan <rmh.grub@aybabtu.com>
33104
33105 Fix memory corruption issue (spotted by Colin Watson).
33106
33107 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
33108 causing returned size to be stored in an incorrect memory location.
33109 Fix use of uninitialized value when storing the returned size.
33110
e8f5d6e9 331112009-09-12 Yves Blusseau <blusseau@zetam.org>
33112
33113 Change clean rules to properly remove files
33114
33115 * genmk.rb: add new clean rules
33116 * Makefile.in (clean): add the new targets
33117 (mostlyclean): likewise
33118
cda2a409 331192009-09-11 Colin Watson <cjwatson@ubuntu.com>
33120
33121 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
33122 to grub_uint64_t.
33123 * fs/ntfs.c (init_file): Understand 64-bit sizes for
33124 non-resident files.
33125
86695375 331262009-09-11 Colin Watson <cjwatson@ubuntu.com>
33127
33128 * configure.ac: Don't look for help2man when cross-compiling. Fixes
33129 part of bug #27349.
33130
8aa1541a 331312009-09-10 Felix Zielcke <fzielcke@z-51.de>
33132
33133 * util/grub-mkconfig.in: Make the created config mode 400 and
33134 print a warning if it fails.
33135
48d9bb0a 331362009-09-10 Robert Millan <rmh.grub@aybabtu.com>
33137
33138 * util/grub.d/40_custom.in: Ask user to type custom entries below
33139 comment, rather than below 'exec tail' line.
33140
3b0521be 331412009-09-10 Colin Watson <cjwatson@ubuntu.com>
33142
33143 * util/grub.d/40_custom.in: Make sure that the explanatory text is
33144 visible in grub.cfg.
33145
50051d55 331462009-09-10 Colin Watson <cjwatson@ubuntu.com>
33147
33148 * util/grub.d/40_custom.in: Make it a little clearer how to use this
33149 file.
33150
c0d34387 331512009-09-10 Felix Zielcke <fzielcke@z-51.de>
33152
33153 * docs/grub.cfg: Add an example menu entry for memtest86+.
33154
80a608f3 331552009-09-09 Felix Zielcke <fzielcke@z-51.de>
33156
a2094832 33157 * config.guess: Update to latest version from config git.
80a608f3 33158 * config.sub: Likewise.
33159
99423078 331602009-09-08 Colin Watson <cjwatson@ubuntu.com>
33161
33162 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
33163 unknown-command case. Fixes bug #27320.
33164
44454e4c 331652009-09-08 Felix Zielcke <fzielcke@z-51.de>
33166
33167 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
33168 `help' if the command exists.
33169
e30d87ad 331702009-09-06 Robert Millan <rmh.grub@aybabtu.com>
33171
33172 * INSTALL: Require GCC 4.1.3 or later.
33173
9a86f1ec 331742009-09-06 Yves Blusseau <blusseau@zetam.org>
33175
33176 * Makefile.in (RMKFILES): add i386-qemu.rmk
33177 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
33178 $(srcdir)/stamp-h.in
33179
7f26d466 331802009-09-05 Robert Millan <rmh.grub@aybabtu.com>
33181
33182 * util/grub-probe.c (probe): Comment out buggy codepath, which
33183 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
33184 should be re-enabled after 1.97.
33185
3a613259 331862009-09-05 Felix Zielcke <fzielcke@z-51.de>
33187
33188 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
33189 find searches for.
33190
197f76c7 331912009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
33192
33193 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
33194 unnecessary calls to grub_error.
33195
70ba68ce 331962009-09-04 Colin Watson <cjwatson@ubuntu.com>
33197
33198 * NEWS: Mention `keystatus' and Unicode fonts.
33199
4ff0d7a4 332002009-09-04 Robert Millan <rmh.grub@aybabtu.com>
33201
33202 * configure.ac: Bump version to 1.97~beta2.
33203 * docs/version.texi: Likewise.
33204
77c55a87 332052009-09-03 Colin Watson <cjwatson@ubuntu.com>
33206
33207 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
33208 containing unwind information in some cases where it previously did
33209 not. Use -fno-dwarf2-cfi-asm if available to restore the old
33210 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
33211 discussion.
33212
f79572cd 332132009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
33214
33215 Embedding loadenv module into grub-emu
33216
33217 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
33218 commands/loadenv.c
33219 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
33220 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
33221 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
33222 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
33223 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
33224 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
33225
93a81088 332262009-09-03 Magnus Granberg <zorry@ume.nu>
33227
33228 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
33229 include -fPIE in the default specs.
33230 * configure.ac: Check if pie_possible is yes and add -fno-PIE
33231 to TARGET_CFLAGS.
33232
160034b2 332332009-09-03 Felix Zielcke <fzielcke@z-51.de>
33234
33235 * INSTALL: Note that GNU Bison 2.3 or later is required.
33236
087c07c4 332372009-09-03 Colin Watson <cjwatson@ubuntu.com>
33238
33239 * kern/i386/pc/startup.S: Fix typo.
33240
cbf978c0 332412009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
33242
33243 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
33244 according to GCS.
33245
332462009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 33247
33248 * docs/grub.texi (Naming convention): Describe one-based partition
33249 numbering.
33250 (Device syntax): Likewise.
33251 (File name syntax): Likewise.
33252 (Block list syntax): Likewise.
33253 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
33254 menu.lst.
33255 (File name syntax): Likewise.
33256 (Command-line and menu entry commands): Document acpi, blocklist,
33257 crc, export, insmod, keystatus, ls, set, and unset commands.
33258
f3e8cdfd 332592009-09-02 Colin Watson <cjwatson@ubuntu.com>
33260
33261 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
33262 to avoid implying that only one of --shift, --ctrl, or --alt may be
33263 used.
33264
c0bc232b 332652009-09-02 Colin Watson <cjwatson@ubuntu.com>
33266
33267 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
33268 rather than comparing against S_IFREG, which will almost never work.
33269
aa0f752d 332702009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
33271
33272 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
33273 (write_blocklists): Likewise.
33274
ecb3166a 332752009-09-01 Colin Watson <cjwatson@ubuntu.com>
33276
33277 * script/lua/grub_lua.h (fputs): Supply a format string as the first
33278 argument to grub_printf.
33279
c403a125 332802009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 33281
33282 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 33283 non GNU test.
31aba781 33284
b5e7312c 332852009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
33286
33287 * kern/file.c (grub_file_read): Spelling fix
33288
fe00f472 332892009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
33290
33291 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
33292 loading of headers in some cases.
33293
cc55302e 332942009-08-30 Robert Millan <rmh.grub@aybabtu.com>
33295
33296 * configure.ac: Bump version to 1.97~beta1.
33297 * docs/version.texi: Likewise.
33298
5c90cdd2 332992009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 33300
33301 * include/grub/i386/xnu.h: Add license header.
33302 include grub/err.h explicitly.
33303
c90edae4 333042009-08-29 Robert Millan <rmh.grub@aybabtu.com>
33305
33306 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
33307 to `ufs' in the vfs.root.mountfrom kernel parameter.
33308
d8888b5c 333092009-08-29 Robert Millan <rmh.grub@aybabtu.com>
33310
33311 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
33312
33313 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
33314 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
33315
33316 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
33317 `ARRAY_SIZE' macro.
33318
6f07b921 333192009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
33320
33321 * kern/file.c (grub_file_read): Check offset.
33322 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
33323 * fs/jfs.c (grub_jfs_read_file): Likewise.
33324 * fs/ntfs.c (grub_ntfs_read): Likewise.
33325 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
33326 * fs/minix.c (grub_minix_read_file): Correct offset check.
33327 * fs/ufs.c (grub_ufs_read_file): Likewise.
33328
b4f34077 333292009-08-28 Colin Watson <cjwatson@ubuntu.com>
33330
33331 * term/i386/pc/console.c (bios_data_area): Cast
33332 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
33333
e7c69859 333342009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
33335
33336 1-bit optimised blitters.
33337
33338 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
33339 prototype.
33340 (grub_video_fbblit_replace_24bit_1bit): Likewise.
33341 (grub_video_fbblit_replace_16bit_1bit): Likewise.
33342 (grub_video_fbblit_replace_8bit_1bit): Likewise.
33343 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
33344 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
33345 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
33346 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
33347 function.
33348 (grub_video_fbblit_replace_24bit_1bit): Likewise.
33349 (grub_video_fbblit_replace_16bit_1bit): Likewise.
33350 (grub_video_fbblit_replace_8bit_1bit): Likewise.
33351 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
33352 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
33353 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
33354 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
33355 when possible.
33356 * video/video.c (grub_video_get_blit_format): Return
33357 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
33358
a57da43f 333592009-08-28 Colin Watson <cjwatson@ubuntu.com>
33360
33361 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
33362 the first argument to grub_printf.
33363
4cbe67e5 333642009-08-28 Colin Watson <cjwatson@ubuntu.com>
333652009-08-28 Robert Millan <rmh.grub@aybabtu.com>
33366
33367 Add `getkeystatus' terminal method. Add a new `keystatus' command
33368 to query it.
33369
33370 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
33371 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
33372 modifier key bitmasks.
33373 (struct grub_term_input): Add `getkeystatus' member.
33374 (grub_getkeystatus): Add prototype.
33375 * kern/term.c (grub_getkeystatus): New function.
33376
33377 * include/grub/i386/pc/memory.h
33378 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
33379 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
33380 Data Area layout.
33381 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
33382 (grub_console_term_input): Set `getkeystatus' member.
33383 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
33384 constants.
33385 (grub_usb_keyboard_getreport): Likewise.
33386 (grub_usb_keyboard_checkkey): Likewise.
33387 (grub_usb_keyboard_getkeystatus): New function.
33388 (grub_usb_keyboard_term): Set `getkeystatus' member.
33389
33390 * commands/keystatus.c: New file.
33391 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
33392 (keystatus_mod_SOURCES): New variable.
33393 (keystatus_mod_CFLAGS): Likewise.
33394 (keystatus_mod_LDFLAGS): Likewise.
33395 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
33396 commands/keystatus.c.
33397 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33398 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33399 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33400 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33401 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33402 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 33403
6e2a9085 334042009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
33405
33406 Split befs.mod and afs.mod into *_be.mod and *.mod
33407
33408 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
33409 (grub_fstest_SOURCES): Likewise.
33410 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
33411 (afs_be_mod_SOURCES): New variable.
33412 (afs_be_mod_CFLAGS): Likewise.
33413 (afs_be_mod_LDFLAGS): Likewise.
33414 (befs_be_mod_SOURCES): Likewise.
33415 (befs_be_mod_CFLAGS): Likewise.
33416 (befs_be_mod_LDFLAGS): Likewise.
33417 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
33418 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33419 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33420 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
33421 (grub_emu_SOURCES): Likewise.
33422 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33423 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33424 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33425 * fs/afs_be.c: New file.
33426 * fs/befs_be.c: New file.
33427 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
33428 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
33429 (U16): Replaced with ...
33430 (grub_afs_to_cpu16): ...this. All users updated.
33431 (U32): Replaced with ...
33432 (grub_afs_to_cpu32): ...this. All users updated.
33433 (U64): Replaced with ...
33434 (grub_afs_to_cpu64): ...this. All users updated.
33435 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
33436 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 33437 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 33438 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
33439 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
33440 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
33441 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
33442 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
33443 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
33444 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
33445 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
33446
32a71655 334472009-08-26 Bean <bean123ch@gmail.com>
33448
33449 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
33450 64-bit number.
33451 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
33452 (grub_xfs_inode_block): Change return type to grub_uint64_t.
33453 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
33454
552bf6c5 334552009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33456
33457 NetBSD memory map support.
33458
33459 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
33460 (grub_netbsd_btinfo_mmap_header): New structure.
33461 (grub_netbsd_btinfo_mmap_entry): Likewise.
33462 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
33463
1ae2078c 334642009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33465
33466 Enable bsd.mod on coreboot.
33467
33468 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
33469 (bsd_mod_SOURCES): New variable.
33470 (bsd_mod_CFLAGS): Likewise.
33471 (bsd_mod_LDFLAGS): Likewise.
33472 (bsd_mod_ASFLAGS): Likewise.
33473 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
33474 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
33475
beefc598 334762009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33477
33478 Cleanup NetBSD root support.
33479
33480 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
33481 grub_bsd_get_device.
33482 Fix typo.
33483
3b76e68b 334842009-08-25 Felix Zielcke <fzielcke@z-51.de>
33485
33486 * util/grub.d/00_header.in: Move check for the video backend of
33487 gfxterm from here ...
33488 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
33489 a suitable video backend.
33490
aea664ea 334912009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33492
33493 Fix breakage in grub-setup.
33494
33495 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
33496 "msdos_partition_map".
33497
ff747d50 334982009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33499
33500 Fix breakage in normal/auth.c.
33501
33502 * normal/auth.c (grub_iswordseparator): New function.
33503
e7e1f93f 335042009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33505
33506 Authentication support.
33507
33508 * commands/password.c: New file.
33509 * conf/common.rmk (pkglib_MODULES): Add password.mod.
33510 (password_mod_SOURCES): New variable.
33511 (password_mod_CFLAGS): Likewise.
33512 (password_mod_LDFLAGS): Likewise.
33513 (normal_mod_SOURCES): Add normal/auth.c.
33514 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
33515 normal/auth.c.
33516 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33517 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33518 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33519 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33520 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33521 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33522 * include/grub/auth.h: New file.
33523 * include/grub/err.h (grub_err_t): New enum value
33524 GRUB_ERR_ACCESS_DENIED.
33525 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
33526 'users'.
33527 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
33528 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
33529 users updated.
33530 * normal/auth.c: New file.
33531 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
33532 (grub_cmdline_run): Don't allow to go to command line without
33533 authentication.
33534 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
33535 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
33536 menuentry without superuser rights.
33537 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
33538 user isn't a superuser.
33539
70f1161d 335402009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33541
33542 Save space by inlining misc.c functions.
33543
33544 * kern/misc.c (grub_iswordseparator): Made static.
33545 * kern/misc.c (grub_strcat): Moved from here ...
33546 * include/grub/misc.h (grub_strcat): ... here. Inlined.
33547 * kern/misc.c (grub_strncat): Moved from here ...
33548 * include/grub/misc.h (grub_strncat): ... here. Inlined.
33549 * kern/misc.c (grub_strcasecmp): Moved from here ...
33550 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
33551 * kern/misc.c (grub_strncasecmp): Moved from here ...
33552 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
33553 * kern/misc.c (grub_isalpha): Moved from here ...
33554 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
33555 * kern/misc.c (grub_isdigit): Moved from here ...
33556 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
33557 * kern/misc.c (grub_isgraph): Moved from here ...
33558 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
33559 * kern/misc.c (grub_tolower): Moved from here ...
33560 * include/grub/misc.h (grub_tolower): ... here. Inlined.
33561
48e40bff 335622009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33563
33564 * script/sh/function.c (grub_script_function_find): Cut error message
33565 not to flood terminal.
33566 * script/sh/lexer.c (grub_script_yylex): Remove command line length
33567 limit.
33568 * script/sh/script.c (grub_script_arg_add): Duplicate string.
33569
c385bfc3 335702009-08-24 Colin Watson <cjwatson@ubuntu.com>
33571
33572 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
33573 `report' grub_uint8_t *.
33574 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
33575 Use a 50-millisecond timeout rather than just repeating
33576 grub_usb_keyboard_getreport 50 times.
33577 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
33578
2d21e3e8 335792009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33580
33581 Rename *_partition_map to part_*
33582
33583 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
33584 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
33585 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
33586 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
33587 All users updated.
33588 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
33589 All users updated.
33590 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
33591 * util/grub-probe.c (probe_partmap): Don't transform partition name
33592 to get module name.
33593
dd103c4e 335942009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33595
33596 Fix OpenBSD and NetBSD support.
33597
33598 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
33599 memory address conflict.
33600 (OPENBSD_MMAP_ACPI): New definition.
33601 (OPENBSD_MMAP_NVS): Likewise.
33602 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
33603 and OPENBSD_MMAP_NVS.
33604 Add memory map terminator
33605 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 33606 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 33607
16c84d74 336082009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33609
33610 Let user specify NetBSD root device.
33611
33612 * loader/i386/bsd.c (netbsd_root): New variable.
33613 (netbsd_opts): New option 'root'.
33614 (NETBSD_ROOT_ARG): New macro.
33615 (grub_netbsd_boot): Use 'netbsd_root'.
33616 (grub_bsd_unload): Free 'netbsd_root'.
33617 (grub_cmd_netbsd): Fill 'netbsd_root'.
33618
adb29902 336192009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33620
33621 Support for 64-bit NetBSD.
33622
33623 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
33624 point when booting non-FreeBSD.
33625
f5ae9f74 336262009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33627
33628 Support --no-smp and --no-acpi for NetBSD.
33629
33630 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
33631 (NETBSD_AB_NOACPI): Likewise.
33632 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
33633 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
33634
de74f136 336352009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
33636
33637 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
33638 errors.
33639 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
33640 errors. Call grub_error when needed.
33641
e9a925da 336422009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
33643
33644 * commands/search.c (search_fs): Try searching without autoload first.
33645 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
33646 filesystem module explicitly for faster booting.
33647
5174302b 336482009-08-23 Colin Watson <cjwatson@ubuntu.com>
33649
33650 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
33651
c8c80635 336522009-08-23 Colin Watson <cjwatson@ubuntu.com>
33653
33654 * util/grub.d/30_os-prober.in: Disable os-prober if
33655 `GRUB_DISABLE_OS_PROBER' was set to true.
33656
71acf5e5 336572009-08-23 Robert Millan <rmh.grub@aybabtu.com>
33658
33659 * partmap/pc.c: Rename to ...
33660 * partmap/msdos.c: ... this. Update all users.
33661 (grub_pc_partition_map): Rename to ...
33662 (grub_msdos_partition_map): ... this. Update all users.
33663
33664 * parttool/pcpart.c: Rename to ...
33665 * parttool/msdospart.c: ... this. Update all users.
33666
33667 * include/grub/pc_partition.h: Rename to ...
33668 * include/grub/msdos_partition.h: ... this. Update all users.
33669 (grub_pc_partition_bsd_entry): Rename to ...
33670 (grub_msdos_partition_bsd_entry): ... this. Update all users.
33671 (grub_pc_partition_disk_label): Rename to ...
33672 (grub_msdos_partition_disk_label): ... this. Update all users.
33673 (grub_pc_partition_entry): Rename to ...
33674 (grub_msdos_partition_entry): ... this. Update all users.
33675 (grub_pc_partition_mbr): Rename to ...
33676 (grub_msdos_partition_mbr): ... this. Update all users.
33677 (grub_pc_partition): Rename to ...
33678 (grub_msdos_partition): ... this. Update all users.
33679 (grub_pc_partition_is_empty): Rename to ...
33680 (grub_msdos_partition_is_empty): ... this. Update all users.
33681 (grub_pc_partition_is_extended): Rename to ...
33682 (grub_msdos_partition_is_extended): ... this. Update all users.
33683 (grub_pc_partition_is_bsd): Rename to ...
33684 (grub_msdos_partition_is_bsd): ... this. Update all users.
33685
33686 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
33687 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
33688 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
33689 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
33690 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
33691 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
33692 (gpt_mod_LDFLAGS): Rename to ...
33693 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
33694 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
33695 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
33696 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
33697 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
33698 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
33699 (part_gpt_mod_LDFLAGS): ... this.
33700 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
33701 `pcpart.mod' to `msdospart.mod'.
33702 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
33703 to ...
33704 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
33705 (msdospart_mod_LDFLAGS): ... this.
33706
c11fded5 337072009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
33708
33709 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
33710 (openbsd_opts): Likewise.
33711 (netbsd_opts): Likewise.
33712 (freebsd_flags): Added 0 terminator.
33713 (openbsd_flags): Likewise.
33714 (netbsd_flags): Likewise.
33715 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
33716 (grub_cmd_freebsd): Transformed into extended command.
33717 (grub_cmd_openbsd): Likewise.
33718 (grub_cmd_netbsd): Likewise.
33719 (cmd_freebsd): Changed type to grub_extcmd_t.
33720 (cmd_openbsd): Likewise.
33721 (cmd_netbsd): Likewise.
33722 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
33723 grub_cmd_openbsd as extended commands.
33724 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
33725 cmd_netbsd and cmd_openbsd
33726
11d1c769 337272009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
33728
33729 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
33730
7a9094e5 337312009-08-21 Pavel Roskin <proski@gnu.org>
33732
5496c37e 33733 * Makefile.in (install-local): When checking if a file is in the
33734 build directory, use "test -e" to detect symlinks.
33735
7a9094e5 33736 * Makefile.in (install-local): Remove all files in
33737 $(DESTDIR)$(pkglibdir) before installing new files there.
33738
e53cea11 337392009-08-18 Felix Zielcke <fzielcke@z-51.de>
33740
33741 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
33742 grub-mkelfimage.
33743
9aced544 337442009-08-18 Felix Zielcke <fzielcke@z-51.de>
33745
33746 * util/grub-mkconfig.in: Don't use gfxterm by default if not
33747 explicitly specified by the user.
33748
b7da6bab 337492009-08-18 Pavel Roskin <proski@gnu.org>
33750
33751 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
33752 grub_uint8_t pointer for data.
33753 * include/grub/fbutil.h (struct grub_video_fbblit_info):
33754 Likewise.
33755 * video/fb/fbutil.c: Remove unnecessary casts.
33756
19f1b335 337572009-08-17 Michal Suchanek <hramrach@centrum.cz>
33758
33759 VBE cleanup.
33760
33761 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
33762 (grub_vbe_set_video_mode): Save active mode info
33763 only after setting the mode.
33764 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
33765 second argument.
33766
2f467aa9 337672009-08-17 Michal Suchanek <hramrach@centrum.cz>
33768
33769 Rename variables for clarity.
33770
33771 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
33772 (active_vbe_mode_info): ... this. All users updated.
33773 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
33774 All users updated.
33775 (initial_mode): Rename to ...
33776 (initial_vbe_mode): ... this. All users updated.
33777 (mode_in_use): Rename to ..
33778 (vbe_mode_in_use): ... this. All users updated.
33779 (mode_list): Rename to ..
33780 (vbe_mode_list): ... this. All users updated.
33781 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
33782 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
33783 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
33784 'mode_list_size' to 'vbe_mode_list_size'.
33785 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
33786 'best_mode_info' to 'best_vbe_mode_info' and
33787 'best_mode' to 'best_vbe_mode'
33788
6025fcd7 337892009-08-17 Michal Suchanek <hramrach@centrum.cz>
33790
33791 Remove duplicate grub_video_fb_get_video_ptr.
33792
33793 * include/grub/fbutil.h (get_data_ptr): Rename to ...
33794 (grub_video_fb_get_video_ptr): ... this.
33795 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
33796 * video/fb/fbutil.c: Add comment about addressing.
33797 (get_data_ptr): Rename to ...
33798 (grub_video_fb_get_video_ptr): ... this. All users updated.
33799 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
33800
cc8c6faf 338012009-08-17 Robert Millan <rmh.grub@aybabtu.com>
33802
33803 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
33804 grub_dprintf() that was just added.
33805
08aa61f0 338062009-08-17 Robert Millan <rmh.grub@aybabtu.com>
33807
33808 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
33809 (DEFAULT_VIDEO_MODE): Remove macros.
33810 (grub_linux_boot): Remove assumption that Linux has FB support,
33811 and use "text" as default video mode.
33812
7cef4f75 338132009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
33814
33815 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
33816 grub_dprintf.
33817 * fs/fat.c (grub_fat_read_data): Likewise.
33818
e1f39873 338192009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
33820
33821 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
33822 payload.
33823 (grub_module): Likewise.
33824
c166d79e 338252009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
33826
33827 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
33828 mbi->cmdline but free playground.
33829
c60cee8e 338302009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
33831
33832 Handle group offset on UFS1.
33833
33834 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
33835 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
33836
c0d8b5d4 338372009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
33838
33839 Split ufs.mod into ufs1.mod and ufs2.mod.
33840
33841 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
33842 (grub_fstest_SOURCES): Likewise.
33843 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
33844 (ufs_mod_SOURCES): Remove.
33845 (ufs_mod_CFLAGS): Likewise.
33846 (ufs_mod_LDFLAGS): Likewise.
33847 (ufs1_mod_SOURCES): New variable.
33848 (ufs1_mod_CFLAGS): Likewise.
33849 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 33850 (ufs2_mod_SOURCES): New variable.
33851 (ufs2_mod_CFLAGS): Likewise.
33852 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 33853 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
33854 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
33855 Likewise.
33856 (grub_emu_SOURCES): Likewise.
33857 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33858 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33859 (grub_setup_SOURCES): Likewise.
33860 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33861 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
33862 (grub_setup_SOURCES): Likewise.
33863 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
33864 Likewise.
33865 * fs/ufs2.c: New file.
33866 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
33867
d3539132 338682009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
33869
33870 Framebuffer split.
33871
33872 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
33873 subsystem at the end.
33874 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
33875 (video_fb_mod_SOURCES): New variable.
33876 (video_fb_mod_CFLAGS): Likewise.
33877 (video_fb_mod_LDFLAGS): Likewise.
33878 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
33879 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
33880 * video/i386/pc/vbeblit.c: Moved from here ...
33881 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
33882 * video/i386/pc/vbefill.c: Moved from here ...
33883 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
33884 * video/i386/pc/vbeutil.c: Moved from here ...
33885 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
33886 * include/grub/i386/pc/vbeblit.h: Moved from here ...
33887 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
33888 * include/grub/i386/pc/vbefill.h: Moved from here ...
33889 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
33890 * include/grub/i386/pc/vbeutil.h: Moved from here ...
33891 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
33892 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
33893 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
33894 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
33895 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
33896 (grub_video_adapter): Added 'get_info_and_fini'.
33897 (grub_video_get_info_and_fini): New prototype.
33898 (grub_video_set_mode): make modestring const char *.
33899 * loader/i386/linux.c (grub_linux_setup_video): Use
33900 grub_video_get_info_and_fini.
33901 (grub_linux_boot): Move modesetting just before booting.
33902 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
33903 grub_video_get_info_and_fini.
33904 * video/i386/pc/vbe.c: Moved framebuffer part ...
33905 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
33906 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
33907 grub_video_fbstd_colors and grub_video_fb_set_palette.
33908 (grub_video_vbe_init): Clear 'framebuffer' variable and use
33909 grub_video_fb_init.
33910 (grub_video_vbe_fini): Use grub_video_fb_fini.
33911 (grub_video_vbe_setup): Use framebuffer.render_target instead of
33912 render_target and use grub_video_fb_set_active_render_target and
33913 grub_video_fb_set_palette.
33914 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
33915 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
33916 (grub_video_vbe_adapter): Use framebuffer.
33917 * video/video.c (grub_video_get_info_and_fini): New function.
33918 (grub_video_set_mode): Make modestring const char *.
33919 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
33920 values are already initialised.
33921
d404ee56 339222009-08-14 Pavel Roskin <proski@gnu.org>
33923
33924 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
33925 ABS and APPLE_CC.
33926 * boot/i386/pc/diskboot.S: Likewise.
33927 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
33928 sectors allow compilation on MacOSX.
33929 * conf/i386-pc.rmk: Enable unconditional compilation of
33930 lnxboot.img.
33931
9a10df16 339322009-08-13 Colin Watson <cjwatson@ubuntu.com>
33933
33934 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
33935 * util/grub.d/00_header.in: Enter interruptible sleep if
33936 GRUB_HIDDEN_TIMEOUT is set.
33937
be3c9ca7 339382009-08-13 Yves Blusseau <blusseau@zetam.org>
33939
33940 * include/grub/symbol.h: Add the LOCAL macro.
33941 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
33942 starting with "L_".
33943
1f9e557e 339442009-08-13 Pavel Roskin <proski@gnu.org>
33945
9ca62843 33946 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
33947 any modern compilers we support.
33948
1f9e557e 33949 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
33950 Use local labels starting with "L_" so that Apple assembler
33951 knows they are local.
33952
81623db6 339532009-08-10 Robert Millan <rmh.grub@aybabtu.com>
33954
33955 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
33956 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
33957 (bsd_kernel_types): ... this enum.
33958
33959 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
33960 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
33961 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
33962
33963 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
33964 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
33965 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
33966 messages.
33967
f5d35e7a 339682009-08-08 Robert Millan <rmh.grub@aybabtu.com>
33969
33970 * util/grub-dumpdevtree: Moved from here ...
33971 * util/i386/efi/grub-dumpdevtree: ... to here.
33972 (hexify): New function. Converts a string to its hex version.
33973 Generate hex versions of "efi" and "device-properties" by calling
33974 hexify() on the ASCII strings rather than by hardcoding numbers.
33975
d1e1d527 339762009-08-08 Robert Millan <rmh.grub@aybabtu.com>
33977
33978 * fs/jfs.c: Update copyright year.
33979
1ebbe064 339802009-08-08 Felix Zielcke <fzielcke@z-51.de>
33981
33982 * util/grub.d/00_header.in: Fix a comment.
33983 * util/grub.d/10_linux.in: Likewise.
33984 * util/grub.d/10_windows.in: Likewise.
33985 * util/grub.d/10_hurd.in: Likewise.
33986
a78c8d24 339872009-08-08 Felix Zielcke <fzielcke@z-51.de>
33988
33989 * util/grub-mkconfig.in: Allow the user to specify the used font
33990 with GRUB_FONT.
33991
29a6b9e8 339922009-08-08 Pavel Roskin <proski@gnu.org>
33993
b5f16cc4 33994 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
33995 available, xfs.mod needs it now.
33996
2f5cb827 33997 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
33998 the "g" modifier in sed when the intention is to strip something
33999 once. This fixes comparison of kernels with multiple dashes.
34000
29a6b9e8 34001 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
34002 on it. Add missing space before closing bracket. Fix
34003 misleading formatting.
34004
892a3d98 340052009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34006
34007 * docs/grub.texi: Major overhaul. Remove all sections that are
34008 specific to GRUB Legacy, or mostly composed of Legacy-specific
34009 information.
34010
ed94253f 340112009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34012
34013 * docs/version.texi: New file. Provides version information for
34014 grub.texi.
34015
126d6628 340162009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34017
34018 * docs/grub.texi: Update CVS information to SVN.
34019 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
34020
998b5aa9 340212009-08-07 Felix Zielcke <fzielcke@z-51.de>
34022
34023 * util/grub-mkconfig.in: Remove a wrong `fi'.
34024
818e094a 340252009-08-07 Felix Zielcke <fzielcke@z-51.de>
34026
34027 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
34028 (grub_jfs_uuid): New function.
34029 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
34030
b969c52f 340312009-08-07 Felix Zielcke <fzielcke@z-51.de>
34032
34033 * util/grub-mkconfig_lib.in (font_path): Move the functionality
34034 of it to ...
34035 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
34036 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
34037
7a4894cc 340382009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34039
34040 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
34041 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
34042 Update all users.
34043
34044 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
34045 not just "vmlinu[zx]".
34046 Moved from here ...
34047 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
34048 all users.
34049
34050 * util/grub.d/10_linux.in (find_latest): Moved from here ...
34051 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
34052 all users.
34053
4e2171f8 340542009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34055
34056 * util/grub.d/10_freebsd.in: Use an absolute device path for
34057 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
34058
6dcfcb32 340592009-08-06 Felix Zielcke <fzielcke@z-51.de>
34060
34061 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
34062 handling of multiple abstraction modules.
34063
f56a8756 340642009-08-04 Robert Millan <rmh.grub@aybabtu.com>
34065
34066 Fix a bug resulting in black screen when loading Linux using a
34067 packed video mode.
34068
34069 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
34070 function.
34071
34072 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
34073 (grub_vbe_bios_getset_dac_palette_width): New function.
34074 (grub_vbe_bios_get_dac_palette_width)
34075 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
34076 grub_vbe_bios_getset_dac_palette_width()).
34077
34078 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
34079 check for return status.
34080 (grub_vbe_get_video_mode_info): When getting information for a packed
34081 mode (<= 8 bpp), obtain DAC palette width using
34082 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
34083 {red,green,blue}_mark_size.
34084
222671b2 340852009-08-04 Felix Zielcke <fzielcke@z-51.de>
34086
ecb1a6d9 34087 * commands/search.c (options): Fix help output to match actual code.
222671b2 34088
f84114f5 340892009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
34090
34091 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
34092 of homegrown code.
34093
bd288a20 340942009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 34095
34096 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
34097 on XFS or ReiserFS.
34098
8aab5e25 340992009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
34100
34101 Support Apple partition map with sector size different from 512 bytes.
34102
34103 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
34104 (apple_partition_map_iterate): Respect 'aheader.blocksize'
34105 and 'apart.partmap_size'.
34106
6ad6258a 341072009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
341082009-08-01 Robert Millan <rmh.grub@aybabtu.com>
34109
34110 Fix cpuid command.
34111
34112 * commands/i386/cpuid.c (options): New variable.
34113 (grub_cmd_cpuid): Return real error.
34114 (GRUB_MOD_INIT(cpuid)): Declare options.
34115
67459bc6 341162009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
34117
34118 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
34119 valid.
34120
fbc6ab54 341212009-07-31 Bean <bean123ch@gmail.com>
34122
34123 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
34124 log2_inode.
34125 (grub_fshelp_node): Move inode field to the end.
34126 (grub_xfs_data): Remove inode field.
34127 (grub_xfs_inode_block): Calculate inode size using sblock.
34128 (grub_xfs_inode_offset): Likewise.
34129 (grub_xfs_read_inode): Calculate inode size using sblock.
34130 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
34131 (grub_xfs_iterate_dir): Calculate inode size using sblock.
34132 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
34133 to match inode size.
34134 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
34135 not accessible when data is null.
34136 (grub_xfs_open): Likewise.
34137
f45d6cfc 341382009-07-31 Bean <bean123ch@gmail.com>
34139
34140 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
34141 Don't change pv->disk if it's already set.
34142
34143 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
34144 (grub_raid_register): ... here.
34145 (grub_raid_rescan): Removed.
34146
34147 * include/grub/raid.h (grub_raid_rescan): Removed.
34148
34149 * util/grub-fstest.c: Remove include file <grub/raid.h>.
34150 (fstest): Replace grub_raid_rescan with module fini function followed
34151 by init function.
34152
34153 * util/grub-probe.c: Add include file <grub/raid.h>.
34154 (probe_raid_level): New function.
34155 (probe): Detect abstraction by walking the disk device, support two
34156 level of abstraction (LVM on RAID) when detecting partition map.
34157
24443b5a 341582009-07-31 Pavel Roskin <proski@gnu.org>
34159
34160 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
34161 to grub_zalloc(), it was erroneous.
34162 Reported by Bean <bean123ch@gmail.com>
34163
a275d9e7 341642009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
34165
34166 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 34167 embedding zone, not only the first one.
a275d9e7 34168
56c5a47f 341692009-07-29 Joe Auricchio <jauricchio@gmail.com>
34170
34171 * term/gfxterm.c (clear_char): New function.
34172 (grub_virtual_screen_setup): Use clear_char.
34173 (scroll_up): Likewise.
34174 (grub_virtual_screen_cls): Likewise.
34175
67bb323a 341762009-07-29 Felix Zielcke <fzielcke@z-51.de>
34177
34178 * util/deviceiter.c (get_acceleraid_disk_name): New static
34179 function.
34180 (grub_util_iterate_devices): Handle Accelraid devices.
34181 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
34182
388a7c75 341832009-07-28 Robert Millan <rmh.grub@aybabtu.com>
34184
34185 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
34186 separator for the suggested gfxpayload string (';' collides with the
34187 parser and needs escaping).
34188
3bb7abcf 341892009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
34190
34191 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
34192 Clear direction flag before jumping to OS.
34193 (grub_multiboot2_real_boot): Likewise.
34194
2ddd36d7 341952009-07-28 Felix Zielcke <fzielcke@z-51.de>
34196
34197 * util/i386/pc/grub-install: Fix parsing of --disk-module
34198 option.
34199
c521b62b 342002009-07-28 Felix Zielcke <fzielcke@z-51.de>
34201
34202 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
34203 when embedding.
34204
880e0a0c 342052009-07-26 Felix Zielcke <fzielcke@z-51.de>
34206
34207 * util/grub-mkconfig.in (package_version): New variable.
34208 Use it do display the version.
34209
2366e356 342102009-07-25 Felix Zielcke <fzielcke@z-51.de>
34211
34212 * kern/file.c (grub_file_open): Revert to previous check with
34213 grub_errno.
34214
7ad8c80e 342152009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
34216
34217 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
34218 from help line. It's out of sync with code.
34219
72b9658b 342202009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
34221
34222 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
34223 entries on failed boot.
34224
77435277 342252009-07-25 Felix Zielcke <fzielcke@z-51.de>
34226
34227 * kern/file.c (grub_file_open): Fix an error check.
34228
fcaa8b21 342292009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
34230
35d16c74 34231 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
34232 partition map couldn't be identified.
fcaa8b21 34233
48904cd1 342342009-07-23 Pavel Roskin <proski@gnu.org>
34235
ef3c317f 34236 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
34237 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
34238 case of little endian words becomes just an optimization.
34239 Respect const modifier.
ad8ea1f4 34240 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 34241
48904cd1 34242 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
34243 to avoid loss of upper bits if align is unsigned and shorter
34244 than addr.
34245
260c9a89 342462009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
34247
34248 UUID support for UFS
34249
34250 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
34251 (grub_ufs_uuid): New function.
34252 (grub_ufs_fs): add .uuid
34253
f76ce889 342542009-07-21 Pavel Roskin <proski@gnu.org>
34255
34256 * kern/dl.c (grub_dl_check_header): Make static.
34257
6a6cbcaf 342582009-07-21 Felix Zielcke <fzielcke@z-51.de>
34259
34260 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
34261 add drivemap for Vista. It breaks Windows 7.
34262
cffcddb2 342632009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
34264
34265 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
34266 128 bytes
34267
1ef44b80 342682009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
34269
34270 Add BFS support
34271
34272 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
34273 (grub_fstest_SOURCES): Likewise.
34274 (pkglib_MODULES): Add befs.mod.
34275 (befs_mod_SOURCES): New variable.
34276 (befs_mod_CFLAGS): Likewise.
34277 (befs_mod_LDFLAGS): Likewise.
34278 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
34279 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34280 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34281 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34282 (grub_setup_SOURCES): Likewise.
34283 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34284 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34285 (grub_setup_SOURCES): Likewise.
34286 * fs/befs.c: New file.
34287 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
34288 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
34289 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
34290 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
34291 (B_KEY_INDEX_ALIGN): New declaration.
34292 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
34293 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
34294 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
34295 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
34296 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
34297 (grub_afs_mount) [MODE_BFS]: Likewise.
34298 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
34299 (grub_afs_fs): Use GRUB_AFS_FSNAME
34300 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
34301 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
34302 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
34303 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
34304
4f253044 343052009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
34306
34307 * util/getroot.c (find_root_device): Add support for MacOSX.
34308 * util/hostdisk.c: Likewise.
34309
57a55913 343102009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
34311
34312 * font/font.c (find_glyph): Check whether a font is present to avoid
34313 segmentation fault.
75421ca9 34314
343152009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 34316
34317 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
34318
e98cd0c2 343192009-07-20 Pavel Roskin <proski@gnu.org>
34320
34321 * configure.ac: Trim excessively wordy excuses.
34322
1d2d169a 343232009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
34324
34325 Add symlink, mtime and label support to AtheFS.
34326
34327 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
34328 (grub_afs_iterate_dir): Handle symlinks.
34329 (grub_afs_open): Use grub_afs_read_symlink.
34330 (grub_afs_dir): Likewise.
34331 Pass mtime.
34332 (grub_afs_label): New function.
34333 (grub_afs_fs): Add grub_afs_label.
34334 (grub_afs_read_symlink): New function.
34335
186f3189 343362009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
34337
34338 Fix AtheFS support.
34339
34340 * fs/afs.c: Fix comments style.
34341 (grub_afs_blockrun): Declare as packed.
34342 (grub_afs_datastream): Likewise.
34343 (grub_afs_bnode): Likewise.
34344 (grub_afs_btree): Likewise.
34345 (grub_afs_sblock): Likewise.
34346 Declare `name' as char.
34347 (grub_afs_inode): Declare as packed.
34348 Change void *vnode to grub_uint32_t unused.
34349 (grub_afs_iterate_dir): Check that key_size is positive.
34350 (grub_afs_mount): Don't read superblock twice.
75421ca9 34351 (grub_afs_dir): Don't free node in case of error,
186f3189 34352 grub_fshelp_find_file already handles this.
34353 (grub_afs_open): Likewise.
34354
5680109e 343552009-07-19 Pavel Roskin <proski@gnu.org>
34356
34357 * Makefile.in: Remove LIBLZO and enable_lzo.
34358 * conf/i386-pc.rmk: Remove lzo support.
34359 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
34360 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
34361 support.
34362 * kern/i386/pc/lzo1x.S: Remove.
34363 * kern/i386/pc/startup.S: Remove lzo support.
34364 * util/i386/pc/grub-mkimage.c: Likewise.
34365
ac70fa32 343662009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
34367
34368 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
34369 * fs/xfs.c (grub_xfs_dir): Likewise.
34370 * fs/afs.c (grub_afs_dir): Likewise.
34371 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
34372 (grub_iso9660_open): Likewise.
34373 * fs/jfs.c (grub_jfs_open): Likewise.
34374 * fs/ext2.c (grub_ext2_dir): Likewise.
34375 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
34376 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 34377
eab58da2 343782009-07-16 Pavel Roskin <proski@gnu.org>
34379
d2838156 34380 * configure.ac: Never add "-c" to CFLAGS.
34381
55c70904 34382 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
34383
43e6200c 34384 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
34385 grub_cv_cc_efiemu should be used.
34386
ce7a733d 34387 * configure.ac: Typo fixes.
34388
eab58da2 34389 * kern/mm.c (grub_zalloc): New function.
34390 (grub_debug_zalloc): Likewise.
34391 * include/grub/mm.h: Declare grub_zalloc() and
34392 grub_debug_zalloc().
34393 * util/misc.c (grub_zalloc): New function.
34394 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
34395 instead of grub_malloc(), remove unneeded initializations.
34396 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
34397 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
34398 * commands/parttool.c (grub_cmd_parttool): Likewise.
34399 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
34400 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
34401 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
34402 * disk/usbms.c (grub_usbms_finddevs): Likewise.
34403 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
34404 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
34405 (grub_cmd_efiemu_pnvram): Likewise.
34406 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
34407 * fs/iso9660.c (grub_iso9660_mount): Likewise.
34408 (grub_iso9660_iterate_dir): Likewise.
34409 * fs/jfs.c (grub_jfs_opendir): Likewise.
34410 * fs/ntfs.c (list_file): Likewise.
34411 (grub_ntfs_mount): Likewise.
34412 * kern/disk.c (grub_disk_open): Likewise.
34413 * kern/dl.c (grub_dl_load_core): Likewise.
34414 * kern/elf.c (grub_elf_file): Likewise.
34415 * kern/env.c (grub_env_context_open): Likewise.
34416 (grub_env_set): Likewise.
34417 (grub_env_set_data_slot): Likewise.
34418 * kern/file.c (grub_file_open): Likewise.
34419 * kern/fs.c (grub_fs_blocklist_open): Likewise.
34420 * loader/i386/multiboot.c (grub_module): Likewise.
34421 * loader/xnu.c (grub_xnu_create_key): Likewise.
34422 (grub_xnu_create_value): Likewise.
34423 * normal/main.c (grub_normal_add_menu_entry): Likewise.
34424 (read_config_file): Likewise.
34425 * normal/menu_entry.c (make_screen): Likewise.
34426 * partmap/sun.c (sun_partition_map_iterate): Likewise.
34427 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
34428 * script/sh/script.c (grub_script_parse): Likewise.
34429 * video/bitmap.c (grub_video_bitmap_create): Likewise.
34430 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
34431 * video/readers/png.c (grub_png_output_byte): Likewise.
34432 (grub_video_reader_png): Likewise.
34433
830afef7 344342009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 34435
34436 Enable all targets that can be built by default
34437
830afef7 34438 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 34439 grub-mkfont and grub-fstest if they can be built
34440
ee293aee 344412009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
34442
34443 Fix hang and segmentation fault in grub-emu-usb
34444
34445 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
34446 * util/usb.c (grub_libusb_devices): likewise
34447 (grub_libusb_init): rename to ...
34448 (GRUB_MOD_INIT (libusb)):...this
34449 (grub_libusb_fini): rename to ..
34450 (GRUB_MOD_FINI (libusb)):...this
34451 * disk/usbms.c (grub_usbms_transfer): fix retry logic
34452 * include/grub/disk.h (grub_raid_init): removed, it's useless
34453 (grub_raid_fini): likewise
34454 (grub_lvm_init): likewise
34455 (grub_lvm_fini): likewise
34456 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
34457 by grub_init_all
34458
94414221 344592009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
34460
34461 Fix libusb
34462
34463 * Makefile.in (LIBUSB): new macro
34464 * genmk.rb (Utility/print_tail): new method
34465 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
34466 (top level): call util.print_tail at the end.
34467
59ade63d 344682009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
34469
34470 Make FreeBSD accept zpool.cache
34471
34472 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
34473 type is /boot/zfs/zpool.cache
34474
a58da8c7 344752009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
34476
34477 Fix 64-bit efiemu
34478
34479 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
34480 correct wrong typedef
34481 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
34482
20591577 344832009-07-15 Pavel Roskin <proski@gnu.org>
34484
560ca572 34485 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
34486 * kern/disk.c (struct grub_disk_cache): Likewise.
34487
e8e8e4fd 34488 * commands/probe.c (options): Typo fix.
34489
fde24e10 34490 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
34491 Increase to 0x5a to accommodate FAT32. Adjust other offsets
34492 accordingly.
34493 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
34494
379c54c1 34495 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
34496 the end of "Error" to make the message more readable.
34497
7bd8f5bf 34498 * boot/i386/pc/boot.S (kernel_segment): Remove.
34499 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
34500 for destination.
34501
40b132c5 34502 * boot/i386/pc/boot.S (boot_version): Remove.
34503 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
34504 Remove.
34505
20591577 34506 * include/grub/i386/pc/boot.h: Sort all offsets.
34507 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
34508 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
34509 * boot/i386/pc/boot.S: Assert location of every offset listed in
34510 include/grub/i386/pc/boot.h.
34511
2df32b2c 345122009-07-13 Pavel Roskin <proski@gnu.org>
34513
44b5d879 34514 * include/grub/i386/coreboot/machine.h: Rename
34515 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
34516 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
34517 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
34518
17dc3751 34519 * kern/dl.c: Force native word size to suppress warnings when
34520 compiling grub-emu.
34521
2df32b2c 34522 * kern/device.c (grub_device_iterate): Change struct part_ent to
34523 hold the name, not a pointer to it. Use one grub_malloc() per
34524 partition, not two. Free partition_name if grub_malloc() fails.
34525 Set ents to NULL only before grub_partition_iterate() is called.
34526
75c59f59 345272009-07-11 Bean <bean123ch@gmail.com>
34528
34529 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
34530 childname.
34531
0ae1bf88 345322009-07-10 Bean <bean123ch@gmail.com>
345332009-07-10 Robert Millan <rmh.grub@aybabtu.com>
34534
34535 * kern/ieee1275/openfw.c (grub_children_iterate)
34536 (grub_devalias_iterate): Fix size evaluation for property or path
34537 strings, which was broken since r2132.
34538
8279cade 345392009-07-07 Pavel Roskin <proski@gnu.org>
34540
7d8a52d3 34541 * commands/search.c (search_file): Merge into ...
34542 (search_fs): ... this. Accept search type as argument.
34543 (grub_cmd_search): Pass search type to search_fs().
34544
25f9a05a 34545 * include/grub/util/console.h: New file.
34546 * util/console.c: Use it instead of grub/machine/console.h.
34547 * util/grub-emu.c: Likewise.
34548
8279cade 34549 * lib/arg.c (find_long_option): Remove.
34550 (find_long): Add `len' argument, make `s' const char *.
34551 (grub_arg_parse): Parse long options in place, not in a
34552 temporary buffer.
34553
4a11b60f 345542009-07-06 Pavel Roskin <proski@gnu.org>
34555
99f68041 34556 * commands/search.c (search_fs): Fix potential NULL pointer
34557 dereference.
34558
4a11b60f 34559 * commands/search.c (search_fs): Replace QUID macro with quid_fn
34560 function pointer.
34561
e110f4de 345622009-07-06 Daniel Mierswa <impulze@impulze.org>
34563
34564 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
34565 comparison.
34566
46eeb6a2 345672009-07-05 Pavel Roskin <proski@gnu.org>
34568
bab74958 34569 * include/grub/i386/linux.h (struct linux_kernel_params):
34570 Restore padding3, it's still needed.
34571
46eeb6a2 34572 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
34573 FreeBSD.
34574 * util/osdetect.lua: Likewise.
34575
b4a1dc79 345762009-07-05 Bean <bean123ch@gmail.com>
34577
34578 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
34579
34580 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
34581 (grub_lua_getenv): Likewise.
34582 (grub_lua_setenv): Likewise.
34583 (save_errno): New function.
34584 (push_result): Likewise.
34585 (grub_lua_enum_device): Likewise.
34586 (grub_lua_enum_file): Likewise.
34587 (grub_lua_file_open): Likewise.
34588 (grub_lua_file_close): Likewise.
34589 (grub_lua_file_seek): Likewise.
34590 (grub_lua_file_read): Likewise.
34591 (grub_lua_file_getline): Likewise.
34592 (grub_lua_file_getsize): Likewise.
34593 (grub_lua_file_getpos): Likewise.
34594 (grub_lua_file_eof): Likewise.
34595 (grub_lua_file_exist): Likewise.
34596 (grub_lua_add_menu): Likewise.
34597
34598 * script/lua/grub_lua.h (isupper): New inline function.
34599 (islower): Likewise.
34600 (ispunct): Likewise.
34601 (isxdigit): Likewise.
34602 (strcspn): Change to normal function.
34603 (strpbkr): New function declaration.
34604 (memchr): Likewise.
34605
34606 * script/lua/grub_main.c (scan_str): New function.
34607 (strcspn): Likewise.
34608 (strpbrk): Likewise.
34609 (memchr): Likewise.
34610
34611 * script/lua/linit.c (lualibs): Enable the string library.
34612
34613 * util/osdetect.lua: New file.
34614
2da92295 346152009-07-04 Robert Millan <rmh.grub@aybabtu.com>
34616
34617 * include/grub/i386/linux.h (struct linux_kernel_params): Add
34618 `capabilities' member.
34619
b2582ec9 346202009-07-02 Pavel Roskin <proski@gnu.org>
34621
34622 * genparttoollist.sh: Add missing newline at the end.
34623
32622956 346242009-07-01 Pavel Roskin <proski@gnu.org>
34625
87a7339e 34626 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
34627
d23af54e 34628 * util/hostdisk.c (open_device): Remove `const' from
34629 `sysctl_size', as sysctlbyname() can change it (in this case it
34630 doesn't actually happen).
34631
c94b18a9 34632 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
34633 using signed long int constants.
34634
c6cd3ef0 34635 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
34636 constant to avoid a warning on FreeBSD.
34637
0df63420 34638 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
34639 where it's needed.
34640
999577f1 34641 * Makefile.in: Install include/grub/machine symlink.
34642
6f41557f 34643 * Makefile.in: When installing symlinks, use "cp -fR", which
34644 works on FreeBSD and MacOSX.
34645 From Yves Blusseau <cl7m42e02@sneakemail.com>
34646
c8d22988 34647 * kern/dl.c (grub_dl_resolve_symbol): Make static.
34648 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
34649
1b96e952 34650 * util/misc.c: Move grub_reboot() and grub_halt() ...
34651 * util/grub-emu.c: ... here. Make main_env static.
34652 * include/grub/util/misc.h: Remove main_env.
34653
2ef0084d 34654 * kern/mm.c: Use correct format to print size_t.
34655
32622956 34656 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
34657 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
34658 * kern/powerpc/dl.c: Likewise.
34659 * kern/sparc64/dl.c: Likewise.
34660 * kern/x86_64/dl.c: Likewise.
34661
3f7f0cd0 346622009-07-01 Robert Millan <rmh.grub@aybabtu.com>
34663
34664 Fix grub-emu build on sparc64-ieee1275.
34665
75421ca9 34666 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 34667 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
34668
211d06b5 346692009-07-01 Robert Millan <rmh.grub@aybabtu.com>
34670
34671 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
34672 (grub_reboot, grub_halt): New functions.
34673
34674 * util/i386/pc/misc.c: Delete. Update all users.
34675 * util/sparc64/ieee1275/misc.c: Likewise.
34676 * util/powerpc/ieee1275/misc.c: Likewise.
34677
aaf53e3c 346782009-07-01 Robert Millan <rmh.grub@aybabtu.com>
34679
34680 * conf/i386.rmk (setjmp_mod_SOURCES)
34681 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
34682 * conf/common.rmk (setjmp_mod_SOURCES)
34683 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
34684 to use $(target_cpu).
34685 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
34686 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
34687 * conf/powerpc-ieee1275.rmk: Likewise.
34688 * conf/sparc64-ieee1275.rmk: Likewise.
34689
34690 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
34691 $(target_cpu) for kern/$(target_cpu)/dl.c.
34692 * conf/i386-efi.rmk: Likewise.
34693 * conf/i386-ieee1275.rmk: Likewise.
34694 * conf/x86_64-efi.rmk: Likewise.
34695 * conf/i386-coreboot.rmk: Likewise.
34696 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
34697 $(target_cpu) for kern/$(target_cpu)/dl.c and for
34698 kern/$(target_cpu)/cache.S.
34699 * conf/sparc64-ieee1275.rmk: Likewise.
34700
a337130b 347012009-07-01 Robert Millan <rmh.grub@aybabtu.com>
34702
34703 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
34704 type to `grub_uint8_t', and adjust `padding9' accordingly.
34705
c6fe4d53 347062009-06-29 Robert Millan <rmh.grub@aybabtu.com>
34707
b09db61d 34708 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
34709
c6fe4d53 34710 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
34711 assembly in final jump, using register constraints.
34712
b09db61d 34713 (grub_linux_boot): For text mode, initialize `have_vga' using
34714 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
34715
34716 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
34717 right before the final jump.
34718
34719 Set `video_mode' to 0x3.
34720
34721 Document initialization of `video_page', `video_mode' and
34722 `video_ega_bx'.
34723
28333ad0 347242009-06-29 Robert Millan <rmh.grub@aybabtu.com>
34725
34726 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
34727 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 34728 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 34729
02164e1b 347302009-06-29 Robert Millan <rmh.grub@aybabtu.com>
34731
34732 Fix build on Debian / sparc.
34733
34734 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
34735
18b6c557 347362009-06-28 Pavel Roskin <proski@gnu.org>
34737
85f2aab6 34738 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
34739 fix a warning.
34740
18b6c557 34741 * util/grub.d/10_linux.in: Match SUSE style initrd names.
34742
ad760f81 347432009-06-27 Robert Millan <rmh.grub@aybabtu.com>
34744
34745 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
34746 `err'.
34747
87a4623b 347482009-06-27 Robert Millan <rmh.grub@aybabtu.com>
34749
34750 Revert r2338.
34751
34752 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
34753 file can't be opened. grub_file_open() is already supposed to set
75421ca9 34754 grub_errno / grub_errmsg appropriately.
87a4623b 34755 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
34756
8231fb77 347572009-06-27 Pavel Roskin <proski@gnu.org>
347582009-06-27 Robert Millan <rmh.grub@aybabtu.com>
34759
34760 * include/grub/dl.h: Include grub/elf.h.
34761 (struct grub_dl): Add symtab field.
34762 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
34763 GRUB_MODULES_MACHINE_READONLY.
34764 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
34765 of the header for read-only modules.
34766 (grub_dl_unload): Free mod->symtab for read-only modules.
34767 * kern/i386/dl.c: Use mod->symtab.
34768 * kern/powerpc/dl.c: Likewise.
34769 * kern/sparc64/dl.c: Likewise.
34770 * kern/x86_64/dl.c: Likewise.
34771
34772 * conf/i386-qemu.rmk: New file.
34773 * kern/i386/qemu/startup.S: Likewise.
34774 * kern/i386/qemu/mmap.c: Likewise.
34775 * boot/i386/qemu/boot.S: Likewise.
34776 * include/grub/i386/qemu/time.h: Likewise.
34777 * include/grub/i386/qemu/serial.h: Likewise.
34778 * include/grub/i386/qemu/kernel.h: Likewise.
34779 * include/grub/i386/qemu/console.h: Likewise.
34780 * include/grub/i386/qemu/boot.h: Likewise.
34781 * include/grub/i386/qemu/init.h: Likewise.
34782 * include/grub/i386/qemu/machine.h: Likewise.
34783 * include/grub/i386/qemu/loader.h: Likewise.
34784 * include/grub/i386/qemu/memory.h: Likewise.
34785
34786 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
34787 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
34788 [qemu] (pkglib_IMAGES): Add `boot.img'.
34789 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
34790 [qemu] (boot_img_FORMAT): New variables.
34791 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
34792 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
34793 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
34794 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
34795 [qemu] (kernel_img_FORMAT): New variables.
34796
34797 * configure.ac: Recognise `i386-qemu'.
34798
34799 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
34800 (for no compression).
34801 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
34802 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
34803 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
34804 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
34805 ifdefs).
34806
97fe384e 348072009-06-27 Pavel Roskin <proski@gnu.org>
34808
34809 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
34810 read.
34811 * efiemu/prepare32.c: Likewise.
34812 * efiemu/prepare64.c: Likewise.
34813
c402ab17 348142009-06-26 Pavel Roskin <proski@gnu.org>
34815
34816 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
34817 * include/grub/elf.h: Define symbols without "32" or "64" based
34818 on GRUB_TARGET_WORDSIZE.
34819 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
34820 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
34821 ELF definitions.
34822 * efiemu/loadcore64.c: Likewise.
34823 * loader/i386/bsd32.c: Likewise.
34824 * loader/i386/bsd64.c: Likewise.
34825 * kern/dl.c: Remove own ELF definitions.
34826 * util/i386/efi/grub-mkimage.c: Likewise.
34827
9bbdfd4d 348282009-06-23 Robert Millan <rmh.grub@aybabtu.com>
34829
34830 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
34831 segment 0x0 unconditionally, because the reference generated by
34832 GAS is an absolute address.
34833
a42ce6e9 348342009-06-22 Robert Millan <rmh.grub@aybabtu.com>
34835
34836 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
34837 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
34838
c952cf92 348392009-06-22 Robert Millan <rmh.grub@aybabtu.com>
34840
34841 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
34842 indexes. Check for -f explicitly.
cc3752ad 34843 (search_file): Improve error message.
34844 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 34845
132a0a59 348462009-06-22 Robert Millan <rmh.grub@aybabtu.com>
34847
34848 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
34849 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
34850
387a140c 348512009-06-22 Robert Millan <rmh.grub@aybabtu.com>
34852
34853 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
34854 * conf/i386-ieee1275.rmk: Likewise.
34855 * conf/i386-coreboot.rmk: Likewise.
34856
34857 * kern/i386/pc/startup.S (grub_stop): Remove function.
34858 * kern/i386/ieee1275/startup.S: Likewise.
34859 * kern/i386/coreboot/startup.S: Likewise.
34860 * kern/i386/misc.S (grub_stop): New function.
34861
41da9665 348622009-06-22 Robert Millan <rmh.grub@aybabtu.com>
34863
34864 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
34865 * kern/i386/realmode.S (real_to_prot): ... to here.
34866
bf337234 348672009-06-22 Robert Millan <rmh.grub@aybabtu.com>
34868
34869 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
34870 with `kernel.img'.
34871 (kernel_elf_SOURCES): Rename to ...
34872 (kernel_img_SOURCES): ... this.
34873 (kernel_elf_HEADERS): Rename to ...
34874 (kernel_img_HEADERS): ... this. Update all users.
34875 (kernel_elf_ASFLAGS): Rename to ...
34876 (kernel_img_ASFLAGS): ... this.
34877 (kernel_elf_CFLAGS): Rename to ...
34878 (kernel_img_CFLAGS): ... this.
34879 (kernel_elf_LDFLAGS): Rename to ...
34880 (kernel_img_LDFLAGS): ... this.
34881 * conf/i386-coreboot.rmk: Likewise.
34882 * conf/powerpc-ieee1275.rmk: Likewise.
34883
34884 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
34885 with "kernel.img".
34886
f52196ff 348872009-06-21 Pavel Roskin <proski@gnu.org>
34888
c3cee413 34889 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
34890 to match nested functions.
34891 * loader/sparc64/ieee1275/linux.c: Likewise.
34892
f52196ff 34893 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
34894
58750afc 348952009-06-21 Robert Millan <rmh.grub@aybabtu.com>
34896
34897 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
34898 all i386 platforms.
34899
15355c7d 349002009-06-21 Robert Millan <rmh.grub@aybabtu.com>
34901
34902 Fix asm file handling on ELF, and remove workarounds.
34903
34904 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 34905 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 34906 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
34907 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
34908
3f3ec72b 349092009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
34910
34911 Load BSD ELF modules
34912
34913 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
34914 and loader/i386/bsd64.c
34915 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
34916 (FREEBSD_MODTYPE_ELF_MODULE): New definition
34917 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
34918 (grub_freebsd_load_elfmodule32): New declaration
34919 (grub_freebsd_load_elfmoduleobj64): Likewise
34920 (grub_freebsd_load_elf_meta32): Likewise
34921 (grub_freebsd_load_elf_meta64): Likewise
34922 (grub_freebsd_add_meta): Likewise
34923 (grub_freebsd_add_meta_module): Likewise
34924 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
34925 (grub_freebsd_add_meta_module): Likewise and move module-specific
34926 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
34927 (grub_cmd_freebsd): Add elf-kernel specific parts
34928 based on grub_freebsd_add_meta_module
34929 (grub_cmd_freebsd_module): Add type parsing moved from
34930 grub_freebsd_add_meta_module
34931 (grub_cmd_freebsd_module_elf): New function
34932 (cmd_freebsd_module_elf): New variable
34933 (GRUB_MOD_INIT): Register freebsd_module_elf
34934 * loader/i386/bsd32.c: New file
34935 * loader/i386/bsd64.c: Likewise
34936 * loader/i386/bsdXX.c: Likewise
34937 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
34938 (grub_elf64_load): Likewise
34939 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
34940 All users updated
34941 (grub_elf64_load_hook_t): Likewise
34942
0db15301 349432009-06-21 Colin Watson <cjwatson@ubuntu.com>
34944
34945 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
34946 variable.
34947 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
34948 don't write a menu entry for recovery mode.
34949
546796c1 349502009-06-20 Robert Millan <rmh.grub@aybabtu.com>
34951
34952 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
34953 after it's no longer needed.
34954
cd7310d5 349552009-06-20 Robert Millan <rmh.grub@aybabtu.com>
34956
34957 * include/grub/i386/loader.h (grub_linux_prot_size)
34958 (grub_linux_tmp_addr, grub_linux_real_addr)
34959 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
34960 GRUB_MACHINE_PCBIOS.
34961 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
34962 common grub_util_info() call to ...
34963 (generate_image): ... here.
34964 Fix use of uninitialized memory, comparison of signed with
34965 unsigned integers and memory leak.
34966 Remove bogus module address message.
34967
ab32d3b5 349682009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
34969
34970 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
34971 grub_raid_register
34972 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
34973
024ef597 349742009-06-19 Pavel Roskin <proski@gnu.org>
34975
34976 * configure.ac: Remove stray AC_MSG_CHECKING.
34977
3ac72b51 349782009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
34979
34980 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 34981
e14cd814 349822009-06-18 Pavel Roskin <proski@gnu.org>
34983
34984 * conf/common.rmk: Add fs_file.mod.
34985 * disk/fs_file.c: New file.
34986 * include/grub/disk.h (enum grub_disk_dev_id): Add
34987 GRUB_DISK_DEVICE_FILE_ID.
34988
26586d98 349892009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
34990
34991 Fix build with Apple's toolchain. Part 2
34992
34993 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
34994 a fake start
34995
26de2bcd 349962009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
34997
34998 Fix build with Apple's toolchain. Part 1
34999
35000 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
35001 for long calls
35002 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 35003 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 35004 Apple's toolchain
35005
09b3490b 350062009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
35007
35008 Fix warnings
35009
35010 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
35011 (decomp_block): initialize ch
35012 use grub_memcpy instead of memcpy
35013
c22a006a 350142009-06-17 Pavel Roskin <proski@gnu.org>
35015
d3638678 35016 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
35017 version, use declarations needed to use vga_text as the startup
35018 console.
35019
c22a006a 35020 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
35021 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
35022 the kernel.
35023 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
35024 and grub_at_keyboard_fini(), it's done on module load and
35025 unload.
35026
05b129e0 350272009-06-17 Felix Zielcke <fzielcke@z-51.de>
35028
35029 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
35030 file can't be found.
35031 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
35032
cf24ed9e 350332009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
35034
35035 Fix newline handling
35036
35037 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 35038 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 35039 (grub_script_yylex): don't segfault on unterminated script
35040 newline terminates command and variable
35041
74aa8e4b 350422009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
35043
35044 avoid double grub_adjust_range call. Bug reported by David Simner
35045
35046 * kern/disk.c (grub_disk_write): change to raw disk access before
35047 calling disk_read
35048
1bd265f3 350492009-06-17 Colin Watson <cjwatson@ubuntu.com>
35050
35051 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
35052 spaces, for the benefit of help2man.
35053 * util/i386/efi/grub-mkimage.c (usage): Likewise.
35054
a2d08c06 350552009-06-16 Pavel Roskin <proski@gnu.org>
35056
35057 * kern/i386/halt.c: Include grub/machine/init.h.
35058 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
35059
b97bcb19 350602009-06-16 Felix Zielcke <fzielcke@z-51.de>
35061
35062 * util/grub.d/30_os-prober.in: Use ${root} in the generated
35063 drivemap menuentry.
35064
0644f96c 350652009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
35066
35067 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
35068 `echo' command.
35069
3ef17a2e 350702009-06-16 Pavel Roskin <proski@gnu.org>
35071
35072 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
35073 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
35074 save %dx, we only need %dl and we never change it.
35075 * boot/i386/pc/cdboot.S: Don't set the root drive.
35076 * boot/i386/pc/pxeboot.S: Likewise.
35077 * include/grub/i386/pc/boot.h: Remove
35078 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
35079 GRUB_BOOT_MACHINE_DRIVE_CHECK.
35080 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
35081 * kern/i386/pc/init.c (make_install_device): Remove references
35082 to grub_root_drive.
35083 * kern/i386/pc/startup.S: Likewise.
35084 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
35085
693fe637 350862009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
35087
35088 xnu_uuid command
35089
35090 * commands/xnu_uuid.c: new file
35091 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
35092 (xnu_uuid_mod_SOURCES): new variable
35093 (xnu_uuid_mod_CFLAGS): likewise
35094 (xnu_uuid_mod_LDFLAGS): likewise
35095 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
35096 * conf/i386-ieee1275.rmk: likewise
35097 * conf/i386-pc.rmk: likewise
35098 * conf/powerpc-ieee1275.rmk: likewise
35099 * conf/sparc64-ieee1275.rmk: likewise
35100 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
35101
c9da87d0 351022009-06-16 Pavel Roskin <proski@gnu.org>
35103
35104 * configure.ac: Avoid '==' in test command, it's not portable.
35105
9c6f4596 351062009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
35107
35108 Probe command
35109
35110 * commands/probe.c: new file
35111 * conf/common.rmk (pkglib_MODULES): add probe.mod
35112 (probe_mod_SOURCES): new variable
35113 (probe_mod_CFLAGS): likewise
35114 (probe_mod_LDFLAGS): likewise
35115 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
35116 * conf/i386-ieee1275.rmk: likewise
35117 * conf/i386-pc.rmk: likewise
35118 * conf/powerpc-ieee1275.rmk: likewise
35119 * conf/sparc64-ieee1275.rmk: likewise
35120
70b7f9fd 351212009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
35122
35123 Fix handling of string like \"hello\" and "a
35124 b"
35125
35126 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
35127 (grub_script_yylex): fix parsing of quoting, escaping and newline
35128
71c79a6b 351292009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
35130
dd74360c 35131 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 35132 handling
dd74360c 35133
0644f96c 351342009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 35135
35136 * util/grub-mkconfig.in: Fix parsing of --output option.
35137
e40893c3 351382009-06-12 Pavel Roskin <proski@gnu.org>
35139
35140 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
35141 genmk.rb don't need to be generated or installed.
35142
3a1acfe2 351432009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
35144
35145 * commands/i386/pc/drivemap_int13h.S: add more comments
35146
3a4575d4 351472009-06-11 Pavel Roskin <proski@gnu.org>
35148
0658e928 35149 * Makefile.in (uninstall): Uninstall manuals.
35150
ca0388f0 35151 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
35152 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
35153 and update-grub_lib in two places.
35154 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
35155
e3b27c39 35156 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
35157 a compiler warning.
35158
3a4575d4 35159 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
35160 `entry_lo' to fix variable shadowing.
35161
af1f4f55 351622009-06-11 Christian Franke <franke@computer.org>
35163
35164 * kern/misc.c (__enable_execute_stack): Add missing return type
35165 to prevent gcc warning.
35166
5225e649 351672009-06-11 Felix Zielcke <fzielcke@z-51.de>
35168
35169 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
35170
7d83bd47 351712009-06-11 Pavel Roskin <proski@gnu.org>
35172
c1cb63ba 35173 * Makefile.in: Don't rely on any scripts being executable.
35174 Always use $(SHELL) to run shell scripts.
35175
7d83bd47 35176 * configure.ac: Always define ___main if using -nostdlib. This
35177 fixes tests on Cygwin.
35178
948f48e7 351792009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
35180
35181 UDF fix
35182
7d83bd47 35183 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 35184 is in bytes and not in blocks
7d83bd47 35185
8ada9bc1 351862009-06-11 Pavel Roskin <proski@gnu.org>
35187
35188 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
35189 warning.
35190
25ad2323 351912009-06-11 Felix Zielcke <fzielcke@z-51.de>
35192
35193 * util/grub.d/30_os-prober.in: Fix a comment. Source
35194 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
35195 to set the root device. Place drivemap command in the generated
35196 chain entry.
35197
e65acb0c 351982009-06-11 Pavel Roskin <proski@gnu.org>
35199
35200 * configure.ac: Remove host_m32. Issues with 64-bit utilities
35201 have long been resolved.
35202
f285fe2d 352032009-06-11 Colin Watson <cjwatson@ubuntu.com>
35204
bd47b0b5 35205 * util/grub.d/10_linux.in: Capitalise "Linux".
35206
f285fe2d 35207 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
35208
a0c62e4e 352092009-06-11 Pavel Roskin <proski@gnu.org>
35210
b6783cb2 35211 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
35212 fix a gcc warning and ensure that the function won't ever exit.
35213
dde032e8 35214 * kern/i386/ieee1275/init.c: Add missing prototype for
35215 grub_stop_floppy().
35216
22cd079d 35217 * loader/ieee1275/multiboot2.c [__i386__]: Include
35218 grub/cpu/multiboot.h.
35219
a0c62e4e 35220 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
35221 casts to short - they are not portable and cause warnings. Fix
35222 use of uninitialized values in input_buf. Use ARRAY_SIZE.
35223
63963d17 352242009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
35225
35226 Drivemap fixes
35227
35228 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
35229 new function
35230 (grub_get_root_biosnumber_saved): new variable
35231 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
35232 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 35233 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 35234 %dx after the call if necessary
35235 * conf/common.rmk (pkglib_MODULES): remove boot.mod
35236 (boot_mod_SOURCES): remove
35237 (boot_mod_CFLAGS): remove
35238 (boot_mod_LDFLAGS): remove
35239 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
35240 (boot_mod_SOURCES): new variable
35241 (boot_mod_CFLAGS): likewise
35242 (boot_mod_LDFLAGS): likewise
35243 * conf/i386-efi.rmk: likewise
35244 * conf/i386-ieee1275.rmk: likewise
35245 * conf/i386-pc.rmk: likewise
35246 * conf/powerpc-ieee1275.rmk: likewise
35247 * conf/sparc64-ieee1275.rmk: likewise
35248 * conf/x86_64-efi.rmk: likewise
35249 * include/grub/i386/pc/biosnum.h: new file
35250 * lib/i386/pc/biosnum.c: likewise
35251 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
35252 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
35253 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 35254
33abf7ae 352552009-06-10 Pavel Roskin <proski@gnu.org>
35256
5ac35b35 35257 * io/gzio.c (test_header): Don't reuse one buffer for all data.
35258 Use separate variables. Read only the file size at the end, but
35259 not the checksum that we don't use.
35260
5c5215d5 35261 * kern/file.c (grub_file_read): Use void pointer for the buffer.
35262 Adjust all callers.
35263
27d5fef7 35264 * kern/ieee1275/openfw.c: Remove libc includes.
35265 * kern/ieee1275/cmain.c: Likewise.
35266 * include/grub/ieee1275/ieee1275.h: Likewise.
35267
33abf7ae 35268 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
35269 compiler warnings.
35270
19d50c2b 352712009-06-10 Felix Zielcke <fzielcke@z-51.de>
35272
35273 * Makefile.in: Remove all trailing whitespace.
35274 * conf/i386-pc.rmk: Likewise.
35275 * conf/powerpc-ieee1275.rmk: Likewise.
35276 * conf/sparc64-ieee1275.rmk: Likewise.
35277 * docs/grub.texi: Likewise.
35278 * docs/texinfo.tex: Likewise.
35279 * disk/fs_uuid.c: Likewise.
35280 * disk/lvm.c: Likewise.
35281 * disk/scsi.c: Likewise.
35282 * disk/ata.c: Likewise.
35283 * disk/ieee1275/ofdisk.c: Likewise.
35284 * disk/i386/pc/biosdisk.c: Likewise.
35285 * disk/host.c: Likewise.
35286 * disk/raid.c: Likewise.
35287 * disk/efi/efidisk.c: Likewise.
35288 * disk/usbms.c: Likewise.
35289 * disk/memdisk.c: Likewise.
35290 * disk/loopback.c: Likewise.
35291 * kern/powerpc/dl.c: Likewise.
35292 * kern/device.c: Likewise.
35293 * kern/dl.c: Likewise.
35294 * kern/sparc64/dl.c: Likewise.
35295 * kern/ieee1275/ieee1275.c: Likewise.
35296 * kern/term.c: Likewise.
35297 * kern/fs.c: Likewise.
35298 * kern/i386/dl.c: Likewise.
35299 * kern/i386/pc/startup.S: Likewise.
35300 * kern/i386/pc/init.c: Likewise.
35301 * kern/i386/pc/mmap.c: Likewise.
35302 * kern/i386/pc/lzo1x.S: Likewise.
35303 * kern/i386/ieee1275/init.c: Likewise.
35304 * kern/i386/realmode.S: Likewise.
35305 * kern/i386/tsc.c: Likewise.
35306 * kern/partition.c: Likewise.
35307 * kern/corecmd.c: Likewise.
35308 * kern/file.c: Likewise.
35309 * kern/efi/efi.c: Likewise.
35310 * kern/efi/init.c: Likewise.
35311 * kern/efi/mm.c: Likewise.
35312 * kern/main.c: Likewise.
35313 * kern/err.c: Likewise.
35314 * kern/env.c: Likewise.
35315 * kern/disk.c: Likewise.
35316 * kern/generic/millisleep.c: Likewise.
35317 * kern/generic/rtc_get_time_ms.c: Likewise.
35318 * kern/misc.c: Likewise.
35319 * kern/parser.c: Likewise.
35320 * genmk.rb: Likewise.
35321 * configure.ac: Likewise.
35322 * boot/i386/pc/diskboot.S: Likewise.
35323 * boot/i386/pc/pxeboot.S: Likewise.
35324 * boot/i386/pc/boot.S: Likewise.
35325 * boot/i386/pc/lnxboot.S: Likewise.
35326 * boot/i386/pc/cdboot.S: Likewise.
35327 * parttool/pcpart.c: Likewise.
35328 * video/readers/tga.c: Likewise.
35329 * video/video.c: Likewise.
35330 * video/bitmap.c: Likewise.
35331 * lib/envblk.c: Likewise.
35332 * lib/i386/setjmp.S: Likewise.
35333 * fs/xfs.c: Likewise.
35334 * fs/afs.c: Likewise.
35335 * fs/fat.c: Likewise.
35336 * fs/ntfs.c: Likewise.
35337 * fs/udf.c: Likewise.
35338 * fs/affs.c: Likewise.
35339 * fs/iso9660.c: Likewise.
35340 * fs/hfs.c: Likewise.
35341 * fs/fshelp.c: Likewise.
35342 * fs/ext2.c: Likewise.
35343 * fs/jfs.c: Likewise.
35344 * fs/reiserfs.c: Likewise.
35345 * fs/hfsplus.c: Likewise.
35346 * fs/minix.c: Likewise.
35347 * fs/cpio.c: Likewise.
35348 * fs/sfs.c: Likewise.
35349 * fs/ufs.c: Likewise.
35350 * efiemu/prepare.c: Likewise.
35351 * efiemu/loadcore_common.c: Likewise.
35352 * efiemu/runtime/efiemu.sh: Likewise.
35353 * efiemu/runtime/efiemu.S: Likewise.
35354 * efiemu/runtime/efiemu.c: Likewise.
35355 * efiemu/pnvram.c: Likewise.
35356 * efiemu/main.c: Likewise.
35357 * efiemu/i386/pc/cfgtables.c: Likewise.
35358 * efiemu/i386/loadcore64.c: Likewise.
35359 * efiemu/i386/loadcore32.c: Likewise.
35360 * efiemu/loadcore.c: Likewise.
35361 * efiemu/symbols.c: Likewise.
35362 * efiemu/mm.c: Likewise.
35363 * include/grub/autoefi.h: Likewise.
35364 * include/grub/datetime.h: Likewise.
35365 * include/grub/term.h: Likewise.
35366 * include/grub/hfs.h: Likewise.
35367 * include/grub/lvm.h: Likewise.
35368 * include/grub/i386/tsc.h: Likewise.
35369 * include/grub/i386/linux.h: Likewise.
35370 * include/grub/i386/xnu.h: Likewise.
35371 * include/grub/i386/efiemu.h: Likewise.
35372 * include/grub/i386/pc/biosdisk.h: Likewise.
35373 * include/grub/i386/pc/memory.h: Likewise.
35374 * include/grub/i386/pc/vbe.h: Likewise.
35375 * include/grub/parttool.h: Likewise.
35376 * include/grub/video.h: Likewise.
35377 * include/grub/memory.h: Likewise.
35378 * include/grub/fs.h: Likewise.
35379 * include/grub/partition.h: Likewise.
35380 * include/grub/xnu.h: Likewise.
35381 * include/grub/efi/api.h: Likewise.
35382 * include/grub/efi/pe32.h: Likewise.
35383 * include/grub/efi/memory.h: Likewise.
35384 * include/grub/multiboot.h: Likewise.
35385 * include/grub/usbdesc.h: Likewise.
35386 * include/grub/multiboot2.h: Likewise.
35387 * include/grub/acpi.h: Likewise.
35388 * include/grub/efiemu/efiemu.h: Likewise.
35389 * include/grub/disk.h: Likewise.
35390 * include/grub/ieee1275/ieee1275.h: Likewise.
35391 * include/grub/net.h: Likewise.
35392 * include/grub/machoload.h: Likewise.
35393 * include/grub/macho.h: Likewise.
35394 * include/multiboot.h: Likewise.
35395 * genmoddep.awk: Likewise.
35396 * normal/main.c: Likewise.
35397 * normal/menu_entry.c: Likewise.
35398 * normal/menu_viewer.c: Likewise.
35399 * normal/completion.c: Likewise.
35400 * normal/cmdline.c: Likewise.
35401 * normal/misc.c: Likewise.
35402 * normal/datetime.c: Likewise.
35403 * bus/usb/usbtrans.c: Likewise.
35404 * bus/usb/ohci.c: Likewise.
35405 * bus/usb/uhci.c: Likewise.
35406 * bus/usb/usb.c: Likewise.
35407 * mmap/efi/mmap.c: Likewise.
35408 * mmap/i386/pc/mmap_helper.S: Likewise.
35409 * mmap/i386/pc/mmap.c: Likewise.
35410 * mmap/i386/mmap.c: Likewise.
35411 * mmap/i386/uppermem.c: Likewise.
35412 * mmap/mmap.c: Likewise.
35413 * commands/acpi.c: Likewise.
35414 * commands/echo.c: Likewise.
35415 * commands/blocklist.c: Likewise.
35416 * commands/loadenv.c: Likewise.
35417 * commands/usbtest.c: Likewise.
35418 * commands/boot.c: Likewise.
35419 * commands/parttool.c: Likewise.
35420 * commands/search.c: Likewise.
35421 * commands/cat.c: Likewise.
35422 * commands/i386/pc/play.c: Likewise.
35423 * commands/i386/pc/drivemap.c: Likewise.
35424 * commands/i386/pc/vbeinfo.c: Likewise.
35425 * commands/i386/pc/acpi.c: Likewise.
35426 * commands/i386/pc/vbetest.c: Likewise.
35427 * commands/ls.c: Likewise.
35428 * commands/cmp.c: Likewise.
35429 * commands/test.c: Likewise.
35430 * commands/efi/acpi.c: Likewise.
35431 * commands/gptsync.c: Likewise.
35432 * commands/help.c: Likewise.
35433 * partmap/amiga.c: Likewise.
35434 * partmap/apple.c: Likewise.
35435 * partmap/acorn.c: Likewise.
35436 * partmap/pc.c: Likewise.
35437 * partmap/sun.c: Likewise.
35438 * partmap/gpt.c: Likewise.
35439 * script/sh/lexer.c: Likewise.
35440 * script/sh/function.c: Likewise.
35441 * font/font.c: Likewise.
35442 * font/font_cmd.c: Likewise.
35443 * loader/powerpc/ieee1275/linux.c: Likewise.
35444 * loader/efi/chainloader.c: Likewise.
35445 * loader/multiboot_loader.c: Likewise.
35446 * loader/macho.c: Likewise.
35447 * loader/i386/multiboot.c: Likewise.
35448 * loader/i386/linux.c: Likewise.
35449 * loader/i386/pc/linux.c: Likewise.
35450 * loader/i386/pc/multiboot2.c: Likewise.
35451 * loader/i386/pc/chainloader.c: Likewise.
35452 * loader/i386/pc/xnu.c: Likewise.
35453 * loader/i386/bsd_trampoline.S: Likewise.
35454 * loader/i386/efi/linux.c: Likewise.
35455 * loader/i386/multiboot_elfxx.c: Likewise.
35456 * loader/i386/bsd_helper.S: Likewise.
35457 * loader/i386/bsd.c: Likewise.
35458 * loader/i386/linux_trampoline.S: Likewise.
35459 * loader/i386/xnu_helper.S: Likewise.
35460 * loader/i386/xnu.c: Likewise.
35461 * loader/i386/bsd_pagetable.c: Likewise.
35462 * loader/i386/multiboot_helper.S: Likewise.
35463 * loader/xnu.c: Likewise.
35464 * loader/xnu_resume.c: Likewise.
35465 * io/gzio.c: Likewise.
35466 * term/efi/console.c: Likewise.
35467 * term/terminfo.c: Likewise.
35468 * term/ieee1275/ofconsole.c: Likewise.
35469 * term/i386/pc/serial.c: Likewise.
35470 * term/i386/pc/vesafb.c: Likewise.
35471 * term/i386/pc/vga.c: Likewise.
35472 * term/usb_keyboard.c: Likewise.
35473 * term/gfxterm.c: Likewise.
35474 * aclocal.m4: Likewise.
35475 * util/lvm.c: Likewise.
35476 * util/grub.d/30_os-prober.in: Likewise.
35477 * util/grub.d/10_hurd.in: Likewise.
35478 * util/console.c: Likewise.
35479 * util/grub-macho2img.c: Likewise.
35480 * util/grub-probe.c: Likewise.
35481 * util/hostfs.c: Likewise.
35482 * util/i386/pc/grub-mkimage.c: Likewise.
35483 * util/i386/pc/grub-setup.c: Likewise.
35484 * util/i386/efi/grub-mkimage.c: Likewise.
35485 * util/grub-mkconfig.in: Likewise.
35486 * util/raid.c: Likewise.
35487 * util/resolve.c: Likewise.
35488 * util/grub-mkdevicemap.c: Likewise.
35489 * util/grub-emu.c: Likewise.
35490 * util/getroot.c: Likewise.
35491 * util/hostdisk.c: Likewise.
35492 * util/usb.c: Likewise.
35493 * util/grub-editenv.c: Likewise.
35494 * util/misc.c: Likewise.
35495
d2d49665 354962009-06-10 Felix Zielcke <fzielcke@z-51.de>
35497
35498 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
35499 `genparttoollist.sh'.
35500 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
35501 Add `*.sh' to the list find searches for and change `mdate.sh'
35502 to `mdate-sh'.
35503
fe052e37 355042009-06-10 Pavel Roskin <proski@gnu.org>
35505
2763ac18 35506 * include/grub/multiboot2.h: Provide compatibility defines for
35507 multiboot2.h.
35508 * include/multiboot2.h: Include stdint.h only if needed, using
35509 angle brackets.
35510 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
35511 grub/multiboot2.h.
35512 * loader/ieee1275/multiboot2.c: Likewise.
35513 * loader/multiboot2.c: Likewise.
35514 * loader/multiboot_loader.c: Likewise.
35515
437e6adc 35516 * configure.ac: Use -nostdlib when probing for the target. It
35517 should not be required to have libc for the target.
35518
06a6836c 35519 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
35520 they fail without libc headers for the target.
35521 * include/grub/powerpc/libgcc.h: Use weak attribute for all
35522 exports.
35523 * include/grub/sparc64/libgcc.h: Likewise. Don't use
35524 preprocessor conditionals.
35525
fe052e37 35526 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
35527 build system doesn't need to be aware of the tar.c internals.
35528
afd22553 355292009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 35530
afd22553 35531 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 35532
6b787c4f 355332009-06-09 Robert Millan <rmh.grub@aybabtu.com>
35534
35535 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
35536 disk limit to 26 for IDE, Virtio, Xen and SCSI.
35537
355382009-06-09 Felix Zielcke <fzielcke@z-51.de>
35539
35540 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 35541 aren't available if ata.mod gets used.
6b787c4f 35542
473d1e45 355432009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 35544
473d1e45 35545 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 35546 initialising controller.
473d1e45 35547 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 35548
255a27d4 355492009-06-08 Felix Zielcke <fzielcke@z-51.de>
35550
35551 * util/i386/pc/grub-install.in: Add a parameter --disk-module
35552 to choose between ata and biosdisk module on i386-pc.
35553
473d1e45 355542009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 35555
d55842d8 35556 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
35557 Subclass and Programming Interface fields in terms of the 3 byte
35558 Class Code register.
35559 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
35560
fa5db0b1 35561 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
35562 interface is OHCI. Add grub_dprintf for symmetry with
35563 bus/usb/uhci.c.
35564 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
35565 interface is UHCI. Add interf variable for programming
35566 interface. Print interface with class/subclass.
35567
c0947beb 35568 * bus/usb/ohci.c: Set interf with correct field.
35569
69da8877 35570 * bus/usb/uhci.c: Remove unneeded doubled lines.
35571 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
35572 Remove whitespace inside comment.
35573
9e172e30 355742009-06-08 Robert Millan <rmh.grub@aybabtu.com>
35575
35576 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
35577 as fallback an equivalent option without depth.
35578
de65ee2b 355792009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
35580
35581 Not fail if unable to retrieve C/H/S on LBA disks
35582
473d1e45 35583 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 35584 if unable to retrieve C/H/S on LBA disks
35585
b57ea2c9 355862009-06-08 Pavel Roskin <proski@gnu.org>
35587
35588 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
35589 about aliasing.
35590
af361263 355912009-06-08 Felix Zielcke <fzielcke@z-51.de>
35592
35593 * Makefile.in (uninstall): Remove all $lib_DATA files.
35594
4c9ec6b3 355952009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
35596
35597 Bugfix: install on partitionless device
35598
35599 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
35600 is a whole disk
35601
e76fc924 356022009-06-08 Felix Zielcke <fzielcke@z-51.de>
35603
35604 * Makefile.in (uninstall): Remove all $include_DATA files.
35605
ba5a0d05 356062009-06-08 Felix Zielcke <fzielcke@z-51.de>
35607
35608 * commands/true.c: New file. Implement the true and false commands.
35609 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
35610 (true_mod_SOURCES): New variable.
35611 (true_mod_CFLAGS): Likewise.
35612 (true_mod_LDFLAGS): Likewise.
35613
c8048e32 356142009-06-05 Colin D Bennett <colin@gibibit.com>
35615
35616 Optimized font character lookup using binary search instead of linear
35617 search. Fonts now are required to have the character index ordered by
35618 code point.
35619
35620 * font/font.c (load_font_index): Verify that fonts have ordered
35621 character indices.
35622 (find_glyph): Use binary search instead of linear search to find a
35623 character in a font.
35624
408305be 356252009-06-05 Michael Scherer <misc@mandriva.org>
35626
35627 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
35628 uses case sensitive btree.
35629 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
35630 only for case insensitive filesystems.
35631
8ee1e0d9 356322009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
35633
35634 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
35635 * conf/common.rmk (search_mod_CFLAGS): likewise
35636
a9966eb1 356372009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35638
473d1e45 35639 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 35640 compensate a compiler bug
35641
9e7100fb 356422009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35643
473d1e45 35644 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 35645 instead of '\b'
473d1e45 35646
ede21d71 356472009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35648
35649 Definitions for creating asm symbols with Apple's CC
35650
35651 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
35652 [APPLE_CC] (VARIABLE): likewise
35653
9dbf7653 356542009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35655
35656 Disable lnxboot.img when compiled
35657 with Apple's CC
35658
35659 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
35660 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
35661 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
35662 [! APPLE_CC] (CODE_LENG): skip
35663 [! APPLE_CC] (setup_sects): likewise
35664 [! APPLE_CC]: skip filling
473d1e45 35665
e93cdc3d 356662009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35667
35668 Address in trampolines based on 32-bit registers when compiled
35669 with Apple's CC
35670
473d1e45 35671 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 35672 for addresses
35673 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
35674
6c688477 356752009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35676
35677 Avoid aliases when compiling with Apple's CC for PCBIOS machine
35678
35679 * kern/misc.c [APPLE_CC] (memcpy): new function
35680 [APPLE_CC] (memmove): likewise
35681 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 35682 (memcpy): define alias conditionally on !APPLE_CC
6c688477 35683 (memset): likewise
35684 (abort): likewise
35685 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
35686 APPLE_CC are defined
35687 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
35688 (grub_assert_fail): make prototype conditional
35689
e37ffc5c 356902009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35691
35692 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
35693
473d1e45 35694 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
35695 grub-macho2img
e37ffc5c 35696 (CLEANFILES): add grub-macho2img
35697 (grub_macho2img_SOURCES): new variable
35698 * kern/i386/pc/startup.S (bss_start): new variable
35699 (bss_end): likewise
35700 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
35701 * util/grub-macho2img.c: new file
35702
cf00df31 357032009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35704
35705 Use objconv when compiling with Apple's CC
35706
35707 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
35708 (efiemu64.o): likewise
35709 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
35710 when compiling with Apple's CC
35711 (efiemu64_s.o): likewise
35712 * configure.ac: check for objconv when compiling with Apple's CC
35713 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 35714
d119a20c 357152009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35716
35717 Define segment as well as section when compiling with
35718 Apple's CC
35719
35720 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
35721 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
35722 (efiemu_convert_pointer): likewise
35723 (efiemu_set_virtual_address_map): likewise
35724 (efiemu_convert_pointer): likewise
35725 (efiemu_getcrc32): likewise
35726 (init_crc32_table): likewise
35727 (reflect): likewise
35728 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
35729 (GRUB_MOD_DEP): likewise
473d1e45 35730
c8600122 357312009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35732
35733 Allow a compilation without -mcmodel=large
35734
35735 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
35736 when compiled without -mcmodel=large
473d1e45 35737 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 35738 without -mcmodel=large
473d1e45 35739 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 35740 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 35741
e8df1d4e 357422009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35743
35744 Remove nested functions in efiemu core
35745
35746 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 35747
cc6c3ac1 357482009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35749
35750 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
35751
35752 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
35753 temporary storage
473d1e45 35754 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
35755 using Apple's CC
cc6c3ac1 35756 (grub_cpu_is_tsc_supported): likewise
35757 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 35758
3e325901 357592009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35760
35761 Absolute addressing through constant with Apple's cc
35762
35763 * kern/i386/pc/startup.S: Define necessary constants
35764 and address through it when using ABS with Apple's CC
35765 * boot/i386/pc/diskboot.S: likewise
35766 * boot/i386/pc/boot.S: likewise
35767 * boot/i386/pc/lnxboot.S: likewise
35768 * boot/i386/pc/cdboot.S: likewise
35769 * mmap/i386/pc/mmap_helper.S: likewise
35770 * commands/i386/pc/drivemap_int13h.S: likewise
35771
2b167a72 357722009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35773
35774 Check if compiler is apple cc
35775
35776 * Makefile.in (ASFLAGS): new variable
35777 (TARGET_ASFLAGS): likewise
35778 (TARGET_MODULE_FORMAT): likewise
35779 (TARGET_APPLE_CC): likewise
35780 (OBJCONV): likewise
35781 (TARGET_IMG_CFLAGS): likewise
35782 (TARGET_CPPFLAGS): add includedir
35783 * configure.ac: call grub_apple_cc and grub_apple_target_cc
35784 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
35785 Check for linker script only if compiler isn't Apple's CC
35786 (TARGET_MODULE_FORMAT): set
35787 (TARGET_APPLE_CC): likewise
35788 (TARGET_ASFLAGS): likewise
35789 (ASFLAGS): likewise
35790 Check for objcopy only if compiler isn't Apple's CC
35791 Check for BSS symbol only if compiler isn't Apple's CC
35792 * genmk.rb: adapt nm options if we use Apple's utils
35793 * aclocal.m4 (grub_apple_cc): new test
35794 (grub_apple_target_cc): likewise
473d1e45 35795
fb14123e 357962009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35797
35798 Simplify sed expressions and improve awk
35799
35800 * Makefile.in (install-local): simplify sed expression
35801 * gencmdlist.sh: likewise
35802 * genmoddep.awk: avoid adding module as a dependency of itself
35803
5b889789 358042009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35805
35806 Add missing start symbols
35807
35808 * boot/i386/pc/boot.S: add start
fb14123e 35809 * boot/i386/pc/pxeboot.S: likewise
473d1e45 35810
fd2bf2e3 358112009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35812
35813 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 35814
35815 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 35816 (relocate_addresses): consider both r_addend and value at offset
35817 (make_mods_section): zerofill modinfo and header
35818 (convert_elf): write prefix here
473d1e45 35819
5389763d 358202009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35821
35822 Use .asciz instead of .string
35823
35824 * i386/pc/diskboot.S: use .asciz instead of .string
35825 * i386/pc/boot.S: likewise
35826 * include/grub/dl.h (GRUB_MOD_DEP): likewise
35827 (GRUB_MOD_NAME): likewise
473d1e45 35828
3eb5ed4e 358292009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35830
35831 gfxpayload support
35832
35833 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
35834 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
35835 (grub_video_setup): remove
35836 (grub_video_set_mode): new prototype
35837 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
35838 (vid_mode): remove
35839 (linux_vesafb_res): compile only on PCBIOS
35840 (grub_linux_boot): support gfxpayload
35841 * loader/i386/pc/xnu.c (video_hook): new function
35842 (grub_xnu_set_video): support gfxpayload
35843 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
35844 (DEFAULT_VIDEO_HEIGHT): likewise
35845 (DEFAULT_VIDEO_FLAGS): likewise
35846 (DEFAULT_VIDEO_MODE): new definition
35847 (video_hook): new function
35848 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 35849 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 35850 loading xnu
35851 * video/video.c (grub_video_setup): removed
473d1e45 35852 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 35853 grub_video_setup
35854
4b0e1143 358552009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35856
35857 Avoid calling biosdisk in drivemap
35858
35859 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
35860 (revparse_biosdisk): likewise
35861 (list_mappings): derive name from id directly
35862 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 35863
fda6cb98 358642009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35865
35866 Script fixes
35867
35868 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
35869 (grub_lexer_param): add tokenonhold
35870 (grub_script_create_cmdline): remove cmdline. All callers updated
35871 (grub_script_function_create): make functionname
35872 grub_script_arg. All callers updated
35873 (grub_script_execute_argument_to_string): new prototype
35874 * kern/parser.c (state_transitions): reorder
35875 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 35876 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 35877 make global
35878 (grub_script_execute_cmdline): use new format
35879 * script/sh/function.c (grub_script_function_create): make functionname
35880 grub_script_arg. All callers updated
473d1e45 35881 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 35882 (grub_script_yylex): remove
35883 (grub_script_yylex2): renamed to ...
35884 (grub_script_yylex): ...renamed
35885 parse the expressions like a${b}c
35886 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
35887 (GRUB_PARSER_TOKEN_VAR): remove
35888 (GRUB_PARSER_TOKEN_NAME): likewise
35889 ("if"): declare as typeless
35890 ("while"): likewise
35891 ("function"): likewise
35892 ("else"): likewise
35893 ("then"): likewise
35894 ("fi"): likewise
35895 (text): remove
35896 (argument): likewise
35897 (script): accept empty scripts and make exit on error
35898 (arguments): use GRUB_PARSER_TOKEN_ARG
35899 (function): likewise
35900 (command): move error handling to script
35901 (menuentry): move grub_script_lexer_ref before
473d1e45 35902 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 35903 argument. All callers updated
35904
f4448a07 359052009-06-04 Robert Millan <rmh.grub@aybabtu.com>
35906
35907 Prevent GRUB from probing floppies during boot.
35908
35909 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
35910 * commands/search.c (options): Add --no-floppy.
35911 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
35912 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
35913 --no-floppy when searching for UUIDs.
35914
2bf5885a 359152009-06-04 Robert Millan <rmh.grub@aybabtu.com>
35916
35917 Simplify the code duplication in commands/search.c.
35918
35919 * commands/search.c (search_label, search_fs_uuid): Merge into ...
35920 (search_fs): ... this. Update all users.
35921
f6fd460a 359222009-06-03 Felix Zielcke <fzielcke@z-51.de>
35923
35924 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
35925
cbb3c83e 359262009-05-28 Pavel Roskin <proski@gnu.org>
35927
57788cfd 35928 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
35929 Remove the original symlink explicitly.
35930
cbb3c83e 35931 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
35932 just one slash. That's how grub_fshelp_find_file() does it.
35933
cd0d5e30 359342009-05-26 Pavel Roskin <proski@gnu.org>
35935
f0f8bbe2 35936 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
35937 to `str'.
35938
cd0d5e30 35939 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
35940 possibly unused.
35941
8c2cab51 359422009-05-25 Christian Franke <franke@computer.org>
35943
35944 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
35945 register.
35946 (grub_atapi_identify): Add wait after drive select.
35947 (grub_ata_identify): Do more strict status register check before
35948 calling grub_atapi_identify (). Suppress error message if status
35949 register is 0x00 after command failure. Add status register
35950 check after PIO read to avoid bogus identify due to stuck DRQ.
35951 Thanks to Pavel Roskin for testing.
35952 (grub_device_initialize): Remove unsafe status register check.
35953 Thanks to 'phcoder' for problem report and patch.
35954 Prevent sign extension in debug message.
35955
230c0ad6 359562009-05-23 Colin D Bennett <colin@gibibit.com>
35957
35958 Cleaned up `include/grub/normal.h'. Grouped prototypes by
35959 definition file, and functions defined in `normal/menu.c' have had
35960 their prototypes moved to `include/grub/menu.h' for consistency.
35961
35962 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
35963 from normal.h.
35964 (grub_menu_get_entry): Likewise.
35965 (grub_menu_get_timeout): Likewise.
35966 (grub_menu_set_timeout): Likewise.
35967 (grub_menu_execute_entry): Likewise.
35968 (grub_menu_execute_with_fallback): Likewise.
35969 (grub_menu_entry_run): Likewise.
35970
35971 * include/grub/normal.h: Re-ordered and grouped function
35972 prototypes by file that the function is defined in.
35973 (grub_menu_execute_callback): Removed; moved to menu.h.
35974 (grub_menu_get_entry): Likewise.
35975 (grub_menu_get_timeout): Likewise.
35976 (grub_menu_set_timeout): Likewise.
35977 (grub_menu_execute_entry): Likewise.
35978 (grub_menu_execute_with_fallback): Likewise.
35979 (grub_menu_entry_run): Likewise.
35980 (grub_menu_addentry): Renamed from this ...
35981 (grub_normal_add_menu_entry): ... to this.
35982
35983 * normal/main.c (grub_menu_addentry): Renamed from this ...
35984 (grub_normal_add_menu_entry): ... to this.
35985
35986 * script/sh/execute.c (grub_script_execute_menuentry): Update
35987 reference to renamed grub_menu_addentry function.
35988
861f03a5 359892009-05-23 Felix Zielcke <fzielcke@z-51.de>
35990
35991 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
35992
96b1619a 359932009-05-22 Pavel Roskin <proski@gnu.org>
35994
bf6a5fb2 35995 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
35996 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
35997 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
35998 compiling for the i386 targets, but not for the utilities.
35999
96b1619a 36000 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
36001 to grub_uint8_t.
36002 (grub_root_drive): Likewise.
36003 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
36004 remove alignment.
36005 (grub_root_drive): Change size to byte.
36006 (grub_start_addr): Remove.
36007 (grub_end_addr): Likewise.
36008 (grub_apm_bios_info): Likewise.
36009
b729776b 360102009-05-21 Felix Zielcke <fzielcke@z-51.de>
36011
36012 * normal/i386: Remove.
36013 * normal/powerpc: Likewise.
36014 * normal/sparc64: Likewise.
36015 * normal/x86_64: Likewise.
36016
0a15ce80 360172009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
36018
36019 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 36020 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 36021 * loader/i386/xnu_helper.S: Likewise
d6da58e6 36022
33db9015 360232009-05-18 Colin D Bennett <colin@gibibit.com>
36024
d6da58e6 36025 Display error messages when parsing a Lua statement fails.
36026 Previously, executing a syntactically invalid statement like
36027 ")foo" or "bar;" would silently fail.
33db9015 36028
36029 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 36030 (grub_lua_parse_line): Improved reporting of Lua parser and
36031 execution errors.
33db9015 36032
46422c89 360332009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
36034
36035 Remove -Werror which causes build to fail on some systems
36036
36037 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
36038 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
36039 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 36040
22f53a96 360412009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
36042
36043 trampoline for linux on 64-bit platform
36044
18f547ad 36045 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
36046 loader/i386/efi/linux_trampoline.S
36047 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 36048 declaration
d6da58e6 36049 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
36050 here
22f53a96 36051 * loader/i386/linux_trampoline.S: moved here
d6da58e6 36052 * loader/i386/efi/linux.c (allocate_pages): reserve space for
36053 trampoline
22f53a96 36054 (jumpvector): removed
36055 (grub_linux_trampoline_start): new declaration
36056 (grub_linux_trampoline_end): likewise
36057 (grub_linux_boot): use trampoline when on 64-bit platform
36058 * loader/i386/linux.c: likewise
36059
cb5a0f40 360602009-05-16 Pavel Roskin <proski@gnu.org>
36061
36062 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
36063 const to avoid a warning.
36064 (grub_lua_setenv): Likewise.
36065 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
36066 lmsg to fix a warning.
36067
334f2c28 360682009-05-16 Felix Zielcke <fzielcke@z-51.de>
36069
36070 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 36071 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
36072 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
36073 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
36074 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
36075 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
36076 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
36077 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 36078
59e5d3ec 360792009-05-16 Felix Zielcke <fzielcke@z-51.de>
36080
36081 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
36082
9d87a1ba 360832009-05-16 Bean <bean123ch@gmail.com>
36084
36085 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
36086 (lua_mod_SOURCES): New variable.
36087 (lua_mod_CFLAGS): Likewise.
36088 (lua_mod_LDFLAGS): Likewise.
36089
36090 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
36091 (setjmp_mod_SOURCES): New variable.
36092 (setjmp_mod_CFLAGS): Likewise.
36093 (setjmp_LDFLAGS): Likewise.
36094
36095 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
36096 (setjmp_mod_SOURCES): New variable.
36097 (setjmp_mod_CFLAGS): Likewise.
36098 (setjmp_LDFLAGS): Likewise.
36099
36100 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
36101 (setjmp_mod_SOURCES): New variable.
36102 (setjmp_mod_CFLAGS): Likewise.
36103 (setjmp_LDFLAGS): Likewise.
36104
36105 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
36106 (setjmp_mod_SOURCES): New variable.
36107 (setjmp_mod_CFLAGS): Likewise.
36108 (setjmp_LDFLAGS): Likewise.
36109
36110 * normal/i386/setjmp.S: Moved from here ...
36111 * lib/i386/setjmp.S: ... Moved here
36112 * normal/x86_64/setjmp.S: Moved from here ...
36113 * lib/x86_64/setjmp.S: ... Moved here
36114 * normal/powerpc/setjmp.S: Moved from here ...
36115 * lib/powerpc/setjmp.S: ... Moved here
36116 * normal/sparc64/setjmp.S: Moved from here ...
36117 * lib/sparc64/setjmp.S: ... Moved here
36118
36119 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
36120 returns_twice in mingw.
36121
36122 * script/lua/grub_lib.c: New file.
36123 * script/lua/grub_lib.h: Likewise.
36124 * script/lua/grub_lua.h: Likewise.
36125 * script/lua/grub_main.c: Likewise.
36126 * script/lua/lapi.c: Likewise.
36127 * script/lua/lapi.h: Likewise.
36128 * script/lua/lauxlib.c: Likewise.
36129 * script/lua/lauxlib.h: Likewise.
36130 * script/lua/lbaselib.c: Likewise.
36131 * script/lua/lcode.c: Likewise.
36132 * script/lua/lcode.h: Likewise.
36133 * script/lua/ldblib.c: Likewise.
36134 * script/lua/ldebug.c: Likewise.
36135 * script/lua/ldebug.h: Likewise.
36136 * script/lua/ldo.c: Likewise.
36137 * script/lua/ldo.h: Likewise.
36138 * script/lua/ldump.c: Likewise.
36139 * script/lua/lfunc.c: Likewise.
36140 * script/lua/lfunc.h: Likewise.
36141 * script/lua/lgc.c: Likewise.
36142 * script/lua/lgc.h: Likewise.
36143 * script/lua/linit.c: Likewise.
36144 * script/lua/liolib.c: Likewise.
36145 * script/lua/llex.c: Likewise.
36146 * script/lua/llex.h: Likewise.
36147 * script/lua/llimits.h: Likewise.
36148 * script/lua/lmathlib.c: Likewise.
36149 * script/lua/lmem.c: Likewise.
36150 * script/lua/lmem.h: Likewise.
36151 * script/lua/loadlib.c: Likewise.
36152 * script/lua/lobject.c: Likewise.
36153 * script/lua/lobject.h: Likewise.
36154 * script/lua/lopcodes.c: Likewise.
36155 * script/lua/lopcodes.h: Likewise.
36156 * script/lua/loslib.c: Likewise.
36157 * script/lua/lparser.c: Likewise.
36158 * script/lua/lparser.h: Likewise.
36159 * script/lua/lstate.c: Likewise.
36160 * script/lua/lstate.h: Likewise.
36161 * script/lua/lstring.c: Likewise.
36162 * script/lua/lstring.h: Likewise.
36163 * script/lua/lstrlib.c: Likewise.
36164 * script/lua/ltable.c: Likewise.
36165 * script/lua/ltable.h: Likewise.
36166 * script/lua/ltablib.c: Likewise.
36167 * script/lua/ltm.c: Likewise.
36168 * script/lua/ltm.h: Likewise.
36169 * script/lua/lua.h: Likewise.
36170 * script/lua/luaconf.h: Likewise.
36171 * script/lua/lualib.h: Likewise.
36172 * script/lua/lundump.c: Likewise.
36173 * script/lua/lundump.h: Likewise.
36174 * script/lua/lvm.c: Likewise.
36175 * script/lua/lvm.h: Likewise.
36176 * script/lua/lzio.c: Likewise.
36177 * script/lua/lzio.h: Likewise.
36178
5e898c9d 361792009-05-16 Bean <bean123ch@gmail.com>
36180
36181 * include/grub/kernel.h (grub_module_header_types): Add type
36182 OBJ_TYPE_CONFIG.
36183
36184 * kern/main.c (grub_load_config): New function.
36185 (grub_main): Call grub_load_config to read boot config.
36186
36187 * grub-mkimage (generate_image): New parameter config_path.
36188 (options): New option --config.
36189 (main): Parse --config option, and pass it to generate_image.
36190
cf353a47 361912009-05-14 Christian Franke <franke@computer.org>
36192
36193 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
36194 This fixes build on Cygwin.
36195
3834887f 361962009-05-14 Pavel Roskin <proski@gnu.org>
36197
36198 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
36199 jump. This saves two bytes, so the typical case of 2 swapped
36200 drives would fit 32 bytes.
36201
8090fc01 362022009-05-13 Pavel Roskin <proski@gnu.org>
36203
ac963883 36204 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
36205 grub_uint32_t to avoid a warning.
36206
8090fc01 36207 * loader/i386/linux.c (allocate_pages): When assigning
36208 real_mode_mem, cast through grub_size_t to fix a warning. The
36209 code already makes sure that the value would fit a pointer.
36210 (grub_linux_setup_video): Cast render_target->data to
36211 grub_size_t to fix a warning.
36212
18f547ad 362132009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 36214
36215 * commands/i386/pc/drivemap.c: New file - implement drivemap
36216 command.
36217 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
36218 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
36219
6f6a8b28 362202009-05-13 Pavel Roskin <proski@gnu.org>
36221
36222 * util/i386/pc/grub-setup.c (setup): Remove unused variable
36223 embedding_area_exists.
36224
15fbf4c4 362252009-05-13 Robert Millan <rmh.grub@aybabtu.com>
36226
36227 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
36228 it easier to understand / work with.
59978c8a 36229 Improve warning messages for cases where there's no embedding area,
36230 or when it is too small (or core.img too large).
15fbf4c4 36231
238e871f 362322009-05-13 Pavel Roskin <proski@gnu.org>
36233
0ab3a9a4 36234 * loader/i386/pc/multiboot2.c: Add necessary includes for
36235 grub_multiboot2_real_boot().
36236
a2c8c5f8 36237 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
36238 PX record is always little-endian. We only need the lower 2
36239 bytes of the mode.
36240
faec96af 36241 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
36242 facilitate code reuse.
36243 (grub_cpio_mount): Use "struct head", not a char buffer. This
36244 fixes a warning reported by gcc 4.4.
36245
238e871f 36246 * kernel/disk.c (grub_disk_read): Use void pointer for the
36247 buffer.
36248 (grub_disk_write): Use const void pointer for the buffer.
36249 Adjust all callers. Remove unnecessary casts.
36250
901d2f0c 362512009-05-10 Robert Millan <rmh.grub@aybabtu.com>
36252
36253 * util/i386/pc/grub-install.in: Update copyright year.
36254
18f547ad 362552009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 36256
36257 gptsync
36258
36259 * commands/gptsync.c: new file
36260 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
36261 (gptsync_mod_SOURCES): new variable
36262 (gptsync_mod_CFLAGS): likewise
36263 (gptsync_mod_LDFLAGS): likewise
18f547ad 36264 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 36265 new definition
36266 (GRUB_PC_PARTITION_TYPE_HFS): likewise
36267 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
36268 * conf/i386-ieee1275.rmk: likewise
36269 * conf/i386-pc.rmk: likewise
36270 * conf/powerpc-ieee1275.rmk: likewise
36271
b4ba690a 362722009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
36273
36274 Fixed grub-emu
36275
36276 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
36277 (grub_dl_ref): likewise
36278
317e1a44 362792009-05-08 Robert Millan <rmh.grub@aybabtu.com>
36280
36281 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
36282 split in two functions (one for msdos and one for gpt).
36283
041b8094 362842009-05-08 Pavel Roskin <proski@gnu.org>
36285
752473c2 36286 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
36287 not modified.
36288
041b8094 36289 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
36290 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
36291 Initialize them with -1. Add sanity check for bad1. Eliminate
36292 nerr variable.
36293
172800ce 362942009-05-08 David S. Miller <davem@davemloft.net>
36295
36296 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
36297
29aa5e81 362982009-05-06 Robert Millan <rmh.grub@aybabtu.com>
36299
36300 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 36301 existence.
29aa5e81 36302
96613b62 363032009-05-05 Felix Zielcke <fzielcke@z-51.de>
36304
36305 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 36306 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 36307
eef73c8a 363082009-05-05 David S. Miller <davem@davemloft.net>
36309
36310 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
36311
119494b5 363122009-05-05 Pavel Roskin <proski@gnu.org>
36313
36314 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
36315 of grub_dl_ref() and grub_dl_unref().
36316 * commands/parttool.c: Remove preprocessor conditionals around
36317 grub_dl_ref() and grub_dl_unref().
36318 * fs/affs.c: Likewise.
36319 * fs/afs.c: Likewise.
36320 * fs/cpio.c: Likewise.
36321 * fs/ext2.c: Likewise.
36322 * fs/fat.c: Likewise.
36323 * fs/hfs.c: Likewise.
36324 * fs/hfsplus.c: Likewise.
36325 * fs/iso9660.c: Likewise.
36326 * fs/jfs.c: Likewise.
36327 * fs/minix.c: Likewise.
36328 * fs/ntfs.c: Likewise.
36329 * fs/reiserfs.c: Likewise.
36330 * fs/sfs.c: Likewise.
36331 * fs/udf.c: Likewise.
36332 * fs/ufs.c: Likewise.
36333 * fs/xfs.c: Likewise.
36334 * include/grub/dl.h: Likewise.
36335 * loader/xnu.c: Likewise.
36336
de5fd76e 363372009-05-04 Pavel Roskin <proski@gnu.org>
36338
36339 * commands/acpi.c: Remove unused variable my_mod.
36340 * partmap/amiga.c: Likewise.
36341 * partmap/apple.c: Likewise.
36342 * partmap/gpt.c: Likewise.
36343 * partmap/pc.c: Likewise.
36344 * partmap/sun.c: Likewise.
36345 * term/gfxterm.c: Likewise.
36346 * term/i386/pc/vesafb.c: Likewise.
36347 * term/i386/pc/vga.c: Likewise.
36348
983598ad 363492009-05-04 David S. Miller <davem@davemloft.net>
36350
36351 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
36352 pointer args to grub_ieee1275_get_property().
36353
8aadec43 36354 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
36355
9554b15e 36356 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
36357 devices, and do not traverse down under controller nodes.
36358
67e23c90 36359 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
36360 (grub_ofdisk_open): Use it to un-escape "," characters.
36361 * kern/disk.c (find_part_sep): New.
36362 (grub_disk_open): Use it to find the first non-escaped ','
36363 character in the disk name.
36364 * util/ieee1275/devicemap.c (escape_of_path): New.
36365 (grub_util_emit_devicemap_entry): Use it.
36366 * util/sparc64/ieee1275/grub-install.in: Update script to
36367 strip partition specifiers properly by not triggering on
36368 '\' escaped ',' characters.
36369
74bfdd2f 363702009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36371
36372 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
36373 to 0x300.
36374 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
36375 resolutions.
36376 (linux_vesafb_modes): Add a lot of additional modes to the list (based
36377 on documentation from Wikipedia).
36378
4241d2b1 363792009-05-04 Pavel Roskin <proski@gnu.org>
36380
36381 * disk/ata.c: Spelling fixes.
36382 * disk/raid.c: Likewise.
36383 * disk/usbms.c: Likewise.
36384 * disk/dmraid_nvidia.c: Likewise.
36385 * kern/ieee1275/openfw.c: Likewise.
36386 * kern/ieee1275/init.c: Likewise.
36387 * kern/ieee1275/cmain.c: Likewise.
36388 * boot/i386/pc/cdboot.S: Likewise.
36389 * video/readers/png.c: Likewise.
36390 * video/i386/pc/vbe.c: Likewise.
36391 * fs/udf.c: Likewise.
36392 * fs/hfs.c: Likewise.
36393 * fs/reiserfs.c: Likewise.
36394 * efiemu/runtime/efiemu.c: Likewise.
36395 * efiemu/main.c: Likewise.
36396 * efiemu/mm.c: Likewise.
36397 * include/grub/elf.h: Likewise.
36398 * include/grub/xnu.h: Likewise.
36399 * include/grub/usbdesc.h: Likewise.
36400 * include/grub/usb.h: Likewise.
36401 * include/grub/script_sh.h: Likewise.
36402 * include/grub/lib/LzmaEnc.h: Likewise.
36403 * include/grub/efiemu/efiemu.h: Likewise.
36404 * include/grub/command.h: Likewise.
36405 * normal/menu.c: Likewise.
36406 * normal/main.c: Likewise.
36407 * normal/datetime.c: Likewise.
36408 * bus/usb/uhci.c: Likewise.
36409 * mmap/i386/uppermem.c: Likewise.
36410 * mmap/mmap.c: Likewise.
36411 * commands/acpi.c: Likewise.
36412 * commands/test.c: Likewise.
36413 * partmap/apple.c: Likewise.
36414 * font/font.c: Likewise.
36415 * loader/sparc64/ieee1275/linux.c: Likewise.
36416 * loader/macho.c: Likewise.
36417 * loader/i386/bsd_trampoline.S: Likewise.
36418 * loader/i386/bsd.c: Likewise.
36419 * loader/xnu.c: Likewise.
36420 * term/i386/pc/vesafb.c: Likewise.
36421 * term/usb_keyboard.c: Likewise.
36422 * util/resolve.c: Likewise.
36423 * util/getroot.c: Likewise.
36424
0cfc0083 364252009-05-04 Felix Zielcke <fzielcke@z-51.de>
36426
36427 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
36428
7c1d00cd 364292009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36430
36431 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
36432 build error.
36433
b01f0548 364342009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36435
36436 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
36437 parameter only available on BIOS.
36438
ecc3eb22 364392009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
36440
36441 Removed wrong semicolon in declaration
36442
36443 * grub/misc.h (grub_dprintf): remove semicolon
36444
112972a9 364452009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36446
36447 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
36448 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
36449 is done by grub_cmd_linux() now).
36450 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
36451 restore video to text mode.
36452 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
36453 indicates lack of "vga=" parameter. "vga=0" is mapped to
36454 `GRUB_LINUX_VID_MODE_NORMAL'.
36455
afd5c115 364562009-05-04 Felix Zielcke <fzielcke@z-51.de>
36457
36458 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
36459 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
36460 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 36461 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 36462 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
36463 `grub_script.tab.c'.
36464
36465 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36466 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36467 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36468 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
36469 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36470
faa517ce 36471 * Makefile.in: Remove duplicated 2008 in Copyright line.
36472
ae0c0bdc 364732009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36474
473d1e45 36475 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 36476 unconditionally.
36477 * include/grub/util/misc.h (grub_util_warn): New declaration.
36478
36479 * util/i386/pc/grub-install.in: Understand --force and pass it down
36480 to grub-setup.
36481
36482 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
36483 down to setup().
36484 (setup): Improve error messages and add warnings when requested to
36485 install in odd layouts. Refuse to install using blocklists unless
36486 --force was set.
36487
18f547ad 364882009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 36489
36490 * disk/raid.c (grub_raid_scan_device): Improve debug message.
36491
6d260daa 364922009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
36493
36494 Updated copyright year
36495
36496 * fs/hfsplus.c: updated copyright year
18f547ad 36497
69f853f8 364982009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
36499
36500 HFS+ UUID
36501
18f547ad 36502 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 36503 in the space previously used by unused3
36504 (grub_hfsplus_uuid): new function
36505 (grub_hfsplus_fs): added uuid field
36506
4c402e73 365072009-05-03 Pavel Roskin <proski@gnu.org>
36508
36509 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
36510 suppress warnings. It's no longer needed.
36511 * disk/host.c: Likewise.
36512 * disk/ata_pthru.c: Likewise.
36513 * disk/loopback.c: Likewise.
36514 * hook/datehook.c: Likewise.
36515 * parttool/pcpart.c: Likewise.
36516 * fs/i386/pc/pxe.c: Likewise.
36517 * fs/ntfscomp.c: Likewise.
36518 * efiemu/main.c: Likewise.
36519 * mmap/mmap.c: Likewise.
36520 * commands/crc.c: Likewise.
36521 * commands/hexdump.c: Likewise.
36522 * commands/hdparm.c: Likewise.
36523 * commands/acpi.c: Likewise.
36524 * commands/echo.c: Likewise.
36525 * commands/minicmd.c: Likewise.
36526 * commands/blocklist.c: Likewise.
36527 * commands/memrw.c: Likewise.
36528 * commands/loadenv.c: Likewise.
36529 * commands/usbtest.c: Likewise.
36530 * commands/lsmmap.c: Likewise.
36531 * commands/boot.c: Likewise.
36532 * commands/parttool.c: Likewise.
36533 * commands/configfile.c: Likewise.
36534 * commands/search.c: Likewise.
36535 * commands/ieee1275/suspend.c: Likewise.
36536 * commands/cat.c: Likewise.
36537 * commands/i386/pc/pxecmd.c: Likewise.
36538 * commands/i386/pc/play.c: Likewise.
36539 * commands/i386/pc/halt.c: Likewise.
36540 * commands/i386/pc/vbeinfo.c: Likewise.
36541 * commands/i386/pc/vbetest.c: Likewise.
36542 * commands/lspci.c: Likewise.
36543 * commands/date.c: Likewise.
36544 * commands/handler.c: Likewise.
36545 * commands/ls.c: Likewise.
36546 * commands/test.c: Likewise.
36547 * commands/cmp.c: Likewise.
36548 * commands/efi/loadbios.c: Likewise.
36549 * commands/efi/fixvideo.c: Likewise.
36550 * commands/halt.c: Likewise.
36551 * commands/help.c: Likewise.
36552 * commands/reboot.c: Likewise.
36553 * hello/hello.c: Likewise.
36554 * script/sh/main.c: Likewise.
36555 * loader/xnu.c: Likewise.
36556 * term/terminfo.c: Likewise.
36557 * term/i386/pc/serial.c: Likewise.
36558 * term/usb_keyboard.c: Likewise.
36559
515b5079 365602009-05-03 David S. Miller <davem@davemloft.net>
36561
36562 * normal/menu.c: Include grub/parser.h
36563
dfc31a22 365642009-05-03 Pavel Roskin <proski@gnu.org>
36565
2fee74f1 36566 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
36567 not char*.
36568 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
36569 Suggested by Javier Martín <lordhabbit@gmail.com>
36570
dfc31a22 36571 * util/i386/pc/grub-mkrescue.in: Allow for the case when
36572 efiemu??.o doesn't exist.
36573 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
36574 copying.
36575
18f547ad 365762009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 36577
36578 FreeBSD 64-bit support
36579
18f547ad 36580 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 36581 and loader/i386/bsd_trampoline.S
36582 (bsd_mod_ASFLAGS): new variable
36583 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
36584 (FREEBSD_MODTYPE_KERNEL64): likewise
36585 (grub_bsd64_trampoline_start): likewise
36586 (grub_bsd64_trampoline_end): likewise
36587 (grub_bsd64_trampoline_selfjump): likewise
36588 (grub_bsd64_trampoline_gdt): likewise
36589 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
36590 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
36591 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
36592 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 36593 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 36594 of "attrib" member
36595 * loader/i386/bsd_pagetable.c: new file
36596 * loader/i386/bsd_trampoline.S: likewise
36597 * loader/i386/bsd.c (ALIGN_QWORD): new macro
36598 (ALIGN_VAR): likewise
36599 (entry_hi): new variable
36600 (kern_end_mdofs): likewise
36601 (is_64bit): likewise
36602 (grub_freebsd_add_meta): use ALIGN_VAR
36603 (grub_e820_mmap): new declaration
36604 (grub_freebsd_add_mmap): new function
36605 (grub_freebsd_add_meta_module): support 64 bit kernels
36606 (grub_freebsd_list_modules): use ALIGN_VAR
36607 (gdt_descriptor): new declaration
36608 (grub_freebsd_boot): support 64 bit kernels
36609 (grub_bsd_elf64_hook): new function
36610 (grub_bsd_load_elf): support elf64
36611
038c5720 366122009-05-03 Bean <bean123ch@gmail.com>
36613
36614 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
36615 after we get the result of if statement.
36616
fc45fb58 366172009-05-03 Bean <bean123ch@gmail.com>
36618
36619 * Makefile.in (enable_efiemu): New variable.
36620
36621 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
36622 set.
36623 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
36624 path.
36625 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
36626 path, add -mno-red-zone option.
36627 (efiemu64_s.o): Likewise.
36628 (efiemu64.o): Use macro $^ for source file.
36629
36630 * configure.ac (--enable-efiemu): New option.
36631
bbee0f2b 366322009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
36633
36634 xnu support
36635
36636 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
36637 (pkglib_MODULES): add xnu.mod
36638 (xnu_mod_SOURCES): new variable
36639 (xnu_mod_CFLAGS): likewise
36640 (xnu_mod_LDFLAGS): likewise
36641 (xnu_mod_ASFLAGS): likewise
36642 * conf/i386-pc.rmk: likewise
36643 * conf/x86_64-efi.rmk: likewise
7dd4a573 36644 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 36645 new declaration
36646 * include/grub/i386/macho.h: new file
36647 * include/grub/i386/xnu.h: likewise
36648 * include/grub/macho.h: likewise
36649 * include/grub/machoload.h: likewise
36650 * include/grub/x86_64/macho.h: likewise
36651 * include/grub/x86_64/xnu.h: likewise
36652 * include/grub/xnu.h: likewise
36653 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
36654 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
36655 * loader/i386/efi/xnu.c: new file
36656 * loader/i386/pc/xnu.c: likewise
36657 * loader/i386/xnu.c: likewise
36658 * loader/i386/xnu_helper.S: likewise
36659 * loader/macho.c: likewise
36660 * loader/xnu.c: likewise
36661 * loader/xnu_resume.c: likewise
36662 * util/grub-dumpdevtree: likewise
36663 * include/grub/i386/pit.h: include grub/err.h
36664 (grub_pit_wait): export
36665 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 36666
5caf964d 366672009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
36668
36669 Efiemu
7dd4a573 36670
5caf964d 36671 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 36672 _linux_efi, linux_efi.
36673 new files in grub-emu
5caf964d 36674 new targets efiemu32.o and efiemu64.o
36675 * loader/linux_normal_efiemu.c: likewise
36676 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 36677 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 36678 files to copy
36679 * include/grub/autoefi.h: new file
7dd4a573 36680 * include/grub/i386/efiemu.h: likewise
5caf964d 36681 * include/grub/i386/pc/efiemu.h: likewise
36682 * include/grub/efi/api.h: add LL suffix when necessary
36683 new definitions relating to tables
36684 * include/grub/efiemu/efiemu.h: new file
36685 * include/grub/efiemu/runtime.h: likewise
36686 * efiemu/prepare.c: likewise
36687 * efiemu/loadcore_common.c: likewise
36688 * efiemu/loadcore64.c: likewise
36689 * efiemu/runtime/efiemu.sh: likewise
36690 * efiemu/runtime/efiemu.S: likewise
36691 * efiemu/runtime/efiemu.c: likewise
36692 * efiemu/runtime/config.h: likewise
36693 * efiemu/prepare32.c: likewise
36694 * efiemu/main.c: likewise
36695 * efiemu/modules/pnvram.c: likewise
36696 * efiemu/modules/i386: likewise
36697 * efiemu/modules/i386/pc: likewise
36698 * efiemu/modules/acpi.c: likewise
36699 * efiemu/i386/pc/cfgtables.c: likewise
36700 * efiemu/i386/loadcore64.c: likewise
36701 * efiemu/i386/loadcore32.c: likewise
36702 * efiemu/prepare64.c: likewise
36703 * efiemu/loadcore.c: likewise
36704 * efiemu/symbols.c: likewise
36705 * efiemu/mm.c: likewise
36706 * efiemu/loadcore32.c: likewise
7dd4a573 36707
367082009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 36709
36710 ACPI spoofing
36711
36712 * commands/acpi.c: new file
36713 * commands/i386/pc/acpi.c: likewise
36714 * commands/efi/acpi.c: likewise
36715 * include/grub/acpi.h: likewise
36716 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
36717 (acpi_mod_SOURCES): new variable
36718 (acpi_mod_CFLAGS): likewise
36719 (acpi_mod_LDFLAGS): likewise
36720 * conf/i386-efi.rmk: likewise
36721 * conf/x86_64-efi.rmk: likewise
36722
7dd4a573 367232009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 36724
36725 Missing part from mmap patch
36726
36727 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
36728 (grub_mmap_unregister)
36729 (grub_mmap_free_and_unregister): use grub_mmap_register
36730
7dd4a573 367312009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 36732
36733 Mmap services
36734
36735 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
36736 * loader/i386/linux.c (find_mmap_size): likewise
36737 (allocate_pages): likewise
36738 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
36739 (grub_fill_multiboot_mmap): likewise
36740 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
36741 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
36742 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
36743 (OPENBSD_MMAP_RESERVED): likewise
36744 * include/grub/i386/pc/memory.h: include grub/memory.h
36745 (grub_lower_mem): removed
36746 (grub_upper_mem): likewise
36747 (GRUB_MACHINE_MEMORY_ACPI): new definition
36748 (GRUB_MACHINE_MEMORY_NVS): likewise
36749 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
36750 (GRUB_MACHINE_MEMORY_HOLE): likewise
36751 (grub_machine_mmap_register): likewise
36752 (grub_machine_mmap_unregister): likewise
36753 (grub_machine_get_upper): likewise
36754 (grub_machine_get_lower): likewise
36755 (grub_machine_get_post64): likewise
36756 * include/grub/i386/efi/memory.h: new file
36757 * include/grub/x86_64/efi/memory.h: likewise
36758 * include/grub/efi/memory.h: likewise
36759 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
36760 (mmap_mod_SOURCES): new variable
36761 (mmap_mod_LDFLAGS): likewise
36762 (mmap_mod_ASFLAGS): likewise
36763 * conf/i386-coreboot.rmk: likewise
36764 * conf/i386-ieee1275.rmk: likewise
36765 * conf/i386-efi.rmk: likewise
36766 * conf/x86_64-efi.rmk: likewise
36767 * include/grub/types.h (UINT_TO_PTR): new macro
36768 (PTR_TO_UINT32): likewise
36769 (PTR_TO_UINT64): likewise
36770 * include/grub/memory.h: new file
36771 * mmap/i386/pc/mmap.c: likewise
36772 * mmap/i386/pc/mmap_helper.S: likewise
36773 * mmap/i386/uppermem.c: likewise
36774 * mmap/mmap.c: likewise
36775 * mmap/efi/mmap.c: likewise
7dd4a573 36776 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 36777 grub_upper_mem
36778 * kern/i386/pc/init.c (grub_lower_mem): removed variable
36779 (grub_upper_mem): likewise
36780 (grub_machine_init): don't use grub_upper_mem,
36781 make grub_lower_mem local
36782 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
36783 grub_mmap_iterate and grub_mmap_get_upper
36784 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
36785
d558e6b5 367862009-05-02 Bean <bean123ch@gmail.com>
36787
36788 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
36789 script/sh/parser.y.
36790 (pkglib_MODULES): Add normal.mod and sh.mod.
36791 (normal_SOURCES): New variable.
36792 (normal_mod_CFLAGS): Likewise.
36793 (normal_mod_LDFLAGS): Likewise.
36794 (sh_mod_SOURCES): Likewise.
36795 (sh_mod_CFLAGS): Likewise.
36796 (sh_mod_LDFLAGS): Likewise.
36797
36798 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
36799 script/sh/lexer.c_DEPENDENCIES.
36800 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
36801 kern/rescue_reader.c and kern/rescue_parser.c.
36802 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
36803 (grub_emu_SOURCES): Change source files.
36804 (pkglib_MODULES): Remove normal.mod.
36805 (normal_SOURCES): Removed.
36806 (normal_mod_CFLAGS): Likewise.
36807 (normal_mod_LDFLAGS): Likewise.
36808 * conf/i386-coreboot.rmk: Likewise.
36809 * conf/i386-efi.rmk: Likewise.
36810 * conf/i386-ieee1276.rmk: Likewise.
36811 * conf/powerpc-ieee1275.rmk: Likewise.
36812 * conf/sparc64-ieee1275.rmk: Likewise.
36813 * conf/x86_64-efi.rmk: Likewise.
36814
36815 * include/grub/command.h (grub_command_execute): New inline function.
36816
36817 * include/grub/menu.h (grub_menu_entry): Removed commands field.
36818
36819 * include/grub/normal.h: Remove <grub/setjmp.h>.
36820 (grub_fs_module_list): Moved to normal/autofs.c.
36821 (grub_exit_env): Removed.
36822 (grub_command_execute): Likewise.
36823 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
36824 parameter script.
36825 (read_command_list): New function declaration.
36826 (read_fs_list): Likewise.
36827
36828 * include/parser.h: Include <grub/reader.h>.
36829 (grub_parser_split_cmdline): Change type of getline parameter.
36830 (grub_parser): New structure.
36831 (grub_parser_class): New variable.
36832 (grub_parser_execute): New function declaration.
36833 (grub_register_rescue_parser): Likewise.
36834 (grub_parser_register): New inline function.
36835 (grub_parser_unregister): Likewise.
36836 (grub_parser_get_current): Likewise.
36837 (grub_parser_set_current): Likewise.
36838
36839 * include/grub/reader.h: New file.
36840 * kern/reader.c: Likewise.
36841 * kern/rescue_parser.c: Likewise.
36842 * kern/rescue_reader.c: Likewise.
36843 * normal/autofs.c: Likewise.
36844 * normal/dyncmd.c: Likewise.
36845
36846 * include/grub/rescue.h: Removed.
36847 * normal/command.h: Likewise.
36848
36849 * include/grub/script.h: Moved to ...
36850 * include/grub/script_sh.h: ... Moved here.
36851 * normal/execute.c: Moved to ...
36852 * script/sh/execute.c: ... Moved here.
36853 * normal/function.c: Moved to ...
36854 * script/sh/function.c: ... Moved here.
36855 * normal/lexer.c: Moved to ...
36856 * script/sh/lexer.c: ... Moved here.
36857 * normal/parser.y: Moved to ...
36858 * script/sh/parser.y: ... Moved here.
36859 * normal/script.c: Moved to ...
36860 * script/sh/script.c: ... Moved here.
36861
36862 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
36863 <grub/reader.h>.
36864 (grub_exit_env): Removed.
36865 (fs_module_list): Moved to normal/autofs.c.
36866 (grub_file_getline): Don't handle comment here.
36867 (free_menu): Skip removed field entry->commands.
36868 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
36869 script parameter.
36870 (read_config_file): Removed nested parameter, change getline function.
36871 (grub_enter_normal_mode): Removed.
36872 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
36873 (read_command_list): Likewise.
36874 (autoload_fs_module): Moved to normal/autofs.c.
36875 (read_fs_list): Likewise.
36876 (reader_nested): New variable.
36877 (grub_normal_execute): Run parser.sh to switch to sh parser.
36878 (grub_cmd_rescue): Removed.
36879 (cmd_normal): Removed.
36880 (grub_cmd_normal): Unregister itself at the beginning. Don't register
36881 rescue command.
36882 (grub_cmdline_run): New function.
36883 (grub_normal_reader_init): Likewise.
36884 (grub_normal_read_line): Likewise.
36885 (grub_env_write_pager): Likewise.
36886 (cmdline): New variable.
36887 (grub_normal_reader): Likewise.
36888 (GRUB_MOD_INIT): Register normal reader and set as current, register
36889 pager hook, register normal command with grub_register_command_prio,
36890 so that it won't show up in command.lst.
36891 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
36892 grub_fs_autoload_hook.
36893
36894 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
36895 (grub_menu_execute_entry): Replace grub_script_execute with
36896 grub_parser_execute, change parameter to grub_command_execute.
36897
36898 * normal/menu_text.c: Remove <grub/script.h>.
36899
36900 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
36901 and <grub/parser.h>.
36902 (run): Change editor_getline to use new parser interface. Change
36903 parameter to grub_command_execute.
36904
36905 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
36906 <grub/reader.h> and <grub/parser.h>.
36907 (grub_load_normal_mode): Execute normal command.
36908 (grub_main): Call grub_register_core_commands,
36909 grub_register_rescue_parser and grub_register_rescue_reader, use
36910 grub_reader_loop to enter input loop.
36911
7dd4a573 36912 * kern/parser.c (grub_parser_split_cmdline): Change type of
36913 getline parameter.
d558e6b5 36914 (grub_parser_class): New variable.
36915 (grub_parser_execute): New function.
36916
36917 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
36918 * loader/multiboot2.c: Likewise.
36919 * loader/sparc64/ieee1275/linux.c: Likewise.
36920
36921 * util/grub-emu.c (read_command_list): New dummy function.
36922
18db813d 369232009-05-02 Robert Millan <rmh.grub@aybabtu.com>
36924
36925 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
36926 count to 16 for CCISS and IDA.
36927
6c67de15 369282009-05-02 Robert Millan <rmh.grub@aybabtu.com>
36929
36930 * normal/menu_text.c (grub_wait_after_message): Print a newline
36931 after waiting for user input.
36932
36933 * loader/i386/linux.c: Include `<grub/normal.h>'.
36934 (grub_cmd_linux): Improve the error message about `ask' mode, by
36935 waiting for user input so it's not missed (we can do this, since
36936 user requested interaction).
36937
d9dc87b0 369382009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
36939
36940 Added missing lst to grub-mkrescue
36941
36942 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
36943 and ${input_dir}/parttool.lst
36944
ac8a2baa 369452009-04-30 David S. Miller <davem@davemloft.net>
36946
ad22a610 36947 * util/hostdisk.c (device_is_wholedisk): New function.
36948 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
36949 zero only if device_is_wholedisk() returns true.
36950
6966215d 36951 * util/hostdisk.c (convert_system_partition_to_system_disk):
36952 Handle virtual disk devices named /dev/vdiskX as found on sparc
36953 and powerpc.
36954
ac8a2baa 36955 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
36956 lettered partition specifier is found, convert to numbered.
36957
979b4fb4 369582009-04-29 David S. Miller <davem@davemloft.net>
36959
e2bf39b2 36960 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
36961 * include/grub/sparc64/ieee1275/memory.h: Likewise.
36962
3c64e104 36963 * normal/command.c: Add missing newline at end of file.
36964
979b4fb4 36965 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
36966 warnings.
36967 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
36968 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
36969 grub_ofdisk_read): Likewise, and deal similarly with the fact that
36970 ihandles have a 32-bit type but need to be stored in a "void *".
36971
136d9f82 369722009-04-28 Pavel Roskin <proski@gnu.org>
36973
9459c306 36974 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
36975 not disk. Adjust all dependencies.
2e08a26a 36976 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 36977 grub_disk_close().
36978
136d9f82 36979 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
36980 parent's partition, don't copy it by reference, as it gets freed
36981 on close.
36982
7dd4a573 369832009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 36984
36985 Preboot hooks support
36986
36987 * commands/boot.c (struct grub_preboot_t): new declaration
36988 (preboots_head): new variable
36989 (preboots_tail): likewise
36990 (grub_loader_register_preboot_hook): new function
36991 (grub_loader_unregister_preboot_hook): likewise
36992 (grub_loader_set): launch preboot hooks
36993 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
36994 (grub_loader_register_preboot_hook): new declaration
36995 (grub_loader_unregister_preboot_hook): likewise
36996
5af922b5 369972009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
36998
36999 Warning fix
37000
7dd4a573 37001 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 37002 calling grub_dprintf
37003
a5562c30 370042009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
37005
37006 Bug and warning fixes
37007
7dd4a573 37008 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 37009 declaration
37010 * commands/test.c (test_parse): fixed bug with file tests and corrected
37011 declaration of find_file
37012
4006f85c 370132009-04-26 Pavel Roskin <proski@gnu.org>
37014
37015 * Makefile.in: Don't install empty manual pages if help2man is
37016 missing. Use help2man option for output, not shell redirection.
37017
5c77c3de 370182009-04-26 David S. Miller <davem@davemloft.net>
37019
37020 * util/grub-mkdevicemap.c (make_device_map): Add missing
37021 NESTED_FUNC_ATTR to process_device().
37022
033b10a8 370232009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
37024
37025 Test command
37026
37027 * commands/test.c: rewritten to use bash-like test
37028
e4343593 370292009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
37030
37031 Parttool autoloading and improvements
37032
7dd4a573 37033 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 37034 (parttool.lst): new target
37035 * genmk.rb: generate parttool-*
37036 (CLEANFILES): add #{parttool}
37037 (PARTTOOLFILES): new variable
37038 * genparttoollist.sh: new file
7dd4a573 37039 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 37040 (grub_pcpart_type): likewise
37041 * commands/parttool.c (helpmsg): new variable
37042 (grub_cmd_parttool): output help if not enough arguments are supplied
37043 autoload modules
37044 (GRUB_MOD_INIT(parttool)): use helpmsg
37045
0d312500 370462009-04-24 David S. Miller <davem@davemloft.net>
37047
7dd4a573 37048 Avoiding opening same device multiple times in device iterator.
0d312500 37049
37050 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 37051 and use it to build a list of partitions in iterate_disk() and
0d312500 37052 iterate_partition().
37053
ac20caff 37054 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
37055 on disk->data.
37056
0dcf7495 37057 * disk/ieee1275/nand.c (grub_nand_iterate): Return
37058 grub_devalias_iterate() result instead of unconditional 0.
37059 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
37060 Also, capture hook return value, either directly or via
37061 grub_children_iterate(), and propagate to caller.
37062 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
37063 grub_children_iterate): Return value is now 'int' instead of
37064 'grub_err_t'.
37065 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
37066 like a proper iterator, stopping when hooks return non-zero.
37067 (grub_devalias_iterate): Likewise.
37068
c8c08833 370692009-04-23 David S. Miller <davem@davemloft.net>
37070
37071 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
37072
f01005a8 370732009-04-22 David S. Miller <davem@davemloft.net>
37074
37075 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
37076 is larger than address_cells, use that value for address_cells too.
37077
4e8269da 37078 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
37079 IEEE1275_MAX_PATH_LEN): Define.
37080 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
37081 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
37082 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
37083 'devtype'. Explicitly NULL terminate devalias expansion.
37084
a1447506 37085 * util/sparc64/ieee1275/misc.c: New file.
37086 * util/sparc64/ieee1275/grub-setup.c: New file.
37087 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
37088 * util/sparc64/ieee1275/grub-mkimage.c: New file.
37089 * util/sparc64/ieee1275/grub-install.in: New file.
37090 * util/ieee1275/ofpath.c: New file.
37091 * util/ieee1275/devicemap.c: New file.
37092 * util/devicemap.c: New file.
37093 * util/deviceiter.c: New file.
37094 * kern/sparc64/ieee1275/init.c: New file.
37095 * include/grub/util/ofpath.h: New file.
37096 * include/grub/util/deviceiter.h: New file.
37097 * util/grub-mkdevicemap.c: Include deviceiter.h.
37098 Implement using grub_util_emit_devicemap_entry and
37099 grub_util_iterate_devices.
37100 * conf/i386-corebook.rmk: Build util/deviceiter.c and
37101 util/devicemap.c into grub-mkdevicemap
37102 * conf/i386-efi.rmk: Likewise.
37103 * conf/i386-ieee1275.rmk: Likewise.
37104 * conf/i386-pc.rmk: Likewise.
37105 * conf/powerpc-ieee1275.rmk: Likewise.
37106 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
37107 images and installation utilities. Build kernel as image
37108 instead of as elf binary. Use common rules as much as possible.
37109
7dd4a573 371102009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 37111
37112 Correct GPT definition
37113
7dd4a573 37114 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 37115 of "attrib" member
37116
c6c5219f 371172009-04-19 Felix Zielcke <fzielcke@z-51.de>
37118
37119 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
37120
0552ff9f 371212009-04-19 David S. Miller <davem@davemloft.net>
37122
37123 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
37124 (grub_rescue_cmd_linux): Rename to...
37125 (grub_cmd_linux): and fix prototype.
37126 (grub_rescue_cmd_initrd): Rename to...
37127 (grub_cmd_initrd): and fix prototype.
37128 (cmd_linux, cmd_initrd): New.
37129 (GRUB_MOD_INIT(linux)): Use grub_register_command().
37130 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
37131
d1a282fc 371322009-04-17 Pavel Roskin <proski@gnu.org>
37133
07c5039f 37134 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
37135 format.
37136 (grub_ohci_transfer): Likewise.
37137
b012002d 37138 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
37139
1bc09c35 37140 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
37141 return without a value. Fix inconsistent indentation.
37142
e0ff9126 37143 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
37144 match struct grub_fs.
37145
d1a282fc 37146 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
37147 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
37148 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
37149 * commands/lspci.c (grub_lspci_iter): Likewise.
37150
a96df3f2 371512009-04-16 Bean <bean123ch@gmail.com>
37152
37153 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
37154 value.
37155
41bb0fe9 371562009-04-15 Pavel Roskin <proski@gnu.org>
37157
37158 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
37159 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
37160 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
37161 definitions.
37162
596c6970 371632009-04-15 Felix Zielcke <fzielcke@z-51.de>
37164
37165 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 37166 that no multiple data or metadata areas are supported and `Unknown
596c6970 37167 metadata header'.
37168
7dd4a573 371692009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 37170
37171 Move loader out of the kernel
37172
37173 * kern/loader.c: moved to ...
37174 * commands/boot.c: ... moved here
37175 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
37176 * commands/boot.c (grub_cmd_boot): moved here. All users updated
37177 * include/grub/kernel.h (grub_machine_fini): export
37178 * include/grub/loader.h (grub_loader_is_loaded): update declaration
37179 (grub_loader_set): likewise
37180 (grub_loader_unset): likewise
37181 (grub_loader_boot): likewise
37182 * conf/common.rmk: new module boot.mod
37183 (pkglib_MODULES): add boot.mod
37184 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
37185 (grub_emu_SOURCES): likewise
37186 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
37187 (grub_emu_SOURCES): likewise
37188 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
37189 (grub_emu_SOURCES): likewise
37190 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
37191 (grub_emu_SOURCES): likewise
37192 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
37193 (grub_emu_SOURCES): likewise
7dd4a573 37194 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
37195 (grub_emu_SOURCES): likewise
0d5d5653 37196 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 37197 (grub_emu_SOURCES): likewise
0d5d5653 37198
7dd4a573 371992009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 37200
37201 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 37202
5999d619 37203 * kern/misc.c (grub_itoa): Removed function
37204 (grub_ltoa): likewise
37205 (grub_vsprintf): use grub_lltoa
37206
7dd4a573 372072009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 37208
37209 Restore grub-emu
37210
37211 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
37212 * conf/i386-coreboot.rmk: likewise
37213 * conf/i386-ieee1275.rmk: likewise
37214 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 37215
20318222 372162009-04-15 Felix Zielcke <fzielcke@z-51.de>
37217
37218 * INSTALL: Add that `./autogen.sh' needs to be run before
37219 `./configure.'.
37220
d05f0df3 372212009-04-14 Bean <bean123ch@gmail.com>
37222
37223 * Makefile.in (pkglib_DATA): Add handler.lst.
37224 (handler.lst): New rule.
37225
37226 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
37227 * conf/i386-coreboot.rmk: Likewise.
37228 * conf/i386-ieee1275.rmk: Likewise.
37229 * conf/i386-efi.rmk: Likewise.
37230 * conf/x86_64-efi.rmk: Likewise.
37231 * conf/powerpc-ieee1275.rmk: Likewise.
37232 * conf/sparc64-ieee1275.rmk: Likewise.
37233
37234 * genhandlerlist.sh: New file.
37235
37236 * genmk.rb: Add rules to generate handler.lst.
37237
37238 * include/grub/normal.h (grub_file_getline): New function definition.
37239 (read_handler_list): Likewise.
37240 (free_handler_list): Likewise.
37241
37242 * include/grub/term.h (grub_term_register_input): Add name parameter
37243 for auto generation of handler.lst.
37244 (grub_term_register_output): Likewise.
37245
37246 * normal/handler.c: New file.
37247
37248 * normal/main.c (get_line): Renamed to grub_file_getline.
37249 (read_config_file): Use the newly renamed grub_file_getline.
37250 (read_command_list): Likewise.
37251 (read_fs_list): Likewise.
37252 (grub_normal_execute): Call read_handler_list to parse handler.lst.
37253 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
37254
37255 * term/efi/console.c (grub_console_init): Add name parameter for auto
37256 generation of handler.lst.
37257 * term/gfxterm.c: Likewise.
37258 * term/i386/pc/at_keyboard.c: Likewise.
37259 * term/i386/pc/console.c: Likewise.
37260 * term/i386/pc/serial.c: Likewise.
37261 * term/i386/pc/vesafb.c: Likewise.
37262 * term/i386/pc/vga.c: Likewise.
37263 * term/i386/pc/vga_text.c: Likewise.
37264 * term/ieee1275/ofconsole.c: Likewise.
37265 * term/usb_keyboard.c: Likewise.
37266
33c846be 372672009-04-14 Bean <bean123ch@gmail.com>
37268
37269 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
37270 properly with null character.
37271
4484e01e 372722009-04-14 Felix Zielcke <fzielcke@z-51.de>
37273
37274 * configure: Remove.
37275 * config.h.in: Likewise.
f93d668e 37276 * stamp-h.in: Likewise.
4484e01e 37277 * DISTLIST: Likewise.
37278 * conf/common.mk: Likewise.
37279 * conf/i386-coreboot.mk: Likewise.
37280 * conf/i386-efi.mk: Likewise.
37281 * conf/i386-ieee1275.mk: Likewise.
37282 * conf/i386.mk: Likewise.
37283 * conf/i386-pc.mk: Likewise.
37284 * conf/powerpc-ieee1275.mk: Likewise.
37285 * conf/sparc64-ieee1275.mk: Likewise.
37286 * conf/x86_64-efi.mk: Likewise.
37287
37288 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
37289 develop on GRUB.
37290
7dd4a573 372912009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 37292 David S. Miller <davem@davemloft.net>
37293
37294 * util/hostdisk.c (make_device_name): Fix buffer length
37295 calculations.
37296
e25b5a8c 372972009-04-14 Felix Zielcke <fzielcke@z-51.de>
37298
37299 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
37300 <sys/param.h> and <sys/sysctl.h>.
37301 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
37302 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
37303 opening the device and reset them afterwards.
37304
1f1f580c 373052009-04-13 Pavel Roskin <proski@gnu.org>
37306
37307 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
37308 Reported by John Stanley <jpsinthemix@verizon.net>
37309
7ebc2d6b 373102009-04-13 Robert Millan <rmh@aybabtu.com>
37311
37312 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 37313 that name for menuentries when appropriate.
7ebc2d6b 37314
d8ba3667 373152009-04-13 Felix Zielcke <fzielcke@z-51.de>
37316
37317 * util/grub.d/10_freebsd.in: Add a missing `fi'.
37318
cba416eb 373192009-04-13 Robert Millan <rmh@aybabtu.com>
37320
37321 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
37322 to Linux, simply abort telling the user it's no longer supported.
37323
a547a745 373242009-04-13 Felix Zielcke <fzielcke@z-51.de>
37325
37326 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 37327 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 37328 `freebsd_loadenv' only when devices.hints exist.
37329
232a769c 373302009-04-13 Pavel Roskin <proski@gnu.org>
37331
37332 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
37333
c3012039 373342009-04-13 Felix Zielcke <fzielcke@z-51.de>
37335
37336 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
37337 partition number.
37338 (grub_drive): Likewise.
37339
234022fe 373402009-04-13 David S. Miller <davem@davemloft.net>
37341
37342 * kern/sparc64/ieee1275/ieee1275.c: New file.
37343 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
37344 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
37345 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
37346 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
37347 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
37348 grub_ieee1275_alloc_physmem): Declare new exported functions.
37349
d8e1836c 37350 * include/grub/sparc64/ieee1275/loader.h: New file.
37351 * include/grub/sparc64/ieee1275/memory.h: Likewise.
37352 * include/grub/sparc64/kernel.h: Likewise.
37353 * loader/sparc64/ieee1275/linux.c: Likewise.
37354
96bd81ec 37355 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
37356 (grub_fstest_SOURCES): Likewise.
37357
6a4737e5 37358 * util/hostdisk.c (make_device_name): Do not make any assumptions
37359 about the length of drive names.
37360
1d7a72fd 37361 * kern/dl.c (grub_dl_load_file): Close file immediately when
37362 we are done using it.
37363
56bc2471 373642009-04-12 David S. Miller <davem@davemloft.net>
37365
37366 * kern/misc.c (grub_ltoa): Fix cast when handling negative
37367 values. Noticed by Pavel Roskin.
37368
df38d0bb 37369 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
37370 target compiler.
7dd4a573 37371
e382e93a 37372 * genmk.rb: Add more flexible image type specification, also
37373 pass --strip-unneeded to objcopy.
37374 * conf/i386-pc.rmk: Use *_FORMAT.
37375 * conf/i386-pc.mk: Rebuilt.
37376
f5dbbca9 37377 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
37378 (OFDISK_HASH_SZ): Define.
37379 (ofdisk_hash): New hash table.
37380 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
37381 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
37382 instead of device phandle which is not unique.
37383
91c88b12 37384 * kern/sparc64/ieee1275/init.c: Delete, replace with...
37385 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
37386 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
37387 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
37388 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
37389 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
37390 GRUB_KERNEL_MACHINE_DATA_END): Define.
37391 (grub_kernel_image_size, grub_total_module_size): Declare.
37392
5b5d4aa5 373932009-04-12 Pavel Roskin <proski@gnu.org>
37394
7dd4a573 37395 * configure.ac: Change the logic when we check for target tools.
37396 Do it when the target is specified and it's different from the
37397 specified value of the host.
5b5d4aa5 37398
c91e1793 373992009-04-11 Felix Zielcke <fzielcke@z-51.de>
37400
37401 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
37402 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
37403 GNU/kFreeBSD. Check if a device is a character device. Use
37404 DIOCGMEDIASIZE to get the size.
37405 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
37406 support for GNU/kFreeBSD.
37407 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
37408 is a character device instead of a block device. Add support for
37409 FreeBSD device names.
37410
37411 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
37412 is a character device instead of a block device.
37413
37414 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
37415 is a character device instead of a block device.
37416
b1ac8644 374172009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
37418
37419 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
37420 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
37421 FreeBSD. Check if a device is a character device. Use
37422 DIOCGMEDIASIZE to get the size.
37423 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
37424 support for FreeBSD.
37425 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
37426 is a character device instead of a block device. Add support for
37427 FreeBSD device names.
37428
37429 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
37430 a character device instead of a block device.
37431 (grub_util_check_char_device): New function.
37432
37433 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
37434 a character device instead of a block device.
37435
37436 * include/grub/util/getroot.h (grub_util_check_char_device): New
37437 prototype.
37438
a3f7515a 374392009-04-11 David S. Miller <davem@davemloft.net>
37440
37441 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
37442 static libgcc.
37443 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
37444 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
37445 function, if present.
37446 (__bswapdi2): Likewise.
37447
0d44993d 37448 * include/grub/sparc64/ieee1275/boot.h: New file.
37449 * boot/sparc64/ieee1275/boot.S: Likewise.
37450 * boot/sparc64/ieee1275/diskboot.S: Likewise.
37451
ed3d2bc2 37452 * kern/misc.c (grub_ltoa): New function.
37453 (grub_vsprintf): Use it to format 'long' integers.
37454
d3bfb59c 374552009-04-10 David S. Miller <davem@davemloft.net>
37456
37457 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
37458 slots are of type grub_ieee1275_cell_t.
37459 (grub_nand_read): Likewise.
37460 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
37461 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
37462 macros are used to compare values in arg/ret block of the call.
37463 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
37464 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
37465 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
37466 grub_ieee1275_instance_to_path, grub_ieee1275_write,
37467 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
37468 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
37469 grub_ieee1275_close, grub_ieee1275_set_property,
37470 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
37471 grub_ieee1275_cell_t.
37472 * kern/ieee1275/openfw.c (grub_map): Likewise.
37473 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
37474 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
37475
450e2238 37476 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
37477 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
37478 (grub_devalias_iterate): Likewise.
37479
7dd4a573 374802009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 37481
37482 UFS improvements
37483
37484 * fs/ufs.c (INODE_NBLOCKS): new definition
37485 (struct grub_ufs_dirent): added fields for non-BSD dirents
37486 (grub_ufs_get_file_block): fixed double indirect handling
37487 (grub_ufs_lookup_symlink): use more robust way to determine whether
37488 symlink is inline
37489 (grub_ufs_find_file): support for non-BSD dirents
37490 (grub_ufs_dir): support for non-BSD dirents
37491
e7e6862a 374922009-04-10 Bean <bean123ch@gnail.com>
37493
37494 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
37495 attribute, otherwise the size would be wrong for i386 platform.
37496
37497 * include/grub/pci.h (grub_pci_read_word): New inline function.
37498 (grub_pci_read_byte): Likewise.
37499 (grub_pci_write): Likewise.
37500 (grub_pci_write_word): Likewise.
37501 (grub_pci_write_byte): Likewise.
37502
37503 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
37504
37505 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
37506 (find_framebuf): Scan pci to locate the frame buffer address.
37507
37508 * commands/efi/fixvideo.c: New file.
37509
37510 * commands/efi/loadbios.c: Likewise.
37511
37512 * commands/memrw.c: Likewise.
37513
37514 * util/grub-dumpbios.in: Likewise.
37515
37516 * conf/common.rmk (grub-dumpbios): New utility.
37517 (pkglib_MODULES): New module memrw.mod.
37518 (memrw_mod_SOURCE): New macro.
37519 (memrw_mod_CFLAGS): Likewise.
37520 (memrw_mod_LDFLAGS): Likewise.
37521
7dd4a573 37522 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 37523 fixvideo.mod.
37524 (loadbios_mod_SOURCE): New macro.
37525 (loadbios_mod_CFLAGS): Likewise.
37526 (loadbios_mod_LDFLAGS): Likewise.
37527 (fixvideo_mod_SOURCE): Likewise.
37528 (fixvideo_mod_CFLAGS): Likewise.
37529 (fixvideo_mod_LDFLAGS): Likewise.
37530
7dd4a573 37531 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 37532 fixvideo.mod.
37533 (loadbios_mod_SOURCE): New macro.
37534 (loadbios_mod_CFLAGS): Likewise.
37535 (loadbios_mod_LDFLAGS): Likewise.
37536 (fixvideo_mod_SOURCE): Likewise.
37537 (fixvideo_mod_CFLAGS): Likewise.
37538 (fixvideo_mod_LDFLAGS): Likewise.
37539
af63ada2 375402009-04-08 Felix Zielcke <fzielcke@z-51.de>
37541
37542 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
37543
c2cdde70 375442009-04-07 David S. Miller <davem@davemloft.net>
37545
37546 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
37547 support for R_SPARC_OLO10 relocations. Fix compile warning for
37548 R_SPARC_WDISP30 case.
ea3f72cf 37549 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 37550
761319cf 375512009-04-06 Pavel Roskin <proski@gnu.org>
37552
1007d1f5 37553 * include/grub/misc.h (ARRAY_SIZE): New macro.
37554 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
37555 New macro.
37556 * loader/i386/linux.c (allocate_pages): Use free_pages().
37557 (grub_linux_unload): Don't use free_pages().
37558 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
37559 wrong index. Treat all other modes as text modes.
37560 (grub_cmd_linux): Initialize vid_mode unconditionally to
37561 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
37562
761319cf 37563 * commands/help.c (print_command_help): Use cmd->prio, not
37564 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
37565
ea761d40 375662009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 37567
ea761d40 37568 Parttool
37569
37570 * parttool/pcpart.c: new file
37571 * commands/parttool.c: likewise
37572 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
37573 (parttool_mod_SOURCES): new variable
37574 (parttool_mod_CFLAGS): likewise
37575 (parttool_mod_LDFLAGS): likewise
37576 (pcpart_mod_SOURCES): likewise
37577 (pcpart_mod_CFLAGS): likewise
37578 (pcpart_mod_LDFLAGS): likewise
7dd4a573 37579 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 37580 and parttool/pcpart.c
37581 * conf/i386-efi.rmk: likewise
37582 * conf/i386-ieee1275.rmk: likewise
37583 * conf/i386-pc.rmk: likewise
37584 * conf/powerpc-ieee1275.rmk: likewise
37585 * conf/sparc64-ieee1275.rmk: likewise
37586 * conf/x86_64-ieee1275.rmk: likewise
37587
05aaebfb 375882009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
37589
37590 Support for mtime and further expandability of dir command
37591
37592 * include/grub/lib/datetime.h: moved to ...
7dd4a573 37593 * include/grub/datetime.h: ... moved here and added
05aaebfb 37594 declaration of grub_unixtime2datetime. All users updated
7dd4a573 37595 * include/grub/fs.h: new syntax for dir and mtime functions in
37596 struct grub_fs
05aaebfb 37597 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
37598 and GRUB_FSHELP_FLAGS_MASK
37599 * commands/ls.c (grub_ls_list_files): Write mtime in long format
37600 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
37601 (grub_ext2_mtime): new function
37602 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
37603 (grub_hfsplus_mtime): new function
37604 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
37605 (GRUB_UFS_ATTR_FILE): likewise
37606 (GRUB_UFS_ATTR_LNK): likewise
37607 (struct grub_ufs_sblock): new fields mtime
37608 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
37609 all users updated
37610 (grub_ufs_dir): mtime support
37611 (grub_ufs_mtime): new function
37612 * fs/affs.c (grub_affs_dir): use new dir syntax
37613 * fs/afs.c (grub_afs_dir): likewise
37614 * fs/cpio.c (grub_cpio_dir): likewise
37615 * fs/fat.c (grub_fat_find_dir): likewise
37616 * fs/hfs.c (grub_hfs_dir): likewise
37617 * fs/iso9660.c (grub_iso9660_dir): likewise
37618 * fs/jfs.c (grub_jfs_dir): likewise
37619 * fs/minix.c (grub_minix_dir): likewise
37620 * fs/ntfs.c (grub_ntfs_dir): likewise
37621 * fs/reiserfs.c (grub_reiserfs_dir): likewise
37622 * fs/sfs.c (grub_sfs_dir): likewise
37623 * fs/xfs.c (grub_xfs_dir): likewise
37624 * util/hostfs.c (grub_hostfs_dir): likewise
37625 * lib/datetime.c: moved to ...
37626 * normal/datetime.c: ... moved here
37627 (grub_unixtime2datetime): new function
37628 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 37629 * normal/completion.c (iterate_dir): use new dir syntax
37630 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 37631 last modification time of a volume
7dd4a573 37632 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 37633 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 37634 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 37635 (normal_mod_SOURCES): likewise
37636 (datetime_mod_SOURCES): Removed lib/datetime.c
37637 * conf/i386-efi.rmk: likewise
7dd4a573 37638 * conf/i386-ieee1275.rmk: likewise
05aaebfb 37639 * conf/i386-pc.rmk: likewise
37640 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 37641 * conf/sparc64-ieee1275.rmk: likewise
37642 * conf/x86_64-efi.rmk: likewise
05aaebfb 37643
8a7e1a14 376442009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
37645
37646 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 37647
37648 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 37649 on grub_fat_find_dir
37650 (grub_fat_find_dir): use grub_fat_iterate_dir
37651 (grub_fat_label): likewise
37652
04186a9c 376532009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
37654
7dd4a573 37655 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 37656 and command.h
37657 remove extraneous kernel_elf_HEADERS
37658
da4c0bb6 376592009-04-04 Bean <bean123ch@gnail.com>
37660
37661 * include/grub/util/misc.h: Add dummy function fsync for mingw.
37662
37663 * util/misc.c: Likewise.
37664
54ad9555 376652009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
37666
37667 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
37668 instead of grub_printf.
37669
7a6bf9f2 376702009-04-03 Robert Millan <rmh@aybabtu.com>
37671
37672 * loader/i386/linux.c (grub_linux_setup_video): Fill
37673 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
37674 values from `mode info' structure instead of hardcoded
37675 values.
37676
3fcc2083 376772009-04-01 Pavel Roskin <proski@gnu.org>
37678
37679 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
37680 unused now.
37681 * genmk.rb: Likewise.
37682 * configure.ac: Likewise.
37683
5ec9740b 376842009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
37685
37686 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
37687 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
37688
5270cec8 376892009-04-01 David S. Miller <davem@davemloft.net>
37690
37691 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 37692 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 37693 (grub_setjmp): Mark with 'returns_twice' attribute.
37694 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
37695 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
37696 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
37697
9c3dd854 376982009-04-01 Robert Millan <rmh@aybabtu.com>
37699
37700 Reapply fix from 2008-07-28 which was accidentally reverted; also
37701 perform the same fix to a similar check in same function.
37702
37703 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
37704 with the same number are found, just use issue a warning with
37705 grub_dprintf(), as this error has been reported to be non-fatal.
37706
0d818b7e 377072009-03-31 Pavel Roskin <proski@gnu.org>
37708
37709 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
37710 for cross-compilation.
37711
95646d92 377122009-03-30 Robert Millan <rmh@aybabtu.com>
37713
37714 Fix i386-ieee1275 build.
37715
37716 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
37717 Remove declaration.
37718
6a003ed1 377192009-03-30 Pavel Roskin <proski@gnu.org>
37720
37721 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
37722 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
37723 zero-terminated, rely only on the strlen value. Fix comparison
37724 of strings differing in length.
37725
92f33540 377262009-03-30 Robert Millan <rmh@aybabtu.com>
37727
37728 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
37729 checking for abi version. Improve error messages on BIOS to notify
37730 user about `linux16' command.
37731
a8c48fd5 377322009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
37733
f968172e 37734 Leak fixes
a8c48fd5 37735
f968172e 37736 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
37737 in case of collision
37738 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 37739
9c323f09 377402009-03-29 Robert Millan <rmh@aybabtu.com>
37741
37742 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
37743 set `vid_mode' accordingly.
37744 (grub_linux_boot): Process `vid_mode' and set video mode.
37745
ae68f423 377462009-03-29 Robert Millan <rmh@aybabtu.com>
37747
37748 * util/grub.d/10_linux.in (linux_entry): New function.
37749 Factorize generation of Linux boot entries.
37750
5709cfc4 377512009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
37752
37753 Make the format of Environment Block plain text. The boot loader
37754 part is not tested well yet.
7dd4a573 37755
5709cfc4 37756 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
37757 (buffer): Removed.
37758 (envblk): Likewise.
37759 (usage): Remove "info" and "clear". Add "unset". Update the
37760 description of "set", as this does not delete variables any
37761 longer.
37762 (create_envblk_file): Complete rewrite.
37763 (open_envblk_file): Likewise.
37764 (cmd_info): Removed.
37765 (cmd_list): Likewise.
37766 (cmd_set): Likewise.
37767 (cmd_clear): Likewise.
37768 (list_variables): New function.
37769 (write_envblk): Likewise.
37770 (set_variables): Likewise.
37771 (unset_variables): Likewise.
37772 (main): Complete rewrite.
37773
37774 * commands/loadenv.c (buffer): Removed.
37775 (envblk): Likewise.
37776 (open_envblk_file): New function.
37777 (read_envblk_file): Complete rewrite.
37778 (grub_cmd_load_env): Likewise.
37779 (grub_cmd_list_env): Likewise.
37780 (struct blocklist): New struct.
37781 (free_blocklists): New function.
37782 (check_blocklists): Likewise.
37783 (write_blocklists): Likewise.
37784 (grub_cmd_save_env): Complete rewrite.
37785
37786 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
37787 a plain text signature.
37788 (GRUB_ENVBLK_MAXLEN): Removed.
37789 (struct grub_envblk): Complete rewrite.
37790 (grub_envblk_find): Removed.
37791 (grub_envblk_insert): Likewise.
37792 (grub_envblk_open): New prototype.
37793 (grub_envblk_set): Likewise.
37794 (grub_envblk_delete): Put const to VALUE.
37795 (grub_envblk_iterate): Put const to NAME and VALUE.
37796 (grub_envblk_close): New prototype.
37797 (grub_envblk_buffer): New inline function.
37798 (grub_envblk_size): Likewise.
37799
37800 * lib/envblk.c: Include grub/mm.h.
37801 (grub_env_find): Removed.
37802 (grub_envblk_open): New function.
37803 (grub_envblk_close): Likewise.
37804 (escaped_value_len): Likewise.
37805 (find_next_line): Likewise.
37806 (grub_envblk_insert): Removed.
37807 (grub_envblk_set): New function.
37808 (grub_envblk_delete): Complete rewrite.
37809 (grub_envblk_iterate): Likewise.
37810
a9368fd3 378112009-03-28 Robert Millan <rmh@aybabtu.com>
37812
37813 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
37814 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
37815 variables. Use 16-bit loader.
37816 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
37817 loader.
37818 * kern/i386/loader.S (grub_linux_boot): Rename to ...
37819 (grub_linux16_boot): ... this. Update all users.
37820 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
37821 (grub_linux_boot): ... this. Update all users.
37822
37823 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
37824 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
37825 commands to `linux16' and `initrd16'.
37826 (GRUB_MOD_FINI(linux)): Rename to ...
37827 (GRUB_MOD_FINI(linux16)): ... this.
37828
e4dd5a7e 378292009-03-24 Pavel Roskin <proski@gnu.org>
37830
37831 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
37832 not just for compilation.
37833
c04d6e05 378342009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
37835
37836 Move multiboot helper out of kernel
37837
37838 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
37839 `loader/i386/multiboot_helper.S'.
37840 * conf/i386-coreboot.rmk: Likewise
37841 * conf/i386-ieee1275.rmk: Likewise
37842
37843 * kern/i386/loader.S: Move multiboot helpers from here...
37844 * loader/i386/multiboot_helper.S: ...moved here
37845 * include/grub/i386/loader.h: Move declarations of multiboot
37846 helpers from here...
37847 * include/grub/i386/multiboot.h: ...moved here
37848 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
37849
42a5b3fc 378502009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
37851
37852 * kern/env.c (grub_env_context_open): Added an argument to specify
37853 whether a new context inherits exported variables from current
37854 one. This is useful when making a sandbox to interpret a config
37855 file.
37856 All callers updated.
37857
37858 * include/grub/env.h (grub_env_context_open): Updated the prototype.
37859
b28bbc4e 378602009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
37861
37862 * kern/env.c (grub_env_context_close): Fix memory leaks.
37863
f04f02e4 378642009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
37865
37866 * normal/main.c (grub_normal_execute): Added an argument
37867 BATCH to specify if an interactive interface should be provided
37868 after reading a config file.
37869 All callers updated.
37870 (read_command_list): Prevent being executed twice.
37871 (read_fs_list): Likewise.
37872
42a5b3fc 37873 * include/grub/normal.h (grub_normal_execute): Updated the
37874 prototype.
f04f02e4 37875
41473ac2 378762009-03-22 Pavel Roskin <proski@gno.org>
37877
fbc00b0c 37878 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
37879 _start.
37880 * kern/i386/pc/startup.S: Likewise.
37881 * kern/i386/efi/startup.S: Likewise.
37882 * kern/i386/ieee1275/startup.S: Likewise.
37883 * kern/i386/coreboot/startup.S: Likewise.
37884 * kern/x86_64/efi/startup.S: Likewise.
37885
41473ac2 37886 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
37887 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
37888 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
37889
2274cc8f 378902009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
37891
37892 Bugfixes in multiboot for bugs uncovered by solaris kernel.
37893
37894 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
37895 limit detection.
37896 Use vaddr of correct segment for entry_point.
37897
b1b797cb 378982009-03-21 Bean <bean123ch@gmail.com>
37899
37900 * commands/blocklist.c: Add include file <grub/command.h>, remove
37901 <grub/normal.h> and <grub/arg.h>.
37902 (grub_cmd_blocklist): Use the new command interface.
37903 (GRUB_MOD_INIT): Likewise.
37904 (GRUB_MOD_FINI): Likewise.
37905 * commands/boot.c: Likewise.
37906 * commands/cat.c: Likewise.
37907 * commands/cmp.c: Likewise.
37908 * commands/configfile.c: Likewise.
37909 * commands/crc.c: Likewise.
37910 * commands/echo.c: Likewise.
37911 * commands/halt.c: Likewise.
37912 * commands/handler.c: Likewise.
37913 * commands/hdparm.c: Likewise.
37914 * commands/help.c: Likewise.
37915 * commands/hexdump.c: Likewise.
37916 * commands/loadenv.c: Likewise.
37917 * commands/ls.c: Likewise.
37918 * commands/lsmmap.c: Likewise.
37919 * commands/lspci.c: Likewise.
37920 * commands/loadenv.c: Likewise.
37921 * commands/read.c: Likewise.
37922 * commands/reboot.c: Likewise.
37923 * commands/search.c: Likewise.
37924 * commands/sleep.c: Likewise.
37925 * commands/test.c: Likewise.
37926 * commands/usbtest.c: Likewise.
37927 * commands/videotest.c: Likewise.
37928 * commands/i386/cpuid.c: Likewise.
37929 * commands/i386/pc/halt.c: Likewise.
37930 * commands/i386/pc/play.c: Likewise.
37931 * commands/i386/pc/pxecmd.c: Likewise.
37932 * commands/i386/pc/vbeinfo.c: Likewise.
37933 * commands/i386/pc/vbetest.c: Likewise.
37934 * commands/ieee1275/suspend.c: Likewise.
37935 * disk/loopback.c: Likewise.
37936 * font/font_cmd.c: Likewise.
37937 * hello/hello.c: Likewise.
37938 * loader/efi/appleloader.c: Likewise.
37939 * loader/efi/chainloader.c: Likewise.
37940 * loader/i386/bsd.c: Likewise.
37941 * loader/i386/efi/linux.c: Likewise.
37942 * loader/i386/ieee1275/linux.c: Likewise.
37943 * loader/i386/linux.c: Likewise.
37944 * loader/i386/pc/chainloader.c: Likewise.
37945 * loader/i386/pc/linux.c: Likewise.
37946 * loader/powerpc/ieee1275/linux.c: Likewise.
37947 * loader/multiboot_loader.c: Likewise.
37948 * term/gfxterm.c: Likewise.
37949 * term/i386/pc/serial.c: Likewise.
37950 * term/terminfo.c: Likewise.
37951
37952 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
37953 * term/i386/pc/vga.c: Likewise.
37954 * video/readers/jpeg.c: Likewise.
37955 * video/readers/png.c: Likewise.
37956 * video/readers/tga.c: Likewise.
37957
37958 * util/grub-fstest (cmd_loopback): Removed.
37959 (cmd_blocklist): Likewise.
37960 (cmd_ls): Likewise.
37961 (grub_register_command): Likewise.
37962 (grub_unregister_command): Likewise.
37963 (execute_command): Use grub_command_find to locate command and execute
37964 it.
37965
37966 * include/grub/efi/chainloader.h: Removed.
37967 * loader/efi/chainloader_normal.c: Likewise.
37968 * loader/i386/bsd_normal.c: Likewise.
37969 * loader/i386/pc/chainloader_normal.c: Likewise.
37970 * loader/i386/pc/multiboot_normal.c: Likewise.
37971 * loader/linux_normal.c: Likewise.
37972 * loader/multiboot_loader_normal.c: Likewise.
37973 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
37974
37975 * gencmdlist.sh: Scan new registration command grub_register_extcmd
37976 and grub_register_command_p1.
37977
37978 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
37979 kern/command.c, lib/arg.c and commands/extcmd.c.
37980 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
37981 (minicmd_mod_SOURCES): New variable.
37982 (minicmd_mod_CFLAGS): Likewise.
37983 (minicmd_mod_LDFLAGS): Likewise.
37984 (extcmd_mod_SOURCES): Likewise.
37985 (extcmd_mod_CFLAGS): Likewise.
37986 (extcmd_mod_LDFLAGS): Likewise.
37987 (boot_mod_SOURCES): Removed.
37988 (boot_mod_CFLAGS): Likewise.
37989 (boot_mod_LDFLAGS): Likewise.
37990
37991 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
37992 kern/corecmd.c.
37993 (kernel_img_HEADERS): Add command.h.
37994 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
37995 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
37996 and lib/arg.c.
37997 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
37998 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
37999 remove the corresponding normal mode command.
38000 (normal_mod_SOURCES): Remove normal/arg.c.
38001 * conf/i386-coreboot.rmk: Likewise.
38002 * conf/i386-efi.rmk: Likewise.
38003 * conf/i386-ieee1275.rmk: Likewise.
38004 * conf/powerpc-ieee1275.rmk: Likewise.
38005 * conf/x86_64-efi.rmk: Likewise.
38006
38007 * include/grub/arg.h: Move from here ...
38008 * include/grub/lib/arg.h: ... to here.
38009
38010 * normal/arg.c: Move from here ...
38011 * lib/arg.c: ... to here.
38012
38013 * commands/extcmd.c: New file.
38014 * commands/minicmd.c: Likewise.
38015 * include/grub/command.h: Likewise.
38016 * include/grub/extcmd.h: Likewise.
38017 * kern/command.c: Likewise.
38018 * kern/corecmd.c: Likewise.
38019
38020 * kern/list.c (grub_list_iterate): Return int instead of void.
38021 (grub_list_insert): New function.
38022 (grub_prio_list_insert): Likewise.
38023
38024 * kern/rescue.c (grub_rescue_command): Removed.
38025 (grub_rescue_command_list): Likewise.
38026 (grub_rescue_register_command): Likewise.
38027 (grub_rescue_unregister_command): Likewise.
38028 (grub_rescue_cmd_boot): Move to minicmd.c
38029 (grub_rescue_cmd_help): Likewise.
38030 (grub_rescue_cmd_info): Likewise.
38031 (grub_rescue_cmd_boot): Likewise.
38032 (grub_rescue_cmd_testload): Likewise.
38033 (grub_rescue_cmd_dump): Likewise.
38034 (grub_rescue_cmd_rmmod): Likewise.
38035 (grub_rescue_cmd_lsmod): Likewise.
38036 (grub_rescue_cmd_exit): Likewise.
38037 (grub_rescue_print_devices): Moved to corecmd.c.
38038 (grub_rescue_print_files): Likewise.
38039 (grub_rescue_cmd_ls): Likewise.
38040 (grub_rescue_cmd_insmod): Likewise.
38041 (grub_rescue_cmd_set): Likewise.
38042 (grub_rescue_cmd_unset): Likewise.
7d074e3c 38043 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 38044 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 38045 commands, remove grub_rescue_register_command calls.
b1b797cb 38046
7d074e3c 38047 * normal/command.c (grub_register_command): Removed.
b1b797cb 38048 (grub_unregister_command): Likewise.
38049 (grub_command_find): Likewise.
38050 (grub_iterate_commands): Likewise.
38051 (rescue_command): Likewise.
38052 (export_command): Moved to corecmd.c.
38053 (set_command): Removed.
38054 (unset_command): Likewise.
38055 (insmod_command): Likewise.
38056 (rmmod_command): Likewise.
38057 (lsmod_command): Likewise.
38058 (grub_command_init): Likewise.
38059
38060 * normal/completion.c (iterate_command): Use cmd->prio to check for
38061 active command.
38062 (complete_arguments): Use grub_extcmd_t structure to find options.
38063 (grub_normal_do_completion): Change function grub_iterate_commands to
38064 grub_command_iterate.
38065
38066 * normal/execute.c (grub_script_execute_cmd): No need to parse
38067 argument here.
38068
38069 * normal/main.c (grub_dyncmd_dispatcher): New function.
38070 (read_command_list): Register unload commands as dyncmd.
38071 (grub_cmd_normal): Use new command interface, register rescue,
38072 unregister normal at entry, register normal, unregister rescue at exit.
38073
38074 * include/grub/list.h (grub_list_test_t): New type.
38075 (grub_list_iterate): Return int instead of void.
38076 (grub_list_insert): New function.
38077 (GRUB_AS_NAMED_LIST_P): New macro.
38078 (GRUB_AS_PRIO_LIST): Likewise.
38079 (GRUB_AS_PRIO_LIST_P): Likewise.
38080 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
38081 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
38082 (grub_prio_list): New structure.
38083 (grub_prio_list_insert): New function.
38084 (grub_prio_list_remove): New inline function.
38085
38086 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
38087 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
38088 (GRUB_COMMAND_FLAG_MENU): Likewise.
38089 (GRUB_COMMAND_FLAG_BOTH): Likewise.
38090 (GRUB_COMMAND_FLAG_TITLE): Likewise.
38091 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
38092 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
38093 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
38094 (grub_command): Likewise.
38095 (grub_register_command): Likewise.
38096 (grub_command_find): Likewise.
38097 (grub_iterate_commands): Likewise.
38098 (grub_command_init): Likewise.
38099 (grub_arg_parse): Likewise.
38100 (grub_arg_show_help): Likewise.
38101
38102 * include/grub/rescue.h (grub_rescue_register_command): Removed.
38103 (grub_rescue_unregister_command): Likewise.
38104
38105 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
38106 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
38107 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
38108
38109 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
38110 grub_rescue_cmd_initrd.
38111 * include/grub/i386/loader.h: Likewise.
38112 * include/grub/x86_64/loader.h: Likewise.
38113
38114 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
38115
1f4147aa 381162009-03-21 Bean <bean123ch@gmail.com>
38117
38118 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
38119 instead of stat in mingw environment.
38120
38121 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
38122
38123 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
38124
38125 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
38126 AC_CONFIG_LINKS.
38127
2156d5ba 381282009-03-21 Bean <bean123ch@gmail.com>
38129
38130 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
38131 out of range error.
38132
177b82ca 381332009-03-18 Michel Dänzer <michel@daenzer.net>
38134
38135 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
38136 checking inode flags for EXT4_EXTENTS_FLAG.
38137
14aad807 381382009-03-18 Robert Millan <rmh@aybabtu.com>
38139
38140 * loader/i386/linux.c: Include `<grub/video.h>' and
38141 `<grub/i386/pc/vbe.h>'..
38142 (grub_linux_setup_video): New function. Loosely based on the EFI one.
38143 (grub_linux32_boot): Attempt to configure video settings with
38144 grub_linux_setup_video().
38145 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
38146 to avoid grub_console_fini() which would step out of graphical mode
38147 unconditionally.
38148
8cf83a27 381492009-03-14 Robert Millan <rmh@aybabtu.com>
38150
38151 Fix build on powerpc.
38152 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
38153
40164e75 381542009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
38155
38156 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
38157 background image command.
38158
c58bc32a 381592009-03-12 Colin D Bennett <colin@gibibit.com>
38160
38161 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
38162 (grub_gfxterm_putchar): Extract pairs of identical calls to
38163 draw_cursor out of conditional blocks.
38164
5415144a 381652009-03-11 Pavel Roskin <proski@gnu.org>
38166
38167 * fs/hfs.c (grub_hfs_strncasecmp): New function.
38168 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
38169
6394042e 381702009-03-11 Robert Millan <rmh@aybabtu.com>
38171
38172 * loader/i386/multiboot_elfxx.c
38173 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
38174
b7b50e5f 381752009-03-11 Felix Zielcke <fzielcke@z-51.de>
38176
38177 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
38178 `kern/handler.c'.
38179
1ca7fc96 381802009-03-11 Robert Millan <rmh@aybabtu.com>
38181
38182 * loader/i386/multiboot.c (code_size): New variable.
38183 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 38184 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 38185 4-byte alignment to MBI and others by increasing
7d074e3c 38186 `boot_loader_name_length' appropriately.
1ca7fc96 38187
38188 * loader/i386/multiboot_elfxx.c
38189 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
38190
a83ea1d2 381912009-03-09 Felix Zielcke <fzielcke@z-51.de>
38192
38193 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
38194 `fs/ext2.c'.
38195
aa9f3bff 381962009-03-08 Robert Millan <rmh@aybabtu.com>
38197
38198 Make loader/i386/linux.c usable on i386-pc again.
38199
38200 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
38201 memory to heap.
38202 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
38203 `#error' stanza.
38204
d8b3b60e 382052009-03-07 Bean <bean123ch@gmail.com>
38206
38207 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
38208 allocation.
38209
b362c9e9 382102009-03-06 Robert Millan <rmh@aybabtu.com>
38211
38212 Fix display issue on terminals with screen size other than 80x25
38213 (e.g. gfxterm with resolution higher than 640x480).
38214
38215 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 38216 position relative to the center of the terminal instead of relying
b362c9e9 38217 on a hardcoded offset.
38218
9304eef1 382192009-03-04 Robert Millan <rmh@aybabtu.com>
38220
38221 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
38222 installed.
38223
38224 * Makefile.in (host_kernel): New variable.
38225 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
38226 scripts instead of just the windows one.
38227 * configure.ac: Initialize and AC_SUBST `host_kernel'.
38228
eabc95fb 382292009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 38230
38231 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
38232 `kern/handler.c'.
38233 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38234 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38235 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
38236 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38237 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38238 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38239
ceb1223c 382402009-03-04 Felix Zielcke <fzielcke@z-51.de>
38241
38242 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
38243 or if there's no space for the disk label and print the partition number on a
38244 invalid magic.
38245
4910684a 382462009-03-04 Felix Zielcke <fzielcke@z-51.de>
38247
38248 * util/misc.c: Include <time.h>.
38249 (grub_millisleep): New function.
38250
7e9ca17a 382512009-03-04 Bean <bean123ch@gmail.com>
38252
38253 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
38254 another option -mno-red-zone.
38255
38256 * commands/handler.c: Change module description.
38257
38258 * kern/handler.c: Add missing space at the end of description line.
38259
38260 * kern/list.c: Likewise.
38261
f501677c 382622009-03-03 Robert Millan <rmh@aybabtu.com>
38263
38264 Move more components to the relocation area, and fix mbi pointer
38265 handling to use the destination rather than the origin (thanks to
38266 Vladimir Serbinenko for spotting).
38267
38268 * loader/i386/multiboot.c (mbi_dest): New variable.
38269 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
38270 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
38271 relocation area.
38272
9902d047 382732009-03-01 Bean <bean123ch@gmail.com>
38274
50fb7002 38275 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 38276 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
38277 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
38278 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
38279
38280 * loader/i386/efi/linux.c (acpi_guid): New variable.
38281 (acpi_guid): Likewise.
38282 (EBDA_SEG_ADDR): New constant.
38283 (LOW_MEM_ADDR): Likewise.
38284 (FAKE_EBDA_SEG): Likewise.
38285 (fake_bios_data): New function.
38286 (grub_linux_boot): Call fake_bios_data.
38287
71b9f361 382882009-03-01 Bean <bean123ch@gmail.com>
38289
38290 * commands/terminal.c: Removed.
38291
38292 * commands/handler.c: New file.
38293
38294 * include/grub/list.h: Likewise.
38295
38296 * include/grub/handler.h: Likewise.
38297
38298 * kern/list.c: Likewise.
38299
38300 * kern/handler.c: Likewise.
38301
38302 * kern/term.h: Include header file <grub/handler.h>.
38303 (grub_term_input): Move next field to the beginning.
38304 (grub_term_output): Likewise.
38305 (grub_term_input_class): New variable.
38306 (grub_term_output_class): Likewise.
38307 (grub_term_register_input): Changed to inline function.
38308 (grub_term_register_output): Likewise.
38309 (grub_term_unregister_input): Likewise.
38310 (grub_term_unregister_output): Likewise.
38311 (grub_term_set_current_input): Likewise.
38312 (grub_term_set_current_output): Likewise.
38313 (grub_term_get_current_input): Likewise.
38314 (grub_term_get_current_output): Likewise.
38315 (grub_term_iterate_input): Removed.
38316 (grub_term_iterate_output): Likewise.
38317
38318 * kern/term.c (grub_term_list_input): Removed.
38319 (grub_term_list_output): Likewise.
38320 (grub_term_input_class): New variable.
38321 (grub_term_output_class): Likewise.
50fb7002 38322 (grub_cur_term_input): Change variable as macro.
71b9f361 38323 (grub_cur_term_output): Likewise.
38324 (grub_term_register_input): Removed.
38325 (grub_term_register_output): Likewise.
38326 (grub_term_unregister_input): Likewise.
38327 (grub_term_unregister_output): Likewise.
38328 (grub_term_set_current_input): Likewise.
38329 (grub_term_set_current_output): Likewise.
38330 (grub_term_iterate_input): Likewise.
38331 (grub_term_iterate_output): Likewise.
38332 (grub_term_get_current_input): Likewise.
38333 (grub_term_get_current_output): Likewise.
38334
38335 * util/grub-editenv.c: Include header file <grub/handler.h>.
38336 (grub_term_get_current_input): Removed.
38337 (grub_term_get_current_output): Likewise.
38338 (grub_term_input_class): New variable.
50fb7002 38339 (grub_term_output_class): Likewise.
71b9f361 38340
38341 * util/grub-fstest.c (grub_term_get_current_input): Removed.
38342 (grub_term_get_current_output): Likewise.
38343 (grub_term_input_class): New variable.
50fb7002 38344 (grub_term_output_class): Likewise.
71b9f361 38345
38346 * util/grub-probe.c (grub_term_get_current_input): Removed.
38347 (grub_term_get_current_output): Likewise.
38348 (grub_term_input_class): New variable.
50fb7002 38349 (grub_term_output_class): Likewise.
71b9f361 38350
38351 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
38352 (grub_term_get_current_output): Likewise.
38353 (grub_term_input_class): New variable.
50fb7002 38354 (grub_term_output_class): Likewise.
71b9f361 38355
38356 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
38357 (terminal_mod_SOURCES): Likewise.
38358 (terminal_mod_CFLAGS): Likewise.
38359 (terminal_mod_LDFLAGS): Likewise.
38360
38361 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
38362 handler.c.
38363 (kernel_img_SOURCES): Add list.c and handler.c.
38364 (kernel_img_HEADERS): Add list.h and handler.h.
38365
38366 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
38367 handler.c.
38368 (kernel_mod_SOURCES): Add list.c and handler.c.
38369 (kernel_mod_HEADERS): Add list.h and handler.h.
38370
38371 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
38372 handler.c.
38373 (kernel_elf_SOURCES): Add list.c and handler.c.
38374 (kernel_elf_HEADERS): Add list.h and handler.h.
38375
38376 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
38377 handler.c.
38378 (kernel_elf_SOURCES): Add list.c and handler.c.
38379 (kernel_elf_HEADERS): Add list.h and handler.h.
38380
38381 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
38382 handler.c.
38383 (kernel_mod_SOURCES): Add list.c and handler.c.
38384 (kernel_mod_HEADERS): Add list.h and handler.h.
38385
38386 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
38387 handler.c.
38388 (kernel_elf_SOURCES): Add list.c and handler.c.
38389 (kernel_elf_HEADERS): Add list.h and handler.h.
38390
8a31787f 383912009-02-27 Robert Millan <rmh@aybabtu.com>
38392
38393 Factorize elf32 / elf64 code in Multiboot loader. This will
38394 prevent it from getting out of sync again.
38395
38396 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
38397 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
38398 grub_multiboot_load_elf64): Move from here ...
38399 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
38400 grub_multiboot_load_elf): ... to here (new file).
38401
51cd3dfc 384022009-02-27 Robert Millan <rmh@aybabtu.com>
38403
38404 * util/grub.d/10_linux.in: Rename "single-user mode" to
38405 "recovery mode".
38406
6e8c9c3a 384072009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
38408
38409 Don't leak in SCSI code.
38410 * disk/scsi.c (grub_scsi_close): free `scsi'.
38411
4b6bf4f9 384122009-02-27 Robert Millan <rmh@aybabtu.com>
38413
38414 * loader/i386/pc/multiboot.c: Move from here ...
38415 * loader/i386/multiboot.c: ... to here. Update all users.
38416
b9413424 384172009-02-27 Robert Millan <rmh@aybabtu.com>
38418
38419 Patch from Alexandre Bique <bique.alexandre@gmail.com>
38420 * util/i386/pc/grub-setup.c (setup): Fix directory path.
38421
50fb7002 384222009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 38423
38424 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
38425 b-tree.
38426
8cc50345 384272009-02-27 Robert Millan <rmh@aybabtu.com>
38428
38429 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
38430 `0x' qualifier as 0 when base is specified as parameter).
38431
6e09b8b7 384322009-02-24 Bean <bean123ch@gmail.com>
38433
38434 * configure.ac: Check for -mcmodel=large in x86_64 target.
38435
38436 * include/grub/efi/api.h (efi_call_10): New macro.
38437 (efi_wrap_10): New function.
38438
38439 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
38440 (GRUB_PE32_REL_BASED_HIGH): Likewise.
38441 (GRUB_PE32_REL_BASED_LOW): Likewise.
38442 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
38443 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
38444 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
38445 (GRUB_PE32_REL_BASED_SECTION): Likewise.
38446 (GRUB_PE32_REL_BASED_REL): Likewise.
38447 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
38448 (GRUB_PE32_REL_BASED_DIR64): Likewise.
38449 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
38450
38451 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
38452 issue.
38453
38454 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
38455 (efi_wrap_10): New function.
38456
38457 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
38458
38459 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
38460 MB/MBP model (NV chipset).
38461 (devdata_devs): Add devpath_5 to the list.
38462
38463 * load/i386/efi/linux.c (video_base): Remove variable.
38464 (RGB_MASK): New macro.
38465 (RGB_MAGIC): Likewise.
38466 (LINE_MIN): Likewise.
38467 (LINE_MAX): Likewise.
38468 (FBTEST_STEP): Likewise.
38469 (FBTEST_COUNT): Likewise.
38470 (fb_list): New variable.
38471 (grub_find_video_card): Remove function.
38472 (find_framebuf): New function.
38473 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
38474 line length.
38475
38476 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
38477 problem for x86_64.
38478
74b21bee 384792009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
38480
38481 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
38482
38483 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
38484 coding tool name.
38485
a455f472 384862009-02-22 Robert Millan <rmh@aybabtu.com>
38487
38488 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
38489 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
38490 in our relocation, instead of using it directly from heap. Also
38491 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
38492
6374daf3 384932009-02-21 Robert Millan <rmh@aybabtu.com>
38494
38495 Implement USB keyboard support (based on patch by Marco Gerards)
38496
38497 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
38498 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
38499 (usb_keyboard_mod_LDFLAGS): New variables.
38500
38501 * term/usb_keyboard.c: New file.
38502
8fa4ea70 385032009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
38504
38505 Corrected wrong declaration
38506
38507 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
38508
353976ac 385092009-02-14 Christian Franke <franke@computer.org>
38510
38511 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
38512 (grub_lspci_iter): Print class code and programming interface byte.
38513
6aa1169b 385142009-02-14 Christian Franke <franke@computer.org>
38515
38516 * gendistlist.sh: Ignore `.svn' directories.
38517
265372ca 385182009-02-14 Felix Zielcke <fzielcke@z-51.de>
38519
38520 * fs/fat.c: Add 2009 to Copyright line.
38521
9ff516f3 385222009-02-14 Christian Franke <franke@computer.org>
38523
38524 * commands/hdparm.c: New file. Provides `hdparm' command
38525 which sends ATA commands via grub_disk_ata_pass_through ().
38526
38527 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
38528
38529 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
38530 and <grub/cpu/io.h> to include/grub/ata.h.
38531 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
38532 (GRUB_CDROM_SECTOR_SIZE): Remove.
38533 (GRUB_ATA_*): Move to include/grub/ata.h.
38534 (GRUB_ATAPI_*): Likewise.
38535 (enum grub_ata_commands): Likewise.
38536 (enum grub_ata_timeout_milliseconds): Likewise.
38537 (struct grub_ata_device): Likewise.
38538 (grub_ata_regset): Likewise.
38539 (grub_ata_regget): Likewise.
38540 (grub_ata_regset2): Likewise.
38541 (grub_ata_regget2): Likewise.
38542 (grub_ata_check_ready): Likewise.
38543 (grub_ata_wait_not_busy): Remove static, exported in
38544 include/grub/ata.h.
38545 (grub_ata_wait_drq): Likewise.
38546 (grub_ata_pio_read): Likewise.
38547
38548 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
38549 function for hdparm.mod.
38550
38551 * include/grub/ata.h: New file, contains declarations from
38552 disk/ata.c.
38553 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
38554
38555 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
38556 (grub_disk_ata_pass_through): New exported variable.
38557
38558 * kern/disk.c (grub_disk_ata_pass_through): New variable.
38559
772e23da 385602009-02-13 Colin D Bennett <colin@gibibit.com>
38561
38562 Support multiple fallback entries, and provide an API to support
38563 executing default+fallback menu entries. Renamed the `terminal' menu
38564 viewer to `text'.
38565
38566 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
38567 variable declaration.
38568 (grub_menu_execute_callback): New structure declaration.
38569 (grub_menu_execute_callback_t): New typedef.
38570 (grub_menu_execute_with_fallback): New function declaration.
38571 (grub_menu_get_entry): Likewise.
38572 (grub_menu_get_timeout): Likewise.
38573 (grub_menu_set_timeout): Likewise.
38574
38575 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
38576
38577 * normal/menu.c (grub_wait_after_message): Moved to
38578 `normal/menu_text.c'.
38579 (draw_border): Likewise.
38580 (print_message): Likewise.
38581 (print_entry): Likewise.
38582 (print_entries): Likewise.
38583 (grub_menu_init_page): Likewise.
38584 (get_entry_number): Likewise.
38585 (print_timeout): Likewise.
38586 (run_menu): Likewise.
38587 (grub_menu_execute_entry): Likewise.
38588 (show_text_menu): Likewise.
38589 (get_and_remove_first_entry_number): New function.
38590 (grub_menu_execute_with_fallback): Likewise.
38591 (get_entry): Renamed to ...
38592 (grub_menu_get_entry): .. this and made it global.
38593 (get_timeout): Renamed to ...
38594 (grub_menu_get_timeout): ... this and made it global.
38595 (set_timeout): Renamed to ...
38596 (grub_menu_set_timeout): ... this and made it global.
38597 (grub_normal_terminal_menu_viewer): Renamed to ...
38598 (grub_normal_text_menu_viewer): ... this.
38599
38600 * normal/menu_text.c: New file. Extracted text-menu-specific code
38601 from normal/menu.c.
38602
38603 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
38604 (normal_mod_SOURCES): Likewise.
38605
38606 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38607 (normal_mod_SOURCES): Likewise.
38608
38609 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38610 (normal_mod_SOURCES): Likewise.
38611
38612 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
38613 (normal_mod_SOURCES): Likewise.
38614
38615 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38616 (normal_mod_SOURCES): Likewise.
38617
38618 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38619 (normal_mod_SOURCES): Likewise.
38620
38621 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38622 (normal_mod_SOURCES): Likewise.
38623
16ac430e 386242009-02-11 Robert Millan <rmh@aybabtu.com>
38625
38626 * util/grub.d/00_header.in: Update old reference to `font' command.
38627
06ff20fc 386282009-02-10 Felix Zielcke <fzielcke@z-51.de>
38629
38630 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
38631
38632 Based on patch from Javier Martín.
38633
96da9407 386342009-02-09 Felix Zielcke <fzielcke@z-51.de>
38635
38636 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 38637 to avoid false positives with FAT.
96da9407 38638 (grub_fstest_SOURCES): Likewise.
38639 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
38640 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38641 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38642 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
38643 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38644 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38645
6dca6fe4 386462009-02-09 Felix Zielcke <fzielcke@z-51.de>
38647
06ff20fc 38648 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 38649 bpb.version_specific.fat12_or_fat16.fstype and
38650 bpb.version_specific.fat32.fstype.
38651
2550c62f 386522009-02-08 Robert Millan <rmh@aybabtu.com>
38653
be110b30 38654 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 38655
56978920 386562009-02-08 Robert Millan <rmh@aybabtu.com>
38657
38658 * Makefile.in (host_os, host_cpu): New variables.
38659 (target_os): Remove. Update all users.
38660
d64399b5 386612009-02-08 Marco Gerards <marco@gnu.org>
38662
38663 * Makefile.in (enable_grub_emu_usb): New variable.
38664 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
38665 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
38666 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
38667 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
38668 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
38669 `usbtest.mod' and `usbms.mod'.
38670 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
38671 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
38672 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
38673 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
38674 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
38675 variables.
38676
38677 * disk/usbms.c: New file.
38678
38679 * include/grub/usb.h: Likewise.
38680
38681 * include/grub/usbtrans.h: Likewise.
38682
38683 * include/grub/usbdesc.h: Likewise.
38684
38685 * bus/usb/usbtrans.c: Likewise.
38686
38687 * bus/usb/ohci.c: Likewise.
38688
38689 * bus/usb/uhci.c: Likewise.
38690
38691 * bus/usb/usbhub.c: Likewise.
38692
38693 * bus/usb/usb.c: Likewise.
38694
38695 * commands/usbtest.c: Likewise.
38696
38697 * util/usb.c: Likewise.
50fb7002 38698
d64399b5 38699 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
38700
38701 * configure.ac: Test for libusb presence.
50fb7002 38702
d64399b5 38703 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
38704
2b40d6bb 387052009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
38706
38707 * kern/mm.c: Add more comments.
38708
73a4ce81 387092009-02-08 Robert Millan <rmh@aybabtu.com>
38710
38711 Patch from Javier Martín.
38712 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
38713 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
38714
f821ce59 387152009-02-08 Robert Millan <rmh@aybabtu.com>
38716
38717 * fs/cpio.c: Split tar functionality to ...
38718 * fs/tar.c: ... here (new file). Update all users.
38719
aebfc4b0 387202009-02-07 Robert Millan <rmh@aybabtu.com>
38721
38722 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
38723 backward-incompatible features.
38724
38725 Based on patch from Javier Martín, with some adjustments.
38726
50fb7002 387272009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 38728
38729 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
38730
0bb5115e 387312009-02-07 Robert Millan <rmh@aybabtu.com>
38732
38733 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
38734 position of `disk/lvm.c' to ensure grub_init_all() always picks it
38735 after the RAID stuff.
38736
38a0f8e7 387372009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
38738
50fb7002 38739 Fixes problem when running vbetest command as reported by
38a0f8e7 38740 Vladimir Serbinenko <phcoder@gmail.com>.
38741
38742 * (grub_vbe_set_video_mode): Fixed problem with text modes.
38743
3143cc1c 387442009-02-04 Felix Zielcke <fzielcke@z-51.de>
38745
38746 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
38747 /dev/md/NpN style mdraid devices.
38748
9cba6fce 387492009-02-03 Felix Zielcke <fzielcke@z-51.de>
38750
38751 * util/unifont2pff.rb: Remove.
38752
e507a2c1 387532009-02-03 Felix Zielcke <fzielcke@z-51.de>
38754
38755 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
38756 `#'.
38757
d2c2b4cd 387582009-02-03 Felix Zielcke <fzielcke@z-51.de>
38759
38760 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
38761 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38762 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38763 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
38764 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38765 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38766 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38767
b4315fb0 387682009-02-02 Christian Franke <franke@computer.org>
38769
38770 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
38771
de3aa260 387722009-02-01 Felix Zielcke <fzielcke@z-51.de>
38773
7c3ff286 38774 * INSTALL: Note that we now require at least autoconf 2.59 and
38775 that LZO is optional.
de3aa260 38776
825a182b 387772009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
38778
38779 Base on patch on bug #24154 created by Tomas Tintera
38780 <trosos@seznam.cz>.
38781
38782 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
38783
a69ef770 387842009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
38785
7c3ff286 38786 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 38787 <bero@arklinux.org>.
38788
38789 * normal/parser.y (script_init): Add missing semicolon.
38790
6fa42fa6 387912009-01-31 Colin D Bennett <colin@gibibit.com>
38792
7c3ff286 38793 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 38794 (free_menu_entry_classes): Added.
38795 (grub_normal_menu_addentry): Added class property handling.
38796 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
38797 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
38798
38799 * normal/menu_viewer.c: New file.
38800
38801 * normal/menu.c (run_menu_entry): Renamed to ...
38802 (grub_menu_execute_entry): ... this and made it as global.
38803 (grub_menu_run): Renamed to ...
38804 (show_text_menu): ... this and made it local.
38805 (show_text_menu): Adapt to new function names.
38806 (grub_normal_terminal_menu_viewer): New global variable.
38807
38808 * include/grub/menu.h: New file.
38809
38810 * include/grub/menu_viewer.h: New file.
38811
38812 * include/grub/normal.h: Added include to grub/menu.h.
38813 (grub_menu_entry): Moved to include/grub/menu.h.
38814 (grub_menu_entry_t): Likewise.
38815 (grub_menu): Likewise.
38816 (grub_menu_t): Likewise.
38817 (grub_normal_terminal_menu_viewer): Added.
38818 (grub_menu_execute_entry): Likewise.
38819 (grub_menu_run): Removed.
38820
38821 * DISTLIST: Added include/grub/menu.h.
38822 Added include/grub/menu_viewer.h.
38823 Added normal/menu_viewer.c.
38824
388252009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
38826
38827 * normal/execute.c (grub_script_execute_menuentry): Changed to use
38828 arglist for menutitle arguments.
38829
38830 * normal/main.c (grub_normal_menu_addentry): Likewise.
38831
38832 * normal/parser.y (menuentry): Likewise.
38833
38834 * normal/script.c (grub_script_create_cmdmenu): Likewise.
38835
38836 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
38837 (grub_script_create_cmdmenu): Likewise.
38838
38839 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
38840
38841 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
38842 changes.
38843
38844 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
38845
38846 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
38847
38848 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
38849
38850 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
38851
38852 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
38853
38854 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
38855
56192c23 388562009-01-30 Christian Franke <franke@computer.org>
38857
38858 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
38859 in option help text.
38860
d72521b3 388612009-01-27 Pavel Roskin <proski@gnu.org>
38862
38863 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
38864
994b5e84 388652009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
38866
38867 * commands/lsmmap.c: Add include to grub/machine/memory.h.
38868
38869 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
38870
38871 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
38872 unregister function.
38873
6a7eab2c 388742009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
38875
38876 * disk/scsi.c (grub_scsi_read): Fix sign problem.
38877
38878 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
38879
38880 * util/grub-mkfont.c (usage): Fix typo.
38881
38882 * util/elf/grub-mkimage.c (load_modules): Fix warning.
38883
1806b56e 388842009-01-26 Daniel Mierswa <impulze@impulze.org>
38885
3fb18f09 38886 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
38887
336e1fb9 38888 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
38889
1806b56e 38890 * kern/misc.c (grub_strcasecmp): New function.
38891 (grub_strcasecmp): Use grub_size_t instead of int for length.
38892 Fix return value.
38893 * include/grub/misc.h: Update function prototypes.
38894
580b2a0f 388952009-01-26 Robert Millan <rmh@aybabtu.com>
38896
38897 * configure.ac: Fix cross-compilation check.
ef257b36 38898
d31c24f1 388992009-01-22 Christian Franke <franke@computer.org>
38900
38901 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
38902 (precision) digit string. Allow `.format2' without `format1' (width).
38903 Limit input chars for `%s' output to `format2' if specified. This is
38904 compatible with standard printf ().
38905
3138b44c 389062009-01-22 Christian Franke <franke@computer.org>
38907
38908 * disk/ata.c (grub_ata_wait_status): Replace by ...
38909 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
38910 other status bits may be invalid while BSY is asserted.
38911 (grub_ata_check_ready): New function.
38912 (grub_ata_cmd): Removed.
38913 (grub_ata_wait_drq): New function.
38914 (grub_ata_strncpy): Remove inline.
38915 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
38916 and error check now done by grub_ata_wait_drq ().
38917 (grub_ata_pio_write): Likewise.
38918 (grub_atapi_identify): Set DEV before check for !BSY. Use
38919 grub_ata_wait_drq () to wait for data.
38920 (grub_ata_device_initialize): Add status register check to
38921 detect missing SATA slave devices. Add debug messages.
38922 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
38923 (grub_atapi_packet): Set DEV before check for !BSY. Replace
38924 transfer loop by grub_ata_pio_write ().
38925 (grub_ata_identify): Set DEV before check for !BSY. Use
38926 grub_ata_wait_drq () to wait for data.
ef257b36 38927 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 38928 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
38929 read/write in one loop. Fix invalid command on write. Fix incomplete
38930 command on (size % batch) == 0. Add missing error check after write of
38931 last block. Add debug messages.
38932 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
38933
59a64ef6 389342009-01-19 Christian Franke <franke@computer.org>
38935
38936 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
38937 (GRUB_ATAPI_IREASON_*): Likewise.
38938 (grub_ata_pio_write): Fix timeout error return.
38939 (grub_atapi_identify): Add grub_ata_wait () after cmd.
38940 (grub_atapi_wait_drq): New function.
38941 (grub_atapi_packet): New parameter `size'.
38942 Use grub_atapi_wait_drq () and direct write instead of
38943 grub_ata_pio_write ().
38944 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
38945 reads the number of bytes requested by the device for each DRQ
38946 assertion.
38947 (grub_atapi_write): Remove old implementation, return not
38948 implemented instead.
38949
1cfe20b3 389502009-01-19 Christian Franke <franke@computer.org>
38951
38952 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
38953 of 512 to calculate data size.
38954 (grub_scsi_read12): Likewise.
38955 (grub_scsi_write10): Likewise.
38956 (grub_scsi_write12): Likewise.
38957 (grub_scsi_read): Adjust size according to blocksize.
38958 Add checks for invalid blocksize and unaligned transfer.
38959
bee5fe5d 389602009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
38961
38962 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
38963
ef257b36 38964 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 38965 width glyphs.
38966
3e643f8c 389672009-01-19 Robert Millan <rmh@aybabtu.com>
38968
38969 * config.guess: Update to latest version from config git.
38970 * config.sub: Likewise.
38971
4fa80998 389722009-01-17 Felix Zielcke <fzielcke@z-51.de>
38973
38974 * Makefile.in: Change font compilation to use new grub-mkfont instead
38975 of java version.
38976
38977 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
38978 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
38979 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
38980 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
38981 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
38982 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
38983 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
38984 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
38985 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
38986
7086085b 389872009-01-16 Christian Franke <franke@computer.org>
38988
38989 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
38990 (enum grub_ata_timeout_milliseconds): New enum.
38991 (grub_ata_wait_status): Add parameter milliseconds.
38992 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
38993 recovery from timed-out commands.
38994 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
38995 return grub_errno instead of REG_ERROR.
38996 (grub_ata_pio_write): Add parameter milliseconds.
38997 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
38998 Pass milliseconds to grub_ata_wait_status () and
38999 grub_ata_pio_read ().
39000 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
39001 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
39002 grub_ata_wait_status (). Fix IDENTIFY timeout check.
39003 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
39004 It is not suitable for device detection, because DEV bit is ignored,
39005 the command may run too long, and not all devices set the signature
39006 properly.
39007 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
39008 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
39009 Fix device selection, DEV bit must be set first to address the registers
39010 of the correct device.
39011 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
39012 grub_ata_pio_read/write ().
39013 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
39014 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
39015
4a412913 390162009-01-13 Carles Pina i Estany <carles@pina.cat>
39017
39018 * util/grub-editenv.c (main): Use fseeko(), not fseek().
39019
7795c55e 390202009-01-13 Bean <bean123ch@gmail.com>
d913988c 39021
39022 * util/grub-mkfont.c (write_font): forget to remove some debug code.
39023
7795c55e 390242009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 39025
39026 * Makefile.in: (enable_grub_mkfont): New variable.
39027 (freetype_cflags): Likewise.
39028 (freetype_libs): Likewise.
39029
39030 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
39031 (grub_mkfont_SOURCES): New variable.
39032 (grub_mkfont_CFLAGS): Likewise.
39033 (grub_mkfont_LDFLAGS): Likewise.
39034
39035 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
39036 library if `--enable-grub-mkfont' is requested.
39037 (enable_grub_mkfont): New variable.
39038 (freetype_cflags): Likewise.
39039 (freetype_libs): Likewise.
39040
39041 * util/grub-mkfont.c: New file.
39042
093af1fe 390432009-01-12 Christian Franke <franke@computer.org>
39044
39045 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
39046 mode check. Fix setting of compat_use[].
39047
f36cc108 390482009-01-10 Robert Millan <rmh@aybabtu.com>
39049
39050 Update a few copyright years which we forgot to do in 2008 (only for
39051 files whose changes made in 2008 were copyright-significant)
39052
39053 * Makefile.in: Add 2008 to Copyright line.
39054 * disk/ieee1275/ofdisk.c: Likewise.
39055 * disk/efi/efidisk.c: Likewise.
39056 * kern/dl.c: Likewise.
39057 * kern/sparc64/ieee1275/init.c: Likewise.
39058 * kern/mm.c: Likewise.
39059 * kern/efi/mm.c: Likewise.
39060 * boot/i386/pc/boot.S: Likewise.
39061 * genfslist.sh: Likewise.
39062 * fs/iso9660.c: Likewise.
39063 * fs/hfs.c: Likewise.
39064 * fs/jfs.c: Likewise.
39065 * fs/minix.c: Likewise.
39066 * fs/ufs.c: Likewise.
39067 * gensymlist.sh.in: Likewise.
39068 * genkernsyms.sh.in: Likewise.
39069 * include/grub/misc.h: Likewise.
39070 * include/grub/types.h: Likewise.
39071 * include/grub/symbol.h: Likewise.
39072 * include/grub/elf.h: Likewise.
39073 * include/grub/kernel.h: Likewise.
39074 * include/grub/disk.h: Likewise.
39075 * include/grub/dl.h: Likewise.
39076 * include/grub/i386/linux.h: Likewise.
39077 * include/grub/i386/pc/biosdisk.h: Likewise.
39078 * include/grub/efi/api.h: Likewise.
39079 * include/grub/efi/pe32.h: Likewise.
39080 * include/grub/util/misc.h: Likewise.
39081 * normal/execute.c: Likewise.
39082 * normal/arg.c: Likewise.
39083 * normal/completion.c: Likewise.
39084 * normal/lexer.c: Likewise.
39085 * normal/parser.y: Likewise.
39086 * normal/misc.c: Likewise.
39087 * commands/i386/pc/vbeinfo.c: Likewise.
39088 * commands/hexdump.c: Likewise.
39089 * commands/terminal.c: Likewise.
39090 * commands/ls.c: Likewise.
39091 * commands/help.c: Likewise.
39092 * partmap/pc.c: Likewise.
39093 * loader/efi/chainloader.c: Likewise.
39094 * loader/multiboot_loader.c: Likewise.
39095 * loader/i386/pc/multiboot2.c: Likewise.
39096 * term/efi/console.c: Likewise.
39097 * term/i386/pc/serial.c: Likewise.
39098 * util/lvm.c: Likewise.
39099 * util/console.c: Likewise.
39100 * util/i386/efi/grub-mkimage.c: Likewise.
39101 * util/raid.c: Likewise.
39102
7f02114b 391032009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
39104
39105 * commands/videotest.c: Removed include to grub/machine/memory.h.
39106
39107 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
39108 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
39109 (video_mod_SOURCES): Removed.
39110 (video_mod_CFLAGS): Likewise.
39111 (video_mod_LDFLAGS): Likewise.
39112 (gfxterm_mod_SOURCES): Likewise.
39113 (gfxterm_mod_CFLAGS): Likewise.
39114 (gfxterm_mod_LDFLAGS): Likewise.
39115 (videotest_mod_SOURCES): Likewise.
39116 (videotest_mod_CFLAGS): Likewise.
39117 (videotest_mod_LDFLAGS): Likewise.
39118 (bitmap_mod_SOURCES): Likewise.
39119 (bitmap_mod_CFLAGS): Likewise.
39120 (bitmap_mod_LDFLAGS): Likewise.
39121 (tga_mod_SOURCES): Likewise.
39122 (tga_mod_CFLAGS): Likewise.
39123 (tga_mod_LDFLAGS): Likewise.
39124 (jpeg_mod_SOURCES): Likewise.
39125 (jpeg_mod_CFLAGS): Likewise.
39126 (jpeg_mod_LDFLAGS): Likewise.
39127 (png_mod_SOURCES): Likewise.
39128 (png_mod_CFLAGS): Likewise.
39129 (png_mod_LDFLAGS): Likewise.
39130
39131 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
39132 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
39133 (video_mod_SOURCES): Added.
39134 (video_mod_CFLAGS): Likewise.
39135 (video_mod_LDFLAGS): Likewise.
39136 (videotest_mod_SOURCES): Likewise.
39137 (videotest_mod_CFLAGS): Likewise.
39138 (videotest_mod_LDFLAGS): Likewise.
39139 (bitmap_mod_SOURCES): Likewise.
39140 (bitmap_mod_CFLAGS): Likewise.
39141 (bitmap_mod_LDFLAGS): Likewise.
39142 (tga_mod_SOURCES): Likewise.
39143 (tga_mod_CFLAGS): Likewise.
39144 (tga_mod_LDFLAGS): Likewise.
39145 (jpeg_mod_SOURCES): Likewise.
39146 (jpeg_mod_CFLAGS): Likewise.
39147 (jpeg_mod_LDFLAGS): Likewise.
39148 (png_mod_SOURCES): Likewise.
39149 (png_mod_CFLAGS): Likewise.
39150 (png_mod_LDFLAGS): Likewise.
39151 (gfxterm_mod_SOURCES): Likewise.
39152 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 39153 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 39154
39155 * term/gfxterm.c: Removed include to grub/machine/memory.h,
39156 grub/machine/console.h.
39157
644fff97 391582009-01-04 Jerone Young <jerone@gmail.com>
39159
39160 Make on screen instructions clearer
39161
39162 Based on patch created by Jidanni <jidanni@jidanni.org>
39163
39164 * normal/menu.c: print clearer instructions on the screen
39165
1e901a75 391662009-01-02 Colin D Bennett <colin@gibibit.com>
39167
39168 New font engine.
34c44600 39169
1e901a75 39170 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
39171 build system and fixed gfxterm.c to work with different sized fonts.
39172
39173 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 39174
1e901a75 39175 * configure: Re-generated.
34c44600 39176
1e901a75 39177 * DISTLIST: Removed font/manager.c.
39178 Added font/font.c.
39179 Added font/font_cmd.c.
34c44600 39180
1e901a75 39181 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
39182 compilation.
34c44600 39183
1e901a75 39184 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 39185
39186 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 39187
39188 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 39189
1e901a75 39190 * normal/menu.c: Likewise.
34c44600 39191
1e901a75 39192 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
39193 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 39194
1e901a75 39195 * include/grub/font.h: Replaced with new file.
34c44600 39196
1e901a75 39197 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
39198 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
39199 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
39200 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
39201 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 39202 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 39203 fg_red, fg_green, fg_blue, fg_alpha.
39204 (grub_video_adapter): Removed blit_glyph.
34c44600 39205 (grub_video_blit_glyph): Removed.
39206
1e901a75 39207 * font/manager.c: Removed file.
34c44600 39208
39209 * font/font.c: New file.
39210
1e901a75 39211 * font/font_cmd.c: Likewise.
34c44600 39212
1e901a75 39213 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 39214
1e901a75 39215 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
39216 (grub_video_vbe_map_rgba): Likewise.
39217 (grub_video_vbe_unmap_color_int): Likewise.
39218 (grub_video_vbe_blit_glyph): Removed.
39219 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 39220
1e901a75 39221 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
39222 (get_pixel): Likewise.
34c44600 39223 (set_pixel): Likewise.
39224
1e901a75 39225 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 39226
1e901a75 39227 * term/gfxterm.c: Adapted to new font engine.
34c44600 39228
1e901a75 39229 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 39230
1e901a75 39231 * term/i386/pc/vga.c: Likewise.
34c44600 39232
1e901a75 39233 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 39234
1e901a75 39235 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 39236
1e901a75 39237 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 39238
1e901a75 39239 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 39240
1e901a75 39241 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 39242
1e901a75 39243 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 39244
1e901a75 39245 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 39246
1e901a75 39247 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 39248
1e901a75 39249 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
39250
39251 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 39252
1e901a75 39253 * util/grub-mkconfig_lib.in: Changed font extension.
39254
278922e8 392552008-12-28 Felix Zielcke <fzielcke@z-51.de>
39256
39257 * util/getroot.c (grub_util_get_grub_dev): Add support for
39258 /dev/md/dNNpNN style partitionable mdraid devices.
39259
3ced05cf 392602008-12-12 Alex Smith <alex@alex-smith.me.uk>
39261
39262 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
39263 at a time limit of the PXE TFTP API correctly.
39264 (grub_pxefs_close): Likewise.
39265
7fd0ee30 392662008-11-29 Robert Millan <rmh@aybabtu.com>
39267
34c44600 39268 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 39269 grub_ata_device_initialize() calls.
39270
34c44600 392712008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 39272
39273 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
39274 iteration failed.
39275 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
39276
89313780 392772008-11-28 Robert Millan <rmh@aybabtu.com>
39278
39279 Fix build on powerpc-ieee1275. Based on patch created by
39280 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
39281 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
39282 `kern/ieee1275/mmap.c'.
39283 * include/grub/powerpc/ieee1275/memory.h: New file.
39284
15257703 39285 Provide grub-install on coreboot.
39286 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
39287 (grub_install_SOURCES): New variable.
39288 * util/i386/pc/grub-install.in: Add a few condition checks to make it
39289 usable on coreboot.
39290
9fc5388a 392912008-11-25 Felix Zielcke <fzielcke@z-51.de>
39292
39293 * util/grub-fstest.c (grub_term_get_current_input): Change return type
39294 to `grub_term_input_t'.
39295 (grub_term_get_current_output): Change return type to
39296 `grub_term_output_t'.
39297
bc3a2f31 392982008-11-22 Robert Millan <rmh@aybabtu.com>
39299
34c44600 39300 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 39301 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
39302 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
39303 grub_vga_text_cls().
39304
80fc88f2 39305 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 39306 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 39307
cbf36fd3 39308 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
39309 to 0x200000 (avoids trouble with some OFW implementations, and matches
39310 with the one in Yaboot).
39311 Reported by Manoel Abranches
39312
73e8e268 393132008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 39314
39315 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
39316 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
39317
73e8e268 39318 * util/grub-mkconfig_lib.in (grub_warn): New function.
39319 (convert_system_path_to_grub_path): Use grub_warn() when issuing
39320 warnings, to obtain consistent formatting.
39321 * util/grub.d/00_header.in: Likewise.
39322 * util/update-grub_lib.in: Likewise.
39323
e94045a1 39324 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 39325 Move comment text to `#error' stanza.
e94045a1 39326
79d29fd7 39327 Harmonize ieee1275's grub_available_iterate() with the generic
39328 grub_machine_mmap_iterate() interface (fixes a recently-introduced
39329 build problem on i386-ieee1275):
39330 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
39331 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
39332 parameter `type'. Update all users of this function.
39333 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
39334 `kern/ieee1275/mmap.c'.
39335 * kern/ieee1275/init.c
39336 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
39337 with ...
39338 (grub_machine_mmap_iterate): ... this.
39339 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
39340 return type to `grub_err_t'. Update all implementations of this
39341 function prototype.
39342 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
39343 Likewise.
39344
60d6b16e 39345 Add `lsmmap' command (lists firmware-provided memory map):
39346 * commands/lsmmap.c: New file.
39347 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
39348 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
39349 variables.
39350 * conf/powerpc-ieee1275.rmk: Likewise.
39351 * conf/i386-coreboot.rmk: Likewise.
39352 * conf/i386-ieee1275.rmk: Likewise.
39353
ebaaf49b 393542008-11-19 Robert Millan <rmh@aybabtu.com>
39355
39356 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 39357 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
39358 constraints to initrd allocation (based on code from
39359 loader/i386/pc/linux.c). Without them, initrd was allocated too high
39360 for Linux to find it.
ebaaf49b 39361
dfab719f 393622008-11-14 Robert Millan <rmh@aybabtu.com>
39363
39364 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
39365 order to cope with duplicate slashes.
39366
10fc3eb9 393672008-11-14 Robert Millan <rmh@aybabtu.com>
39368
39369 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
39370 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
39371 don't want to mess with lower memory, because it is used in the Linux
39372 loader.
39373
39374 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 39375 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 39376 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
39377 is in our heap (probably as a result of it being corrupted during
2f2a3442 39378 decompression). Add #error instance with comment to explain why this
39379 loader isn't currently usable on PC/BIOS.
10fc3eb9 39380
e2e07847 393812008-11-14 Robert Millan <rmh@aybabtu.com>
39382
39383 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 39384 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 39385
fe8e8d69 393862008-11-12 Robert Millan <rmh@aybabtu.com>
39387
39388 Make loader/i386/linux.c buildable on i386-pc (although disabled).
39389
39390 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
39391 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
39392 from here ...
39393 * include/grub/i386/pc/memory.h: ... to here.
39394
976b07d0 393952008-11-12 Robert Millan <rmh@aybabtu.com>
39396
39397 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
39398 split).
39399
39400 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
39401 (grub_console_cur_color, grub_console_real_putchar)
39402 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
39403 (grub_console_setcolorstate, grub_console_setcolor)
39404 (grub_console_getcolor): Move from here ...
39405 * include/grub/i386/vga_common.h: ... to here (new file).
39406
39407 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
39408 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
39409 `<grub/i386/io.h>'.
39410 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
39411 `<grub/i386/vga_common.h>'.
39412
76679cd3 394132008-11-12 Robert Millan <rmh@aybabtu.com>
39414
39415 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
39416 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
39417 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
39418 variables.
39419 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
39420 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
39421
39422 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
39423 grub_console_init() with call to grub_vga_text_init().
39424 (grub_machine_fini): Replace call to
39425 grub_console_fini() with call to grub_vga_text_fini() and
39426 grub_at_keyboard_fini().
39427
39428 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
39429 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
39430 (grub_console_setcolorstate, grub_console_setcolor)
39431 (grub_console_getcolor): New function prototypes.
39432
39433 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
39434 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
39435 (grub_vga_text_setcursor): Static-ize.
39436 (grub_vga_text_term): New structure.
39437 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
39438
39439 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
39440 (grub_console_cur_color, grub_console_standard_color)
39441 (grub_console_normal_color, grub_console_highlight_color)
39442 (map_char, grub_console_putchar, grub_console_getcharwidth)
39443 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
39444 (grub_console_getcolor): Move from here ...
39445 * term/i386/vga_common.c: ... to here (same function names).
39446
95b841d3 394472008-11-12 Robert Millan <rmh@aybabtu.com>
39448
39449 Use newly-added Multiboot support in coreboot.
39450
39451 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
39452 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
39453
39454 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
39455 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
39456 (codestart): Store the MBI in `startup_multiboot_info' when we're
39457 being loaded using Multiboot.
39458
39459 * kern/i386/coreboot/init.c (grub_machine_init): Move
39460 grub_at_keyboard_init() call to beginning of function (useful for
39461 debugging). Call grub_machine_mmap_init() before attempting to use
39462 grub_machine_mmap_iterate().
39463 (grub_lower_mem, grub_upper_mem): Move from here ...
39464 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
39465 here (new file).
39466
39467 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
39468 function prototype.
39469
761ca975 394702008-11-12 Robert Millan <rmh@aybabtu.com>
39471
39472 Fix a regression introduced by the at_keyboard.mod split. Because
39473 some terminals are default on some platforms and non-default on
39474 others, the first terminal being registered determines which is
39475 going to be default.
39476
39477 * kern/term.c (grub_term_register_input): If this is the first
39478 terminal being registered, set it as the current one.
39479 (grub_term_register_output): Likewise.
39480
39481 * term/efi/console.c (grub_console_init): Do not call
39482 grub_term_set_current_output() or grub_term_set_current_input().
39483 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
39484 * term/i386/pc/console.c (grub_console_init): Likewise.
39485 (grub_console_fini): Do not call grub_term_set_current_input()
39486 (but leave grub_term_set_current_output() to restore text mode).
39487
6c529df7 394882008-11-10 Robert Millan <rmh@aybabtu.com>
39489
39490 * util/grub.d/00_header.in: Add backward compatibility check for
39491 versions of terminal.mod that don't understand `terminal_input' or
39492 `terminal_output'.
39493
132e4113 394942008-11-09 Robert Millan <rmh@aybabtu.com>
39495
39496 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
39497 `terminal_input' / `terminal_output', not `terminal'.
39498
ac293d50 394992008-11-08 Robert Millan <rmh@aybabtu.com>
39500
39501 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 39502 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 39503
0025933a 395042008-11-08 Robert Millan <rmh@aybabtu.com>
39505
39506 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 39507 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 39508 members. Update all users.
39509 * util/console.c (grub_ncurses_term): Split in ...
39510 (grub_ncurses_term_input): ... this, and ...
39511 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 39512 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 39513
37c86336 395142008-11-08 Robert Millan <rmh@aybabtu.com>
39515
39516 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
39517 (PKGDATA): Add $(pkgdata_SRCDIR).
39518 (pkglib_BUILDDIR): New variable.
39519 (pkgdata_SRCDIR): New variable.
39520 (build_env.mk): New target.
39521 (include_DATA): New variable.
39522 (install-local): Install $(include_DATA) files in $(includedir).
39523
b6c15a2d 395242008-11-07 Pavel Roskin <proski@gnu.org>
39525
d99d46f1 39526 * gendistlist.sh: Use C locale for sorting to ensure consistent
39527 output on all systems.
39528
b6c15a2d 39529 * util/grub.d/00_header.in: Remove incorrect space before
39530 "serial".
39531
c32ee8c9 395322008-11-07 Robert Millan <rmh@aybabtu.com>
39533
39534 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
39535 per specification.
39536 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
39537 * loader/multiboot_loader.c (find_multi_boot2_header): New function
39538 (based on find_multi_boot1_header).
39539 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
39540 using find_multi_boot2_header(), and abort if neither Multiboot or
39541 Multiboot headers were found.
39542
651c29b7 395432008-11-07 Robert Millan <rmh@aybabtu.com>
39544
39545 Modularize at_keyboard.mod:
39546
39547 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
39548 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
39549 (at_keyboard_mod_LDFLAGS): New variables.
39550
39551 Actual terminal split:
39552
39553 * include/grub/term.h (struct grub_term): Split in ...
39554 (struct grub_term_input): ... this, and ...
39555 (struct grub_term_output): ... this. Update all users.
39556 (grub_term_set_current): Split in ...
39557 (grub_term_set_current_input): ... this, and ...
39558 (grub_term_set_current_output): ... this.
39559 (grub_term_get_current): Split in ...
39560 (grub_term_get_current_input): ... this, and ...
39561 (grub_term_get_current_output): ... this.
39562 (grub_term_register): Split in ...
39563 (grub_term_register_input): ... this, and ...
39564 (grub_term_register_output): ... this.
39565 (grub_term_unregister): Split in ...
39566 (grub_term_unregister_input): ... this, and ...
39567 (grub_term_unregister_output): ... this.
39568 (grub_term_iterate): Split in ...
39569 (grub_term_iterate_input): ... this, and ...
39570 (grub_term_iterate_output): ... this.
39571
39572 * kern/term.c (grub_term_list): Split in ...
39573 (grub_term_list_input): ... this, and ...
39574 (grub_term_list_output): ... this. Update all users.
39575 (grub_cur_term): Split in ...
39576 (grub_cur_term_input): ... this, and ...
39577 (grub_cur_term_output): ... this. Update all users.
39578 (grub_term_set_current): Split in ...
39579 (grub_term_set_current_input): ... this, and ...
39580 (grub_term_set_current_output): ... this.
39581 (grub_term_get_current): Split in ...
39582 (grub_term_get_current_input): ... this, and ...
39583 (grub_term_get_current_output): ... this.
39584 (grub_term_register): Split in ...
39585 (grub_term_register_input): ... this, and ...
39586 (grub_term_register_output): ... this.
39587 (grub_term_unregister): Split in ...
39588 (grub_term_unregister_input): ... this, and ...
39589 (grub_term_unregister_output): ... this.
39590 (grub_term_iterate): Split in ...
39591 (grub_term_iterate_input): ... this, and ...
39592 (grub_term_iterate_output): ... this.
39593
39594 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
39595 a check for input and one for output (and only attempt to get keys
39596 from user when input works).
39597
39598 * util/grub-probe.c (grub_term_get_current): Split in ...
39599 (grub_term_get_current_input): ... this, and ...
39600 (grub_term_get_current_output): ... this.
39601 * util/grub-fstest.c: Likewise.
39602 * util/i386/pc/grub-setup.c: Likewise.
39603 * util/grub-editenv.c: Likewise.
39604
39605 Portability adjustments:
39606
39607 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
39608 `term/i386/pc/at_keyboard.c'.
39609 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
39610 grub_keyboard_controller_init() (now handled by terminal .init).
39611 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
39612 grub_at_keyboard_init().
39613 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
39614 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
39615 at_keyboard.mod via input terminal interface).
39616 * include/grub/i386/coreboot/console.h: Convert into a stub for
39617 `<grub/i386/pc/console.h>'.
39618
39619 Migrate full terminals to new API:
39620
39621 * term/efi/console.c (grub_console_term): Split into ...
39622 (grub_console_term_input): ... this, and ...
39623 (grub_console_term_output): ... this. Update all users.
39624 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
39625 (grub_ofconsole_init): Split into ...
39626 (grub_ofconsole_init_input): ... this, and ...
39627 (grub_ofconsole_init_output): ... this.
39628 (grub_ofconsole_term): Split into ...
39629 (grub_ofconsole_term_input): ... this, and ...
39630 (grub_ofconsole_term_output): ... this. Update all users.
39631 * term/i386/pc/serial.c (grub_serial_term): Split into ...
39632 (grub_serial_term_input): ... this, and ...
39633 (grub_serial_term_output): ... this. Update all users.
39634 * term/i386/pc/console.c (grub_console_term): Split into ...
39635 (grub_console_term_input): ... this, and ...
39636 (grub_console_term_output): ... this. Update all users.
39637 (grub_console_term_input): Only enable it on PC/BIOS platform.
39638 (grub_console_init): Remove grub_keyboard_controller_init() call.
39639
39640 Migrate input terminals to new API:
39641
39642 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
39643 `i386' and `i386/pc' to enable build on x86_64 (this driver is
39644 i386-specific anyway).
39645 (grub_console_checkkey): Rename to ...
39646 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
39647 users.
39648 (grub_keyboard_controller_orig): New variable.
39649 (grub_console_getkey): Rename to ...
39650 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
39651 users.
39652 (grub_keyboard_controller_init): Static-ize. Save original
39653 controller value so that it can be restored ...
39654 (grub_keyboard_controller_fini): ... here (new function).
39655 (grub_at_keyboard_term): New structure.
39656 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
39657 functions.
39658
39659 Migrate output terminals to new API:
39660
39661 * term/i386/pc/vga.c (grub_vga_term): Change type to
39662 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
39663 members. Update all users.
39664 * term/gfxterm.c (grub_video_term): Change type to
39665 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
39666 members. Update all users.
39667 * include/grub/i386/pc/console.h (grub_console_checkkey)
39668 (grub_console_getkey): Do not export (no longer needed by gfxterm,
39669 etc).
39670
39671 Migrate `terminal' command and userland tools to new API:
39672
39673 * commands/terminal.c (grub_cmd_terminal): Split into ...
39674 (grub_cmd_terminal_input): ... this, and ...
39675 (grub_cmd_terminal_output): ... this.
39676 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
39677 `terminal_input' and `terminal_output'.
39678 * util/grub.d/00_header.in: Adjust `terminal' calls to new
39679 `terminal_input' / `terminal_output' API.
39680 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
39681 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
39682 provided ${GRUB_TERMINAL}, convert it).
39683
96e5d876 396842008-11-04 Robert Millan <rmh@aybabtu.com>
39685
39686 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
39687 for FreeBSD.
39688 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
39689
556f3775 396902008-11-03 Bean <bean123ch@gmail.com>
39691
39692 * kern/elf.c (grub_elf32_load): Revert to previous code.
39693 (grub_elf64_load): Likewise.
39694
39695 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
39696
926b9823 396972008-11-01 Robert Millan <rmh@aybabtu.com>
39698
39699 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
39700 (TARGET_CPPFLAGS): Likewise.
39701 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
39702
1432e958 397032008-11-01 Carles Pina i Estany <carles@pina.cat>
39704
39705 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
39706
dba3f844 397072008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 39708
39709 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
39710 addition of objects until the code is not going to be able to fail.
39711
dba3f844 397122008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 39713
39714 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
39715 (add a missing NULL check, and correct them by moving the pointer
39716 operations after the actual check).
39717
7ab28c21 397182008-10-29 Robert Millan <rmh@aybabtu.com>
39719
39720 * util/i386/pc/grub-install.in: Handle empty string as output from
39721 make_system_path_relative_to_its_root().
39722
1b7748eb 397232008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
39724
39725 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
39726 circular metadata worst case scenario. If the metadata is circular
39727 then copy the wrap in place.
39728 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
39729 project lib/format_text/layout.h
39730 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
39731
c9618ab2 397322008-10-03 Felix Zielcke <fzielcke@z-51.de>
39733
7a36edca 39734 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 39735
bf981c62 397362008-10-03 Felix Zielcke <fzielcke@z-51.de>
39737
39738 * util/update-grub_lib.in: Mention filename in warning message.
39739
6d994591 397402008-09-29 Felix Zielcke <fzielcke@z-51.de>
39741
39742 * NEWS: Update for rename of update-grub to grub-mkconfig.
39743
18ade780 397442008-09-29 Felix Zielcke <fzielcke@z-51.de>
39745
39746 * util/update-grub_lib.in: Copy to ...
39747 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 39748 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 39749 * util/update-grub.in: Rename to ...
39750 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
39751 option. Add `--output' option to allow users to specify the generated
39752 configuration file. Default to stdout.
39753 (update_grub_dir): Rename to ...
39754 (grub_mkconfig_dir): ... this.
39755 (grub_cfg): Default to an empty string.
39756 * conf/common.rmk (update-grub): Rename to ...
39757 (grub-mkconfig): ... this.
39758 (update-grub_lib): Copy to ...
39759 (grub-mkconfig_lib): ... this.
39760 (update-grub_SCRIPTS): Copy to ...
39761 (grub-mkconfig_SCRIPTS): ... this. Update all users.
39762 (update-grub_DATA): Rename to ...
39763 (grub-mkconfig_DATA): ... this.
39764
556ce6ac 397652008-09-28 Robert Millan <rmh@aybabtu.com>
39766
39767 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
39768 to `modified'. Add the real `created' field.
39769 (grub_iso9660_uuid): Use `modified' rather than `created' for
39770 constructing the UUID.
39771
397722008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 39773
39774 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
39775 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
39776
92274e85 397772008-09-28 Bean <bean123ch@gmail.com>
39778
39779 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
39780 Thanks to Christian Franke for finding this bug.
39781
add6f17a 397822008-09-25 Robert Millan <rmh@aybabtu.com>
39783
39784 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
39785 instances of grub_util_get_disk_name() (see previous commit).
39786
d2a367b8 397872008-09-25 Robert Millan <rmh@aybabtu.com>
39788
39789 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
39790 `util/i386/get_disk_name.c'.
39791 * conf/i386-efi.rmk: Likewise.
39792 * conf/x86_64-efi.rmk: Likewise.
39793 * conf/i386-coreboot.rmk: Likewise.
39794 * conf/i386-ieee1275.rmk: Likewise.
39795 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
39796 `util/ieee1275/get_disk_name.c'.
39797 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
39798 * util/ieee1275/get_disk_name.c: Remove file.
39799 * util/i386/get_disk_name.c: Remove file.
39800 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
39801 "hd%d" for device.map entries, rather than using
39802 grub_util_get_disk_name().
39803
81a06771 398042008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 39805
39806 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
39807 warning.
39808 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
39809
5a004279 398102008-09-24 Carles Pina i Estany <carles@pina.cat>
39811
39812 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
39813 Changed to 0x5100.
39814 (GRUB_TERM_PPAGE): Changed to 0x4900.
39815
397093d3 398162008-09-24 Robert Millan <rmh@aybabtu.com>
39817
39818 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
39819 macros (they were i386-pc specific).
39820 * include/grub/sparc64/ieee1275/console.h: Likewise.
39821 * include/grub/efi/console.h: Likewise.
39822
a91b6c7c 398232008-09-22 Bean <bean123ch@gmail.com>
39824
39825 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
39826 resident and in attribute list.
39827
39828 * include/grub/ntfs.h (BMP_LEN): Removed.
39829
c40fd116 398302008-09-22 Bean <bean123ch@gmail.com>
39831
81a06771 39832 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 39833 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
39834
39835 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
39836 error occurs, as grub_disk_open will call grub_disk_close, which will
39837 call p->close (scsi).
39838
81a06771 398392008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 39840
39841 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
39842 (AC_PREREQ): Bumped to 2.59.
39843 (AC_TRY_COMPILE): Replace obsolete macro with ...
39844 (AC_COMPILE_IFELSE): ... this.
39845 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
39846 (AC_LINK_IFELSE): ... this.
39847
5dc43410 398482008-09-21 Felix Zielcke <fzielcke@z-51.de>
39849
39850 * autogen.sh: Add a call to `gendistlist.sh'.
39851
9035dce4 398522008-09-19 Christian Franke <franke@computer.org>
39853
39854 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
39855 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
39856 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
39857 Export __enable_execute_stack() to modules.
39858 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
39859 New function.
39860
7fd75377 398612008-09-09 Felix Zielcke <fzielcke@z-51.de>
39862
040030b3 39863 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
39864 Sort the list.
39865
398662008-09-09 Felix Zielcke <fzielcke@z-51.de>
39867
39868 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 39869 #include <grub/util/hostdisk.h>.
39870
89d5ffcf 398712008-09-08 Robert Millan <rmh@aybabtu.com>
39872
39873 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
39874 segments when their filesz is zero (grub_file_read() interprets
81a06771 39875 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 39876 Use `lowest_segment' rather than 0 for calculating the current
39877 segment load address.
39878
40da438f 398792008-09-08 Robert Millan <rmh@aybabtu.com>
39880
39881 * util/hostdisk.c (open_device): Replace a grub_util_info() call
39882 with grub_dprintf("hostdisk", ...), as it was so verbose that it
39883 clobbered useful information.
39884
ddbf5556 398852008-09-08 Robert Millan <rmh@aybabtu.com>
39886
39887 * include/grub/util/biosdisk.h: Move to ...
39888 * include/grub/util/hostdisk.h: ... here. Update all users.
39889 * util/biosdisk.c: Move to ...
39890 * util/hostdisk.c: ... here. Update all users.
39891
783d0f48 398922008-09-07 Robert Millan <rmh@aybabtu.com>
39893
39894 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
39895 variables.
39896 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
39897 and length can be stored directly in the `mbi->mmap_addr' and
39898 `mbi->mmap_length' struct fields.
39899
548e2ea5 399002008-09-07 Robert Millan <rmh@aybabtu.com>
39901
39902 * conf/i386.rmk: New file. Provides declaration for building
39903 `cpuid.mod'.
39904 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
39905 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
39906 variables.
39907 Include `conf/i386.mk'.
39908 * conf/i386-efi.rmk: Likewise.
39909 * conf/x86_64-efi.rmk: Likewise.
39910 * conf/i386-coreboot.rmk: Likewise.
39911 * conf/i386-ieee1275.rmk: Likewise.
39912
0ea85a37 399132008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
39914
39915 Based on patch created by Colin D Bennett <colin@gibibit.com>.
39916 Adds optimization support for BGR based modes.
39917
39918 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
39919 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
39920 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
39921 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
39922 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
39923 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
39924 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
39925 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
39926 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
39927 (grub_video_i386_vbeblit_index_index): Likewise.
39928 (grub_video_i386_vbeblit_replace_directN): Added.
39929 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
39930 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
39931 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
39932 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
39933 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
39934 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 39935 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 39936 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
39937 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
39938 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
39939 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
39940 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
39941 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
39942
39943 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
39944 (grub_video_i386_vbefill_R8G8B8): Likewise.
39945 (grub_video_i386_vbefill_index): Likewise.
39946 (grub_video_i386_vbefill_direct32): Added.
39947 (grub_video_i386_vbefill_direct24): Likewise.
39948 (grub_video_i386_vbefill_direct16): Likewise.
39949 (grub_video_i386_vbefill_direct8): Likewise.
39950
81a06771 39951 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 39952 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
39953 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
39954 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
39955 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
39956 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 39957
0ea85a37 39958 * video/video.c (grub_video_get_blit_format): Updated to use new
39959 blit formats. Added handling for 16 bit color modes.
81a06771 39960
39961 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 39962 fillers.
39963 (common_blitter): Updated to use new blitters.
39964
39965 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
39966 Removed.
39967 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
39968 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
39969 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
39970 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
39971 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
39972 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
39973 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
39974 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
39975 (grub_video_i386_vbeblit_index_index): Likewise.
39976 (grub_video_i386_vbeblit_replace_directN): Added.
39977 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
39978 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
39979 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
39980 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
39981 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
39982 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
39983 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
39984 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
39985 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
39986 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
39987 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
39988 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
39989 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 39990
0ea85a37 39991 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
39992 (grub_video_i386_vbefill_R8G8B8): Likewise.
39993 (grub_video_i386_vbefill_index): Likewise.
39994 (grub_video_i386_vbefill_direct32): Added.
39995 (grub_video_i386_vbefill_direct24): Likewise.
39996 (grub_video_i386_vbefill_direct16): Likewise.
39997 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 39998
0ea85a37 39999 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
40000 types.
81a06771 40001
0ea85a37 40002 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
40003 types.
81a06771 40004
0ea85a37 40005 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
40006 blitter types.
81a06771 40007
0ea85a37 40008 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
40009 types.
40010
e8a83df6 400112008-09-06 Felix Zielcke <fzielcke@z-51.de>
40012
40013 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
40014 RAID level 1.
40015
6bcd8ee5 400162008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 40017
6bcd8ee5 40018 * fs/iso9660.c (grub_iso9660_date): New structure.
40019 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
40020 (grub_iso9660_uuid): New function.
c375ae58 40021
59261157 400222008-09-05 Bean <bean123ch@gmail.com>
40023
40024 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
40025
40026 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
40027 insensitive bit for names in Win32 and Win32 & DOS namespace.
40028
40029 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
40030
40031 * include/grub/types.h (LONG_MAX): Likewise.
40032
58b6645a 400332008-09-04 Felix Zielcke <fzielcke@z-51.de>
40034
4ee55921 40035 * util/getroot.c: Include <config.h>.
40036 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
40037 add support for /dev/md/N devices and handle LVM double dash escaping.
40038
400392008-09-04 Felix Zielcke <fzielcke@z-51.de>
40040
40041 * config.guess: Update to latest version from config git.
40042 * config.sub: Likewise.
58b6645a 40043
9124f65d 400442008-09-03 Robert Millan <rmh@aybabtu.com>
40045
40046 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
40047 `disk->total_sectors'.
40048
81a06771 400492008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 40050
40051 * include/grub/normal.h: Fixed incorrect comment for
40052 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
40053
81a06771 400542008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 40055
40056 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
40057 values with defines.
40058
40059 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
40060 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
40061 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
40062 (GRUB_VBE_MODEATTR_COLOR): Likewise.
40063 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
40064 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
40065 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
40066 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
40067 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
40068 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
40069 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
40070 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
40071 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
40072 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
40073 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
40074 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
40075 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
40076 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
40077 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
40078
93d5cbf8 400792008-08-31 Robert Millan <rmh@aybabtu.com>
40080
40081 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
40082 declaration.
40083 (grub_multiboot): Fix a few warnings.
40084
21751d50 400852008-08-31 Robert Millan <rmh@aybabtu.com>
40086
40087 * loader/i386/pc/multiboot.c: Update comment not to say that
40088 boot_device support is unimplemented.
40089
e27a75c5 400902008-08-31 Robert Millan <rmh@aybabtu.com>
40091
40092 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
40093 or memory map support are unimplemented.
40094
81a06771 400952008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 40096
40097 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
40098
81a06771 400992008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 40100
40101 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
40102 total video memory in 'vbeinfo' output; show color format details for
40103 each video mode.
40104
7c5d8d95 401052008-08-30 Pavel Roskin <proski@gnu.org>
40106
40107 * util/genmoddep.c: Remove for real this time.
40108 * DISTLIST: Remove util/genmoddep.c.
40109
4cebd25a 401102008-08-30 Robert Millan <rmh@aybabtu.com>
40111
40112 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
40113 as required by Multiboot spec (it was already 4-byte aligned, but
40114 only by chance).
40115
b497a269 401162008-08-29 Pavel Roskin <proski@gnu.org>
40117
e3925185 40118 * kern/powerpc/ieee1275/crt0.S: Rename to ...
40119 * kern/powerpc/ieee1275/startup.S: ... this.
40120 * conf/powerpc-ieee1275.rmk: Adjust for the above.
40121 * DISTLIST: Likewise.
40122
b497a269 40123 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
40124 grub/cpu/kernel.h. Add start label for consistency with other
40125 platforms. Add grub_prefix immediately after start. Add jump
40126 to the code after grub_prefix.
40127 * include/grub/powerpc/kernel.h: Provide valid values for
40128 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
40129
6e5a42fe 401302008-08-29 Bean <bean123ch@gmail.com>
40131
40132 * configure.ac: Change host_os to cygwin for mingw.
40133 (asprintf): New check for function.
40134
40135 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
40136 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
40137
40138 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 40139 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 40140 sync, sleep and grub_util_get_disk_size for mingw.
40141
40142 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
40143 to get size in mingw.
40144 (open_device): Use flag O_BINARY if it's defined.
40145 (find_root_device): Add dummy code for mingw.
40146
40147 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
40148 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
40149 (get_scsi_disk_name): Return 0 for mingw.
40150
40151 * util/hostfs.c: #include <grub/util/misc.h>.
40152 (grub_hostfs_open): Use "rb" flag to open file, use
40153 grub_util_get_disk_size to get disk size for mingw.
40154
40155 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
40156 (asprintf): New function if HAVE_ASPRINTF is not set.
40157 (sync): New function for mingw.
40158 (sleep): Likewise.
40159 (grub_util_get_disk_size): Likewise.
40160
ab3f2673 401612008-08-28 Pavel Roskin <proski@gnu.org>
40162
40163 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
40164 kern/time.c.
40165
1c282483 401662008-08-28 Robert Millan <rmh@aybabtu.com>
40167
40168 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
40169
678e849c 401702008-08-28 Robert Millan <rmh@aybabtu.com>
40171
40172 Change find_grub_drive() syntax so it doesn't prevent it from
40173 detecting NULL names as errors.
40174
40175 * util/biosdisk.c (find_grub_drive): Move free slot search code
40176 from here ...
40177 (find_free_slot): ... to here.
40178 (read_device_map): Use find_free_slot() to search for free slots.
40179
965c75ca 401802008-08-27 Marco Gerards <marco@gnu.org>
40181
40182 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
40183 (scsi_mod_SOURCES): New variable.
40184 (scsi_mod_CFLAGS): Likewise
40185 (scsi_mod_LDFLAGS): Likewise.
40186
40187 * disk/scsi.c: New file.
40188
40189 * include/grub/scsi.h: Likewise.
40190
40191 * include/grub/scsicmd.h: Likewise.
40192
40193 * disk/ata.c: Include <grub/scsi.h>.
40194 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
40195 instead.
40196 (grub_ata_iterate): Skip ATAPI devices.
40197 (grub_ata_open): Only handle ATAPI devices.
40198 (struct grub_atapi_read): Removed.
40199 (grub_atapi_readsector): Likewise.
40200 (grub_ata_read): No longer handle ATAPI devices.
40201 (grub_ata_write): Likewise.
40202 (grub_atapi_iterate): New function.
40203 (grub_atapi_read): Likewise.
40204 (grub_atapi_write): Likewise.
40205 (grub_atapi_open): Likewise.
40206 (grub_atapi_close): Likewise.
40207 (grub_atapi_dev): New variable.
40208 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
40209 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
40210
40211 * include/grub/disk.h (enum grub_disk_dev_id): Add
40212 `GRUB_DISK_DEVICE_SCSI_ID'.
40213
c07ae501 402142008-08-26 Robert Millan <rmh@aybabtu.com>
40215
40216 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
40217 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
40218 descriptive.
40219
5ed20adc 402202008-08-23 Bean <bean123ch@gmail.com>
40221
40222 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
40223 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
40224 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
40225 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
40226 dm_nv.mod.
40227 (raid5rec_mod_SOURCES): New macro.
40228 (raid5rec_mod_CFLAGS): Likewise.
40229 (raid5rec_mod_LDFLAGS): Likewise.
40230 (raid6rec_mod_SOURCES): Likewise.
40231 (raid6rec_mod_CFLAGS): Likewise.
40232 (raid6rec_mod_LDFLAGS): Likewise.
40233 (mdraid_mod_SOURCES): Likewise.
40234 (mdraid_mod_CFLAGS): Likewise.
40235 (mdraid_mod_LDFLAGS): Likewise.
40236 (dm_nv_mod_SOURCES): Likewise.
40237 (dm_nv_mod_CFLAGS): Likewise.
40238 (dm_nv_mod_LDFLAGS): Likewise.
40239
40240 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
40241 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
40242 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
40243
40244 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
40245 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
40246
40247 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40248
40249 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
40250
40251 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40252
40253 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40254
40255 * disk/raid5_recover.c: New file.
40256
40257 * disk/raid6_recover.c: Likewise.
40258
40259 * disk/mdraid_linux.c: Likewise.
40260
40261 * disk/dmraid_nvidia.c: Likewise.
40262
40263 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
40264 ULONG_MAX.
40265
40266 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
40267 calculate the size of raid device.
40268 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
40269 different layout of raid5.
40270 (grub_raid_scan_device): Remove code specific to mdraid.
40271 (grub_raid_list): New variable.
40272 (free_array): New function.
40273 (grub_raid_register): Likewise.
40274 (grub_raid_unregister): Likewise.
40275 (grub_raid_rescan): Likewise.
40276 (GRUB_MOD_INIT): Don't iterate device here.
40277 (GRUB_MOD_FINI): Use free_array to release resource.
40278
40279 * include/grub/raid.h: Remove macro and structure specific to mdraid.
40280 (grub_raid5_recover_func_t): New function variable type.
40281 (grub_raid6_recover_func_t): Likewise.
40282 (grub_raid5_recover_func): New variable.
40283 (grub_raid6_recover_func): Likewise.
40284 (grub_raid_register): New function.
40285 (grub_raid_unregister): Likewise.
40286 (grub_raid_rescan): Likewise.
40287 (grub_raid_block_xor): Likewise.
40288
40289 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
40290 (CMD_CRC): New macro.
40291 (part): Removed.
40292 (read_file): Handle device as well as file.
40293 (cmd_crc): New function.
40294 (fstest): Handle multiple disks.
40295 (options): Remove part, raw and long, add root and diskcount.
40296 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 40297 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 40298 add handling for the new options, support multiple disks.
40299
40300 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
40301
29c18915 403022008-08-23 Bean <bean123ch@gmail.com>
40303
40304 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
40305
40306 * genfslist.sh: Ignore kernel.mod.
40307
40308 * genpartmaplist.sh: Likewise.
40309
8415f261 403102008-08-23 Robert Millan <rmh@aybabtu.com>
40311
40312 * util/getroot.c (find_root_device): Skip anything that starts with
40313 a dot, not just directories. This avoids things like /dev/.tmp.md0.
40314
d5a7dc5b 403152008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 40316
d5a7dc5b 40317 * util/update-grub.in (GRUB_GFXMODE): Export variable.
40318 * util/grub.d/00_header.in: Allow the administrator to change default
40319 gfxmode via ${GRUB_GFXMODE}.
40320
380cfbb4 403212008-08-21 Felix Zielcke <fzielcke@z-51.de>
40322
40323 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
40324
c9baafe7 403252008-08-21 Robert Millan <rmh@aybabtu.com>
40326
40327 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
40328 loader.
40329 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
40330 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
40331
e290bef2 403322008-08-20 Carles Pina i Estany <carles@pina.cat>
40333
40334 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
40335 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
40336
f9dbfc96 403372008-08-19 Robert Millan <rmh@aybabtu.com>
40338
40339 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
40340 (struct grub_virtual_screen): Remove `cursor_color'.
40341 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
40342 initialization.
40343 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
40344
dd6bd6ab 403452008-08-18 Robert Millan <rmh@aybabtu.com>
40346
40347 Unify (identical) linux_normal.c files.
40348 * loader/i386/efi/linux_normal.c: Move from here ...
40349 * loader/linux_normal.c: ... to here. Update all users.
40350 * loader/i386/pc/linux_normal.c: Delete. Update all users.
40351 * loader/i386/ieee1275/linux_normal.c: Likewise.
40352
7f42f83e 403532008-08-18 Robert Millan <rmh@aybabtu.com>
40354
40355 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
40356 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
40357 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
40358 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
40359 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
40360 New macros.
40361 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
40362 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
40363 (GRUB_LINUX_CL_END_OFFSET): ... to here.
40364 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
40365 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
40366 (GRUB_EFI_CL_END_OFFSET): Rename to ...
40367 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
40368 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
40369 Initialize `params->video_cursor_x' and `params->video_cursor_y'
40370 portably using grub_getxy().
40371 Replace `-EFI' with `-bzImage' in boot message.
40372
38487ddb 403732008-08-17 Robert Millan <rmh@aybabtu.com>
40374
40375 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
40376
deceb3ec 403772008-08-17 Robert Millan <rmh@aybabtu.com>
40378
40379 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
40380
40381 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
40382 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
40383 (grub_machine_mmap_iterate): New function declaration.
40384 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
40385 structure.
40386 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
40387 macros.
40388
40389 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
40390 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
40391 Move e820 parsing from here ...
40392 * kern/i386/pc/mmap.c: New file.
40393 (grub_machine_mmap_iterate): ... to here.
40394
40395 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
40396 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
40397 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
40398 (grub_available_iterate): Redeclare to return `void', and redeclare
40399 its hook to use grub_uint64_t as addr and size parameters, and rename
40400 to ...
40401 (grub_machine_mmap_iterate): ... this. Update all users.
40402
40403 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
40404 to make it more readable. Rename to ...
40405 (grub_machine_mmap_iterate): ... this.
40406
40407 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
40408 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
40409 (grub_multiboot): Allocate an extra region after the payload, and fill
40410 it with a Multiboot memory map. Adjust a.out loader to calculate size
40411 with the extra space.
40412 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
40413 with the extra space.
40414
f8aa0f43 404152008-08-17 Carles Pina i Estany <carles@pina.cat>
40416
9807deb9 40417 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 40418
605f5bb6 404192008-08-17 Felix Zielcke <fzielcke@z-51.de>
40420
40421 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
40422 mdate-sh to the list `find' searches for.
40423 * DISTLIST: Regenerated.
40424
210db6c6 404252008-08-16 Felix Zielcke <fzielcke@z-51.de>
40426
40427 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
40428 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 40429 genmoddep.awk, gensymlist.sh.in.
40430 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 40431 * DISTLIST: Regenerated.
48cdbfd4 40432 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 40433
1082b929 404342008-08-16 Robert Millan <rmh@aybabtu.com>
40435
40436 * disk/raid.c (grub_raid_init): Handle/report errors set by
40437 grub_device_iterate().
40438 * disk/lvm.c (grub_lvm_init): Likewise.
40439
42ce5170 404402008-08-15 Bean <bean123ch@gmail.com>
40441
40442 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40443 and datehook.mod.
40444 (datetime_mod_SOURCES): New macro.
40445 (datetime_mod_CFLAGS): Likewise.
40446 (datetime_mod_LDFLAGS): Likewise.
40447 (date_mod_SOURCES): Likewise.
40448 (date_mod_CFLAGS): Likewise.
40449 (date_mod_LDFLAGS): Likewise.
40450 (datehook_mod_SOURCES): Likewise.
40451 (datehook_mod_CFLAGS): Likewise.
40452 (datehook_mod_LDFLAGS): Likewise.
40453
40454 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40455 and datehook.mod.
40456 (datetime_mod_SOURCES): New macro.
40457 (datetime_mod_CFLAGS): Likewise.
40458 (datetime_mod_LDFLAGS): Likewise.
40459 (date_mod_SOURCES): Likewise.
40460 (date_mod_CFLAGS): Likewise.
40461 (date_mod_LDFLAGS): Likewise.
40462 (datehook_mod_SOURCES): Likewise.
40463 (datehook_mod_CFLAGS): Likewise.
40464 (datehook_mod_LDFLAGS): Likewise.
40465
40466 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40467 and datehook.mod.
40468 (datetime_mod_SOURCES): New macro.
40469 (datetime_mod_CFLAGS): Likewise.
40470 (datetime_mod_LDFLAGS): Likewise.
40471 (date_mod_SOURCES): Likewise.
40472 (date_mod_CFLAGS): Likewise.
40473 (date_mod_LDFLAGS): Likewise.
40474 (datehook_mod_SOURCES): Likewise.
40475 (datehook_mod_CFLAGS): Likewise.
40476 (datehook_mod_LDFLAGS): Likewise.
40477
40478 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40479 and datehook.mod.
40480 (datetime_mod_SOURCES): New macro.
40481 (datetime_mod_CFLAGS): Likewise.
40482 (datetime_mod_LDFLAGS): Likewise.
40483 (date_mod_SOURCES): Likewise.
40484 (date_mod_CFLAGS): Likewise.
40485 (date_mod_LDFLAGS): Likewise.
40486 (datehook_mod_SOURCES): Likewise.
40487 (datehook_mod_CFLAGS): Likewise.
40488 (datehook_mod_LDFLAGS): Likewise.
40489
40490 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40491 and datehook.mod.
40492 (datetime_mod_SOURCES): New macro.
40493 (datetime_mod_CFLAGS): Likewise.
40494 (datetime_mod_LDFLAGS): Likewise.
40495 (date_mod_SOURCES): Likewise.
40496 (date_mod_CFLAGS): Likewise.
40497 (date_mod_LDFLAGS): Likewise.
40498 (datehook_mod_SOURCES): Likewise.
40499 (datehook_mod_CFLAGS): Likewise.
40500 (datehook_mod_LDFLAGS): Likewise.
40501
40502 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
40503
40504 * commands/date.c: New file.
40505
40506 * hook/datehook.c: Likewise.
40507
40508 * include/grub/lib/datetime.h: Likewise.
40509
40510 * include/grub/i386/cmos.h: Likewise.
40511
40512 * lib/datetime.c: Likewise.
40513
40514 * lib/i386/datetime.c: Likewise.
40515
40516 * lib/efi/datetime.c: Likewise.
40517
0e9242da 405182008-08-14 Robert Millan <rmh@aybabtu.com>
40519
40520 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
40521 (grub_mkelfimage_SOURCES): New variable.
40522 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
40523
40524 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
40525 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
40526 * conf/powerpc-ieee1275.rmk: Likewise.
40527 * conf/i386-ieee1275.rmk: Likewise.
40528
40529 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
40530 * kern/i386/coreboot/init.c: Likewise.
40531
40532 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
40533 with `<grub/cpu/kernel.h>'.
40534 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
40535 to ...
40536 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
40537 * kern/i386/coreboot/startup.S: Likewise.
40538
40539 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
40540 (GRUB_MOD_GAP): Remove.
40541 * include/grub/powerpc/kernel.h: New file.
40542 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
40543 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
40544 * include/grub/i386/kernel.h: New file.
40545 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
40546 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
40547 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
40548
40549 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
40550 `grub-mkelfimage'.
40551 Use --directory when invoking grub_mkimage.
40552
40553 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
40554 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
40555 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
40556 and GRUB_KERNEL_CPU_PREFIX.
40557
b86408f8 405582008-08-14 Felix Zielcke <fzielcke@z-51.de>
40559
d5e619ca 40560 * include/grub/err.h (grub_err_printf): New function prototype.
40561 * util/misc.c (grub_err_printf): New function.
40562 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
40563 grub_printf.
40564 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 40565
7161f0e0 405662008-08-13 Robert Millan <rmh@aybabtu.com>
40567
40568 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
40569
a1967522 405702008-08-13 Robert Millan <rmh@aybabtu.com>
40571
40572 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
40573 boot entry.
40574
371458b5 405752008-08-12 Robert Millan <rmh@aybabtu.com>
40576
40577 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
40578 of the relocation code from here ...
40579 (grub_multiboot): ... to here.
40580 (forward_relocator, backward_relocator): Move from here ...
40581 * kern/i386/loader.S (grub_multiboot_forward_relocator)
40582 (grub_multiboot_backward_relocator): ... to here.
40583 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
40584 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
40585 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
40586 (grub_multiboot_forward_relocator_end)
40587 (grub_multiboot_backward_relocator)
40588 (grub_multiboot_backward_relocator_end): New variables.
40589
05f9452b 405902008-08-12 Bean <bean123ch@gmail.com>
40591
40592 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
40593
20024ab0 405942008-08-11 Robert Millan <rmh@aybabtu.com>
40595
40596 * kern/i386/linuxbios/startup.S: Move from here ...
40597 * kern/i386/coreboot/startup.S: ... to here.
40598
40599 * kern/i386/linuxbios/init.c: Move from here ...
40600 * kern/i386/coreboot/init.c: ... to here.
40601
40602 * kern/i386/linuxbios/table.c: Move from here ...
40603 * kern/i386/coreboot/mmap.c: ... to here.
40604
40605 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
40606
e352e9cd 406072008-08-11 Robert Millan <rmh@aybabtu.com>
40608
40609 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
40610 errors. Leave it to the upper layer to handle them.
40611
2d05bc6a 406122008-08-09 Christian Franke <franke@computer.org>
40613
40614 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
40615 * conf/common.rmk: Install `grub-pe2elf' only if requested.
40616 Install `grub.d/10_windows' only on Cygwin.
40617 * configure.ac: Add subst of `target_os'.
40618 Check `target_os' also before setting TARGET_OBJ2ELF.
40619 Add `--enable-grub-pe2elf'.
40620
042bd419 406212008-08-08 Robert Millan <rmh@aybabtu.com>
40622
40623 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
40624 (grub_last_time): Change type to grub_uint64_t.
40625 (grub_disk_open): Migrate code from to using grub_get_time_ms().
40626 (grub_disk_close): Likewise.
40627
40628 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
40629 (run_menu): Migrate code from to using grub_get_time_ms().
40630
40631 * util/misc.c (grub_get_time_ms): New function.
40632
7f280db5 406332008-08-08 Marco Gerards <marco@gnu.org>
40634
40635 * disk/ata.c (grub_ata_regget): Change return type to
40636 `grub_uint8_t'.
40637 (grub_ata_regget2): Likewise.
40638 (grub_ata_wait_status): New function.
40639 (grub_ata_wait_busy): Removed function, updated all users to use
40640 `grub_ata_wait_status'.
40641 (grub_ata_wait_drq): Likewise.
40642 (grub_ata_cmd): New function.
40643 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
40644 error handling.
40645 (grub_ata_pio_write): Add error handling.
40646 (grub_atapi_identify): Likewise.
40647 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
40648 handling.
40649 (grub_ata_identify): Use `grub_ata_cmd' and improve error
40650 handling. Actually use the detected registers. Reorder the
40651 detection logic such that it is easier to read.
40652 (grub_ata_pciinit): Do not assign the same ID to each controller.
40653 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
40654 handling.
40655 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
40656
40657 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
40658
1fbc5e66 406592008-08-08 Marco Gerards <marco@gnu.org>
40660
40661 * NEWS: Update.
40662
819ce6c0 406632008-08-07 Bean <bean123ch@gmail.com>
40664
40665 * include/grub/x86_64/pci.h: New file.
40666
5c41d44d 406672008-08-07 Christian Franke <franke@computer.org>
40668
40669 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
40670 (TIMER2_GATE): Likewise.
40671 (grub_pit_wait): Add enable/disable of the timer2 gate
40672 bit of port 0x61. This fixes a possible infinite loop.
40673
5ebc275d 406742008-08-07 Bean <bean123ch@gmail.com>
40675
40676 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
40677 kern/i386/tsc.c and kern/i386/pit.c.
40678
40679 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
40680 x86_64 platform.
40681
40682 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
40683 <grub/i386/tsc.h>.
40684
40685 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
40686
e383b3d0 406872008-08-07 Bean <bean123ch@gmail.com>
40688
40689 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
40690
40691 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
40692
40693 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
40694 multiple inclusion. Add #include <grub/types.h>.
40695
1cbb58ac 406962008-08-06 Christian Franke <franke@computer.org>
40697
40698 * conf/common.rmk: Build and install `10_windows'.
40699 * util/grub.d/10_windows.in: New script.
40700
337f5a1e 407012008-08-06 Pavel Roskin <proski@gnu.org>
40702
40703 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
40704
057bc4ac 407052008-08-06 Robert Millan <rmh@aybabtu.com>
40706
40707 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
40708 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
40709
2b99f123 407102008-08-06 Bean <bean123ch@gmail.com>
40711
40712 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
40713 (grub_pxefs_fs_int): Remove dummy definition.
40714 (grub_pxefs_open): Use data->block_size to store the current block
40715 size setting.
40716 (grub_pxefs_read): Use block size stored in data->block_size. As the
40717 value of grub_pxe_blksize can be changed after the file is opened.
40718
9f0234cb 407192008-08-06 Bean <bean123ch@gmail.com>
40720
40721 * fs/i386/pc/pxe.c (curr_file): new variable.
40722 (grub_pxefs_open): Simply the handling of pxe file system. Don't
40723 require the dummy internal file system anymore.
40724 (grub_pxefs_read): Removed.
40725 (grub_pxefs_close): Likewise.
40726 (grub_pxefs_fs_int): Likewise.
40727 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
40728 connection when we switch file.
40729 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
40730
a55d42e0 407312008-08-06 Robert Millan <rmh@aybabtu.com>
40732
40733 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
40734 `halt.mod'.
40735 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
40736 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
40737
40738 * kern/i386/halt.c: New file.
40739 * kern/i386/reboot.c: Likewise.
40740 * include/grub/i386/reboot.h: Likewise.
40741 * include/grub/i386/halt.h: Likewise.
40742
40743 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
40744 Include `<grub/cpu/halt.h>'.
40745 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
40746 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
40747
40748 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
40749 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
40750 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
40751 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
40752 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
40753 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
40754 from here ...
40755 * include/grub/i386/at_keyboard.h: ... to here.
40756
24371d26 407572008-08-05 Robert Millan <rmh@aybabtu.com>
40758
40759 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
40760 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
40761 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
40762 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
40763 `kern/generic/millisleep.c'.
40764
40765 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
40766 instead of grub_get_rtc().
40767 (grub_tsc_init): Initialize `tsc_boot_time'.
40768
40769 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
40770 (grub_machine_init): Use grub_tsc_init() rather than
40771 installing an RTC-based handler via grub_install_get_time_ms().
40772
40773 * kern/i386/pit.c: New file.
40774 * include/grub/i386/pit.h: Likewise.
40775
9e7007b3 407762008-08-05 Bean <bean123ch@gmail.com>
40777
40778 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
40779
40780 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
40781 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
40782 (pxe_mod_SOURCES): New macro.
40783 (pxe_mod_CFLAGS): Likewise.
40784 (pxe_mod_LDFLAGS): Likewise.
40785 (pxecmd_mod_SOURCES): Likewise.
40786 (pxecmd_mod_CFLAGS): Likewise.
40787 (pxecmd_mod_LDFLAGS): Likewise.
40788
40789 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
40790 (grub_pxe_call): Likewise.
40791
40792 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
40793
40794 * commands/i386/pc/pxecmd.c: New file.
40795
9f0234cb 40796 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 40797
40798 * include/grub/i386/pc/pxe.h: Likewise.
40799
6977d49f 408002008-08-05 Bean <bean123ch@gmail.com>
40801
40802 * util/console.c (grub_console_cur_color): New variable.
40803 (grub_console_standard_color): Likewise.
40804 (grub_console_normal_color): Likewise.
40805 (grub_console_highlight_color): Likewise.
40806 (color_map): Likewise.
40807 (use_color): Likewise.
40808 (NUM_COLORS): New macro.
40809 (grub_ncurses_setcolorstate): Handle color properly.
40810 (grub_ncurses_setcolor): Don't change color here, just remember the
40811 settings, color will be set in grub_ncurses_setcolorstate.
40812 (grub_ncurses_getcolor): New function.
40813 (grub_ncurses_init): Initialize color pairs.
40814 (grub_ncurses_term): New member grub_ncurses_getcolor.
40815
9c2ff3ee 408162008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 40817
9c2ff3ee 40818 High resolution timer support. Implemented for x86 CPUs using TSC.
40819 Extracted generic grub_millisleep() so it's linked in only as needed.
40820 This requires a Pentium compatible CPU; if the RDTSC instruction is
40821 not supported, then it falls back on the generic grub_get_time_ms()
40822 implementation that uses the machine's RTC.
40823
40824 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
40825 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
40826 `kern/generic/millisleep.c'.
40827
40828 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
40829 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
40830
40831 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
40832 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
40833
40834 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
40835
40836 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
40837 `kern/generic/millisleep.c'.
40838
40839 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
40840
40841 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
40842
40843 * kern/generic/rtc_get_time_ms.c: New file.
40844
40845 * kern/generic/millisleep.c: New file.
337f5a1e 40846
9c2ff3ee 40847 * kern/misc.c: Don't include
40848 <kern/time.h> anymore.
40849 (grub_millisleep_generic): Removed.
40850
40851 * commands/sleep.c (grub_interruptible_millisleep): Uses
40852 grub_get_time_ms() instead of grub_get_rtc().
40853
40854 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
40855 function.
40856 (grub_cpu_is_cpuid_supported): New inline function.
40857 (grub_cpu_is_tsc_supported): New inline function.
40858 (grub_tsc_init): New function prototype.
40859 (grub_tsc_get_time_ms): New function prototype.
40860
40861 * kern/i386/tsc.c (grub_get_time_ms): New file.
40862
40863 * include/grub/time.h: Include <grub/types.h.
40864 (grub_millisleep_generic): Removed.
40865 (grub_get_time_ms): New prototype.
40866 (grub_install_get_time_ms): New prototype.
40867 (grub_rtc_get_time_ms): New prototype.
40868
40869 * kern/time.c (grub_get_time_ms): New function.
40870 (grub_install_get_time_ms): New function.
40871
40872 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
40873 <grub/time.h> anymore.
40874 (grub_millisleep): Removed.
40875 (grub_machine_init): Call grub_tsc_init.
40876
40877 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
40878 get_time_ms() implementation.
40879
40880 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
40881 (ieee1275_get_time_ms): New function.
40882 (grub_machine_init): Install get_time_ms() implementation.
40883
40884 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
40885 (grub_machine_init): Call grub_tsc_init().
40886 (grub_millisleep): Removed.
bf06a93f 40887
9c2ff3ee 40888 * kern/ieee1275/init.c (grub_millisleep): Removed.
40889 (grub_machine_init): Install ieee1275_get_time_ms()
40890 implementation.
40891 (ieee1275_get_time_ms): New function.
40892 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
40893 real work.
40894
9ec92aaf 408952008-08-05 Marco Gerards <marco@gnu.org>
40896
40897 * disk/ata.c: Include <grub/pci.h>.
40898 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
40899 (grub_ata_initialize): Rewritten.
40900 (grub_ata_device_initialize): New function.
40901
8d23f507 409022008-08-04 Pavel Roskin <proski@gnu.org>
40903
40904 * kern/main.c: Include grub/mm.h.
40905
5e15ee3d 409062008-08-04 Robert Millan <rmh@aybabtu.com>
40907
40908 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
40909 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
40910 corruption problem).
40911
a9053f8f 409122008-08-04 Robert Millan <rmh@aybabtu.com>
40913
40914 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
40915 warnings introduced in my last commit.
40916
dd19c7d7 409172008-08-03 Robert Millan <rmh@aybabtu.com>
40918
40919 Make PCI available on all i386 architectures.
40920
40921 * include/grub/i386/pc/pci.h: Move from here ...
40922 * include/grub/i386/pci.h: ... to here.
40923
40924 * include/grub/i386/pc/pci.h: Remove.
40925 * include/grub/i386/efi/pci.h: Remove.
40926 * include/grub/x86_64/efi/pci.h: Remove.
40927
40928 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
40929 `<grub/cpu/pci.h>'.
40930
40931 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
40932 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
40933 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
40934
40935 * conf/i386-ieee1275.rmk: Likewise.
40936
e14a6184 409372008-08-03 Robert Millan <rmh@aybabtu.com>
40938
40939 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
40940 (grub_console_setcursor): Make it possible to set cursor off.
40941
52768e37 409422008-08-03 Robert Millan <rmh@aybabtu.com>
40943
40944 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
40945 of modules instead of assuming which platform provides what.
40946 * util/update-grub.in: Likewise.
40947
2d52f57f 409482008-08-03 Robert Millan <rmh@aybabtu.com>
40949
40950 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
40951 instead of `grub_install_dos_part' to determine whether a drive needs
40952 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 40953 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 40954
2a5cd121 409552008-08-02 Robert Millan <rmh@aybabtu.com>
40956
40957 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
40958
93808428 409592008-08-02 Robert Millan <rmh@aybabtu.com>
40960
40961 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
40962 of informational grub_dprintf() calls.
40963
3bd0a12a 409642008-08-02 Robert Millan <rmh@aybabtu.com>
40965
40966 * disk/memdisk.c (memdisk_size): Don't initialize.
40967 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
40968
40969 * include/grub/i386/pc/kernel.h
40970 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
40971 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
40972 (grub_memdisk_image_size, grub_arch_memdisk_addr)
40973 (grub_arch_memdisk_size): Remove.
40974
40975 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
40976 field (was only used to transfer a constant). Add `type' field to
40977 support multiple module types.
40978 (grub_module_iterate): New function.
40979
40980 * kern/device.c (grub_device_open): Do not hide error messages
40981 when grub_disk_open() fails. Use grub_print_error() instead.
40982
40983 * kern/i386/pc/init.c (grub_arch_modules_addr)
40984 (grub_arch_memdisk_size): Remove functions.
40985 (grub_arch_modules_addr): Return the module address in high memory
40986 (now that it isn't copied anymore).
40987
40988 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
40989 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
40990 decompression routine (grub_total_module_size already includes that
40991 now). Don't copy modules back to low memory.
40992
40993 * kern/main.c: Include `<grub/mm.h>'.
40994 (grub_load_modules): Split out (and use) ...
40995 (grub_module_iterate): ... this function, which iterates through
40996 module objects and runs a hook.
40997 Comment out grub_mm_init_region() call, as it would cause non-ELF
40998 modules to be overwritten.
40999
41000 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
41001 the memdisk image in its own region, make it part of the module list.
41002 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
41003 (main): Parse --memdisk|-m option, and pass user-provided path as
41004 parameter to generate_image().
41005 (add_segments): Pass `memdisk_path' down to load_modules().
41006 (load_modules): Embed memdisk image in module section when requested.
41007 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
41008 `header.type' instead of `header.offset'.
41009
41010 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
41011 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
41012 (memdisk_mod_LDFLAGS): New variables.
41013 * conf/i386-coreboot.rmk: Likewise.
41014 * conf/i386-ieee1275.rmk: Likewise.
41015
a927cc73 410162008-08-02 Robert Millan <rmh@aybabtu.com>
41017
41018 * loader/i386/pc/multiboot.c (playground, forward_relocator)
41019 (backward_relocator): New variables. Used to allocate and relocate
41020 the payload, respectively.
41021 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 41022 address, install the appropriate relocator code in each bound of
a927cc73 41023 the payload, and set the entry point such that
41024 grub_multiboot_real_boot() will jump to one of them.
41025
41026 * kern/i386/loader.S (grub_multiboot_payload_size)
41027 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
41028 (grub_multiboot_payload_entry_offset): New variables.
41029 (grub_multiboot_real_boot): Set cpu context to what the relocator
41030 expects, and jump to the relocator instead of the payload.
41031
41032 * include/grub/i386/loader.h (grub_multiboot_payload_size)
41033 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
41034 (grub_multiboot_payload_entry_offset): Export.
41035
b15d8a0c 410362008-08-01 Bean <bean123ch@gmail.com>
41037
41038 * normal/menu_entry.c (editor_getline): Don't return the original
41039 string as result, as it will be released by lexer once it has done
41040 using it.
41041
cdfb3d22 410422008-08-01 Robert Millan <rmh@aybabtu.com>
41043
41044 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
41045 within menuentries, not before them.
41046 util/grub.d/10_hurd.in: Likewise.
41047
9175e93d 410482008-08-01 Bean <bean123ch@gmail.com>
41049
41050 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
41051 (bufio_mod_SOURCES): New macro.
41052 (bufio_mod_CFLAGS): Likewise.
41053 (bufio_mod_LDFLAGS): Likewise.
41054
41055 * include/grub/bufio.h: New file.
41056
41057 * io/bufio.c: Likewise.
41058
41059 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
41060 (grub_video_reader_png): Use grub_buffile_open to open file.
41061
41062 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
41063 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
41064
41065 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
41066 (grub_video_reader_tga): Use grub_buffile_open to open file.
41067
41068 * font/manager.c: Include <grub/bufio.h>.
41069 (add_font): Use grub_buffile_open to open file.
41070
3d8383e7 410712008-07-31 Robert Millan <rmh@aybabtu.com>
41072
41073 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
41074 ELF segments, use a macro for arbitrarily accessing any of them instead
41075 of preparing a pointer that allows access to one at a time.
41076 (grub_multiboot_load_elf64): Likewise.
41077
16e641b6 410782008-07-31 Bean <bean123ch@gmail.com>
41079
41080 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
41081 GRUB_KERNEL_MACHINE_DATA_END.
41082
59198b72 410832008-07-30 Robert Millan <rmh@aybabtu.com>
41084
41085 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
41086 Increase from 0x50 to 0x60.
41087 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
41088 use UUIDs to identify the root drive for them. If that's not
41089 possible, abort.
41090 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
41091 check, for cross-disk installs.
41092
ae88bca3 410932008-07-30 Robert Millan <rmh@aybabtu.com>
41094
41095 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
41096 is non-empty, use it to set the `prefix' environment variable instead
41097 of the usual approach.
41098 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
41099 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
41100 environment variable instead of dummy make_install_device().
41101
41102 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
41103 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 41104 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 41105
41106 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
41107 New variable reference.
41108 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
41109 New macro. Defines offset of `grub_prefix' within startup.S (relative
41110 to `start').
41111 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
41112 section within startup.S (relative to `start').
41113 * include/grub/i386/coreboot/kernel.h: Likewise.
41114
41115 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
41116 Overwrite grub_prefix with its contents, at the beginning of the
41117 first segment.
41118 (main): Understand -p|--prefix.
41119
14f41dd1 411202008-07-30 Robert Millan <rmh@aybabtu.com>
41121
41122 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
41123
4ca049a3 411242008-07-30 Robert Millan <rmh@aybabtu.com>
41125
41126 * term/i386/pc/vga_text.c (grub_console_cls): Use
41127 grub_console_gotoxy() to go back to beginning of the screen.
41128 Found by Patrick Georgi <patrick.georgi@coresystems.de>
41129
2921d337 411302008-07-29 Christian Franke <franke@computer.org>
41131
41132 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
41133 Add conversion of emulated mount points on Cygwin.
41134
b609876d 411352008-07-29 Christian Franke <franke@computer.org>
41136
41137 * util/update-grub.in: Add a check for admin
41138 group on Cygwin.
41139 Remove old `grub.cfg.new' before creation.
41140 Add `-f' to `mv' to handle the different filesystem
41141 semantics of Windows.
41142
e93e4679 411432008-07-29 Bean <bean123ch@gmail.com>
41144
41145 * normal/main.c (get_line): Fix buffer overflow bug.
41146
41694fd0 411472008-07-28 Robert Millan <rmh@aybabtu.com>
41148
41149 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
41150 (struct grub_apple_header): New struct. Describes the layout of
41151 the partmap header.
41152 (apple_partition_map_iterate): Check the header magic as well as the
41153 partition magic (which was already being checked).
41154
cfd0b4e6 411552008-07-28 Pavel Roskin <proski@gnu.org>
41156
41157 * genmk.rb: Add a warning to the beginning of the output that
41158 it's a generated file and should not be edited.
41159
93cce016 411602008-07-28 Robert Millan <rmh@aybabtu.com>
41161
41162 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
41163 with the same number are found, just use issue a warning with
41164 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 41165
cd1df915 411662008-07-27 Robert Millan <rmh@aybabtu.com>
41167
41168 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
41169 information.
41170
b70a8427 411712008-07-27 Bean <bean123ch@gmail.com>
41172
41173 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
41174 (grub_fat_find_dir): Ignore case when comparing filename.
41175
8f5e379f 411762008-07-27 Bean <bean123ch@gmail.com>
41177
41178 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
41179 smallino, as it's more descriptive, and i8count can be confused with
41180 the other field count.
41181 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
41182 inode type.
41183
a85cd5a0 411842008-07-27 Bean <bean123ch@gmail.com>
41185
41186 * commands/crc.c: New file.
41187
41188 * lib/crc.c: Likewise.
41189
41190 * include/grub/lib/crc.h: Likewise.
41191
41192 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
41193
41194 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
41195 (hexdump): Move this function to ...
41196
41197 * lib/hexdump.c: ... here.
41198
41199 * include/grub/hexdump.h: Renamed to ...
41200
41201 * include/grub/lib/hexdump.h: ... this.
41202
41203 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
41204
41205 * util/grub-editenv.c: Likewise.
41206
41207 * include/envblk.h: Renamed to ...
41208
41209 * include/lib/envblk.h: ... this.
41210
41211 * util/envblk.c: Renamed to ...
41212
41213 * lib/envblk.c: ... this.
41214
41215 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
41216 lib/hexdump.c.
41217 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
41218 (pkglib_MODULES): Add crc.mod.
41219 (hexdump_mod_SOURCES): Add lib/hexdump.c.
41220 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
41221 (crc_mod_SOURCES): New macro.
41222 (crc_mod_CFLAGS): Likewise.
41223 (crc_mod_LDFLAGS): Likewise.
41224
41225 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
41226
41227 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41228
41229 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
41230
41231 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41232
41233 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
41234
c298def0 412352008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 41236
41237 * commands/help.c: Include <grub/term.h>.
41238 (TERM_WIDTH): Removed. Updated all users.
41239
cc349fb3 412402008-07-27 Pavel Roskin <proski@gnu.org>
41241
41242 * util/getroot.c (find_root_device): Rephrase a comment to avoid
41243 spurious warnings about a comment within a comment.
41244
9051607e 412452008-07-25 Robert Millan <rmh@aybabtu.com>
41246
41247 * util/getroot.c (find_root_device): Skip devices that match
41248 /dev/dm-[0-9]. This lets the real device be found for any type of
41249 abstraction (LVM, EVMS, RAID..).
41250 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
41251 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
41252 device is found first, find_root_device() will now skip it.
41253
01453bfc 412542008-07-24 Pavel Roskin <proski@gnu.org>
41255
41256 * include/grub/types.h: Use __builtin_bswap32() and
41257 __builtin_bswap64() with gcc 4.3 and newer.
41258
6af9849f 412592008-07-24 Christian Franke <franke@computer.org>
41260
3a0fa256 41261 * util/i386/pc/grub-install.in: If `--debug' is specified,
41262 pass `--verbose' to grub-setup.
41263 Abort script if make_system_path_relative_to_its_root() fails.
41264
7810e747 412652008-07-24 Bean <bean123ch@gmail.com>
41266
41267 * configure.ac: Fixed a bug caused by the previous cygwin patch,
41268 variable `target_platform' should be `platform'.
41269
42290e17 412702008-07-24 Bean <bean123ch@gmail.com>
41271
51cc5193 41272 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 41273 (grub_png_init_fixed_block): New function.
41274 (grub_png_decode_image_data): Handle fixed huffman code compression.
41275
2a8a80e4 412762008-07-24 Bean <bean123ch@gmail.com>
41277
41278 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
41279 (grub_pe2elf_SOURCES): New macro.
41280 (CLEANFILES): Add grub-pe2elf.
41281
41282 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
41283 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
41284 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
41285 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
41286 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
41287 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
41288 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
41289 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
41290 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
41291 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
41292 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
41293 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
41294 (GRUB_PE32_DT_FUNCTION): Likewise.
41295 (GRUB_PE32_REL_I386_DIR32): Likewise.
41296 (GRUB_PE32_REL_I386_REL32): Likewise.
41297 (grub_pe32_symbol): New structure.
41298 (grub_pe32_reloc): Likewise.
41299
41300 * util/grub-pe2elf.c: New file.
41301
41302 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
41303 start symbol in non pc platform.
41304
41305 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
41306
41307 The following patches are from Christian Franke.
41308
41309 * include/grub/dl.h: Remove .previous, gas supports this only
41310 for ELF format.
41311
41312 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
41313 Remove .type, gas supports this only for ELF format.
41314
41315 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
41316 nullbytes in symbol table. This fixes an infinite loop if table is
41317 zero filled.
41318
41319 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
41320 TARGET_IMG_LDFLAGS and EXEEXT.
41321
41322 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
41323 TARGET_IMG_LDFLAGS_AC.
41324 (grub_CHECK_STACK_ARG_PROBE): New function.
41325
41326 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
41327
41328 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
41329
41330 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
41331 to set TARGET_IMG_LD* accordingly.
41332 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
41333 Add call to grub_CHECK_STACK_ARG_PROBE.
41334 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
41335
41336 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
41337
41338 * genmk.rb: Add EXEEXT to CLEANFILES.
41339
12ccdb75 413402008-07-23 Robert Millan <rmh@aybabtu.com>
41341
41342 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
41343 define the codes for arrows and lines used for the menu).
41344 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
41345 as well.
41346
41347 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
41348 fonts, because the latter are too slow.
41349
18eeaf04 413502008-07-21 Bean <bean123ch@gmail.com>
41351
41352 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
41353 a20. Run keyboard test last, as it will cause macbook to halt.
41354
b095e2ad 413552008-07-18 Pavel Roskin <proski@gnu.org>
41356
41357 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
41358 load foreign architecture modules correctly anyway. Keep
41359 support for loading host architecture modules, whether we
41360 compile them or not.
41361
737feb35 413622008-07-17 Pavel Roskin <proski@gnu.org>
41363
3f4ce737 41364 * configure.ac: Use -m32 or -m64 regardless of whether we had to
41365 change target_cpu. The compiler default can mismatch target_cpu
41366 in any case.
41367
4ad2d049 41368 * disk/efi/efidisk.c: Fix format warnings on x86_64.
41369 * kern/efi/efi.c: Likewise.
41370
f6130a12 41371 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
41372 target compiler is functional.
41373 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
41374 are set up.
41375
58393a2d 41376 * configure.ac: Default to efi platform for x86_64-apple. Allow
41377 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
41378 adjustments from the rest, only do them if target is not
41379 explicitly given. Merge other adjustments with the final sanity
41380 check. Remove an extraneous check for supported CPU. Be
41381 specific which CPU and which platform is not supported.
41382
737feb35 41383 * configure.ac: Default to pc platform for x86_64.
41384
546f966a 413852008-07-17 Robert Millan <rmh@aybabtu.com>
41386
41387 Partial LinuxBIOS -> Coreboot rename.
41388
41389 * conf/i386-linuxbios.rmk: Renamed to ...
41390 * conf/i386-coreboot.rmk: ... this.
41391 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
41392 * configure.ac: Accept "coreboot" as input platform (but maintain
41393 compatibility with "linuxbios").
41394 * include/grub/i386/linuxbios: Renamed to ...
41395 * include/grub/i386/coreboot: ... this.
41396
20011694 413972008-07-17 Bean <bean123ch@gmail.com>
41398
41399 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 41400 (appleldr_mod_SOURCE): New variable.
20011694 41401 (appleldr_mod_CFLAGS): Likewise.
41402 (appleldr_mod_LDFLAGS): Likewise.
41403 (pci_mod_SOURCES): Likewise.
41404 (pci_mod_CFLAGS): Likewise.
41405 (pci_mod_LDFLAGS): Likewise.
41406 (lspci_mod_SOURCES): Likewise.
41407 (lspci_mod_CFLAGS): Likewise.
41408 (lspci_mod_LDFLAGS): Likewise.
41409
41410 * conf/x86_64-efi.rmk: New file.
41411
41412 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
41413 macro.
41414 (grub_efidisk_write): Likewise.
41415
41416 * include/efi/api.h (efi_call_0): New macro.
41417 (efi_call_1): Likewise.
41418 (efi_call_2): Likewise.
41419 (efi_call_3): Likewise.
41420 (efi_call_4): Likewise.
41421 (efi_call_5): Likewise.
41422 (efi_call_6): Likewise.
41423
41424 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
41425 grub_rescue_cmd_chainloader.
41426
41427 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
41428 (grub_pe32_optional_header): Change some fields based on i386 or
41429 x86_64 platform.
41430 (GRUB_PE32_PE32_MAGIC): Likewise.
41431
41432 * include/grub/efi/uga_draw.h: New file.
41433
41434 * include/grub/elf.h (STN_ABS): New constant.
41435 (R_X86_64_NONE): Relocation constant for x86_64.
41436 (R_X86_64_64): Likewise.
41437 (R_X86_64_PC32): Likewise.
41438 (R_X86_64_GOT32): Likewise.
41439 (R_X86_64_PLT32): Likewise.
41440 (R_X86_64_COPY): Likewise.
41441 (R_X86_64_GLOB_DAT): Likewise.
41442 (R_X86_64_JUMP_SLOT): Likewise.
41443 (R_X86_64_RELATIVE): Likewise.
41444 (R_X86_64_GOTPCREL): Likewise.
41445 (R_X86_64_32): Likewise.
41446 (R_X86_64_32S): Likewise.
41447 (R_X86_64_16): Likewise.
41448 (R_X86_64_PC16): Likewise.
41449 (R_X86_64_8): Likewise.
41450 (R_X86_64_PC8): Likewise.
41451
41452 * include/grub/i386/efi/pci.h: New file.
41453
41454 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
41455 Change it value based on platform.
41456 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
41457 (GRUB_E820_RAM): Likewise.
41458 (GRUB_E820_RESERVED): Likewise.
41459 (GRUB_E820_ACPI): Likewise.
41460 (GRUB_E820_NVS): Likewise.
41461 (GRUB_E820_EXEC_CODE): Likewise.
41462 (GRUB_E820_MAX_ENTRY): Likewise.
41463 (grub_e820_mmap): New structure.
41464 (linux_kernel_header): Change the efi field according to different
41465 kernel version, also field from linux_kernel_header.
41466
41467 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
41468
41469 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
41470 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
41471 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
41472 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
41473 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
41474 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
41475 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
41476 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
41477 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
41478 (GRUB_PCI_ADDR_IO_MASK): Likewise.
41479
41480 * include/grub/x86_64/efi/kernel.h: New file.
41481
41482 * include/grub/x86_64/efi/loader.h: Likewise.
41483
41484 * include/grub/x86_64/efi/machine.h: Likewise.
41485
41486 * include/grub/x86_64/efi/pci.h: Likewise.
41487
41488 * include/grub/x86_64/efi/time.h: Likewise.
41489
41490 * include/grub/x86_64/linux.h: Likewise.
41491
41492 * include/grub/x86_64/setjmp.h: Likewise.
41493
41494 * include/grub/x86_64/time.h: Likewise.
41495
41496 * include/grub/x86_64/types.h: Likewise.
41497
41498 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
41499 GRUB_TARGET_SIZEOF_VOID_P.
41500
41501 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
41502 (grub_efi_locate_handle): Likewise.
41503 (grub_efi_open_protocol): Likewise.
41504 (grub_efi_set_text_mode): Likewise.
41505 (grub_efi_stall): Likewise.
41506 (grub_exit): Likewise.
41507 (grub_reboot): Likewise.
41508 (grub_halt): Likewise.
41509 (grub_efi_exit_boot_services): Likewise.
41510 (grub_get_rtc): Likewise.
41511
41512 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
41513 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
41514 (grub_efi_allocate_pages): Wrap efi calls.
41515 (grub_efi_free_pages): Wrap efi calls.
41516 (grub_efi_get_memory_map): Wrap efi calls.
41517
41518 * kern/x86_64/dl.c: New file.
41519
41520 * kern/x86_64/efi/callwrap.S: Likewise.
41521
41522 * kern/x86_64/efi/startup.S: Likewise.
41523
41524 * loader/efi/appleloader.c: Likewise.
41525
41526 * loader/efi/chainloader.c (cmdline): New variable.
41527 (grub_chainloader_unload): Wrap efi calls.
41528 (grub_chainloader_boot): Likewise.
41529 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
41530 command line.
41531
41532 * loader/efi/chainloader_normal.c (chainloader_command):
41533 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
41534 command line.
41535
41536 * loader/i386/efi/linux.c (allocate_pages): Change allocation
41537 method.
41538 (grub_e820_add_region): New function.
41539 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
41540 booting.
41541 (grub_find_video_card): New function.
41542 (grub_linux_setup_video): New function.
41543 (grub_rescue_cmd_linux): Probe for video information.
41544
41545 * normal/x86_64/setjmp.S: New file.
41546
41547 * term/efi/console.c (map_char): New function.
41548 (grub_console_putchar): Map unicode char.
41549 (grub_console_checkkey): Wrap efi calls.
41550 (grub_console_getkey): Likewise.
41551 (grub_console_getwh): Likewise.
41552 (grub_console_gotoxy): Likewise.
41553 (grub_console_cls): Likewise.
41554 (grub_console_setcolorstate): Likewise.
41555 (grub_console_setcursor): Likewise.
41556
41557 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
41558
59652a20 415592008-07-16 Pavel Roskin <proski@gnu.org>
41560
ef294055 41561 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
41562 format strings.
41563
59652a20 41564 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
41565 pointer, not an integer. This fixes a warning and prevents
41566 precision loss on 64-bit systems.
41567 (relocate_addresses): Remove unneeded cast.
41568
afc3b5d7 415692008-07-15 Pavel Roskin <proski@gnu.org>
41570
506b2b3e 41571 * kern/i386/ieee1275/init.c: Include grub/cache.h.
41572
62ead89c 41573 * term/ieee1275/ofconsole.c: Disable code unused on i386.
41574
c4cd51d7 41575 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
41576 Fix comparison between signed and unsigned.
41577
0d3d8f28 41578 * include/grub/i386/ieee1275/console.h: Declare
41579 grub_console_init() and grub_console_fini().
41580
8804b286 41581 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
41582 It's empty and unused.
41583
ee01cf35 41584 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
41585 beginning to avoid warnings with some compilers.
41586
afc3b5d7 41587 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
41588 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
41589
e4e8eaa5 415902008-07-14 Pavel Roskin <proski@gnu.org>
41591
407aceb4 41592 * kern/env.c (grub_register_variable_hook): Don't copy empty
41593 string, it leaks memory. Pass "" to grub_env_set(), it should
41594 handle constant strings.
41595
e4e8eaa5 41596 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
41597 * commands/cmp.c (grub_cmd_cmp): Likewise.
41598 * kern/dl.c (grub_dl_flush_cache): Likewise.
41599 (grub_dl_load_core): Likewise.
41600 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
41601 (grub_elf64_load_phdrs): Likewise.
41602
d4e2dad3 416032008-07-13 Pavel Roskin <proski@gnu.org>
41604
41605 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
41606 between signed and unsigned.
41607 (LzmaEnc_Finish): Fix warning about an unused parameter.
41608
aa24b516 416092008-07-13 Bean <bean123ch@gmail.com>
41610
41611 * Makefile.in (enable_lzo): New rule.
41612
41613 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
41614
41615 * configure.ac (ENABLE_LZO): New option --enable-lzo.
41616
41617 * boot/i386/pc/lnxboot.S: #include <config.h>.
41618
41619 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 41620 its value according to the compression algorithm used, lzo or lzma.
aa24b516 41621
41622 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
41623 compression algorithm according to configure macro.
41624
41625 * kern/i386/pc/startup.S (codestart): Likewise.
41626
41627 * kern/i386/pc/lzma_decode.S: New file.
41628
41629 * include/grub/lib/LzFind.h: Likewise.
41630
41631 * include/grub/lib/LzHash.h: Likewise.
41632
41633 * include/grub/lib/LzmaDec.h: Likewise.
41634
41635 * include/grub/lib/LzmaEnc.h: Likewise.
41636
41637 * include/grub/lib/LzmaTypes.h: Likewise.
41638
41639 * lib/LzFind.c: Likewise.
41640
41641 * lib/LzmaDec.c: Likewise.
41642
41643 * lib/LzmaEnc.c: Likewise.
41644
4ae821ac 416452008-07-13 Bean <bean123ch@gmail.com>
41646
41647 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
41648 (grub_ext4_extent_header): New structure.
41649 (grub_ext4_extent): Likewise.
41650 (grub_ext4_extent_idx): Likewise.
41651 (grub_ext4_find_leaf): New function.
41652 (grub_ext2_read_block): Handle extents.
41653
9a745147 416542008-07-12 Robert Millan <rmh@aybabtu.com>
41655
41656 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
41657
d49a4cf6 416582008-07-11 Robert Millan <rmh@aybabtu.com>
41659
41660 * util/grub.d/40_custom.in: New file. Example on how to add custom
41661 entries to /etc/grub.d.
41662 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
41663 40_custom (implicitly, by merging all the grub.d rules).
41664
947414b4 416652008-07-11 Pavel Roskin <proski@gnu.org>
41666
0059cf6f 41667 * commands/read.c (grub_getline): Fix invalid memory access.
41668 Don't add newline to the variable value.
41669
947414b4 41670 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
41671 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
41672 (serial_hw_get_port): Check validity of the port number.
41673 (grub_cmd_serial): Check return value of serial_hw_get_port().
41674
62a02d00 416752008-07-07 Pavel Roskin <proski@gnu.org>
41676
41677 * boot/i386/pc/diskboot.S (notification_string): Replace
41678 "Loading kernel" with just "loading". This is shorter, less
41679 confusing and saves a few bytes for possible future changes.
41680
3e5581b0 416812008-07-05 Pavel Roskin <proski@gnu.org>
41682
ea387a48 41683 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
41684 size for ATAPI devices, they are undefined. Output sector
41685 number in decimal form.
41686
3e5581b0 41687 * disk/ata.c: Use named constants for status bits.
41688
fdecb8fd 416892008-07-04 Pavel Roskin <proski@gnu.org>
41690
bcd35b90 41691 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
41692 grub_addr_t before casting it to the void pointer to fix a
41693 warning. Non-addressable regions are discarded earlier.
41694 (grub_arch_modules_addr): Cast _end to grub_addr_t.
41695 * kern/i386/linuxbios/table.c: Include grub/misc.h.
41696 (check_signature): Don't shadow table_header.
41697 (grub_linuxbios_table_iterate): Cast numeric constants to
41698 grub_linuxbios_table_header_t.
41699 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
41700 grub_stop().
41701
af58ab3d 41702 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
41703 prevent warnings.
41704
1759aa57 41705 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
41706 pointer, which can cause warnings. Support 64-bit addresses.
41707
fdecb8fd 41708 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
41709 of sizeof(long). This fixes PowerPC image generation on x86_64.
41710
8516d2a8 417112008-07-04 Robert Millan <rmh@aybabtu.com>
41712
41713 This fixes a performance issue when pc & gpt partmap iterators
41714 didn't abort iteration even after our hook found what it was
fe987087 41715 looking for (often causing expensive probes of non-existent drives).
8516d2a8 41716
41717 Some callers relied on previous buggy behaviour, since they would
34c44600 41718 raise an error when their own hooks caused early abortion of its
8516d2a8 41719 iteration.
41720
41721 * kern/device.c (grub_device_open): Improve error message.
41722 * disk/lvm.c (grub_lvm_open): Likewise.
41723 * disk/raid.c (grub_raid_open): Likewise.
41724
41725 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
41726 when hook requests it, independently of grub_errno.
41727 (pc_partition_map_probe): Do not fail when find_func() caused
41728 early abortion of pc_partition_map_iterate().
41729
41730 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
41731 when hook requests it, independently of grub_errno.
41732 (gpt_partition_map_probe): Do not fail when find_func() caused
41733 early abortion of gpt_partition_map_iterate().
41734
41735 * kern/partition.c (grub_partition_iterate): Abort parent iteration
41736 when hook requests it, independently of grub_errno. Do not fail when
41737 part_map_iterate_hook() caused early abortion of p->iterate().
41738
41739 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
41740 when grub_partition_iterate() returned with non-zero.
41741
277d0de9 417422008-07-03 Pavel Roskin <proski@gnu.org>
41743
41744 * disk/ata.c (grub_ata_pio_write): Check status before writing,
41745 like we do in grub_ata_pio_read().
41746 (grub_ata_readwrite): Always write individual sectors. Fix the
41747 sector count for the remainder.
41748 (grub_ata_write): Enable writing to ATA devices. Correctly
41749 report error for ATAPI devices.
41750
d4c9b428 417512008-07-02 Pavel Roskin <proski@gnu.org>
41752
e43fc690 41753 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
41754 warning.
41755
f707af42 41756 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
41757 for every read sector, we already increment it for the whole
41758 batch. This fixes reading more than 256 sectors at once.
41759
11e16b15 41760 * util/grub-editenv.c (cmd_info): Cast argument to long
41761 explicitly. ptrdiff_t reduces to int on i386.
41762
cbabfdd4 41763 * util/grub-editenv.c (main): Be specific which parameter is
41764 missing.
41765
b8fbce0a 41766 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
41767 (memdisk): Make memdisk_orig_addr a pointer.
41768
c9c8e606 41769 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
41770 for file offsets, use grub_off_t instead. Fix printf format
41771 warnings.
41772
ca62e598 41773 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
41774 there. Real unexpected warnings should not drown in the noise
41775 about known problems.
41776
ce8d1766 41777 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
41778 grub_disk_addr_t for memory addresses.
41779
00c7a56a 41780 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
41781 explicitly to fix a warning.
41782
08d3ef09 41783 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
41784
cb71ba20 41785 * Makefile.in (MODULE_LDFLAGS): New variable.
41786 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
41787 the linker accepts --build-id=none.
41788 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
41789 MODULE_LDFLAGS.
41790 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
41791
d4c9b428 41792 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
41793 those in Linux XFS code. Provide a way to access 64-bit parent
41794 inode.
41795 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
41796 the end of struct grub_xfs_dir_header.
41797
d4156eee 417982008-07-02 Bean <bean123ch@gmail.com>
41799
41800 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
41801 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
41802 and GRUB_IEEE1275_FLAG_NO_ANSI.
41803
41804 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
41805 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
41806 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
41807
41808 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
41809 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
41810
41811 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
41812 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
41813
41814 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
41815 esc sequence on non ANSI terminal.
41816 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
41817
41818 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
41819 beginning of file.
41820
2270f77b 418212008-07-02 Bean <bean123ch@gmail.com>
41822
41823 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
41824 (grub_editenv_SOURCES): New variable.
41825 (pkglib_MODULES): Add loadenv.mod.
41826 (loadenv_mod_SOURCES): New variable.
41827 (loadenv_mod_CFLAGS): Likewise.
41828 (loadenv_mod_LDFLAGS): Likewise.
41829
41830 * include/grub/envblk.h: New file.
41831
41832 * util/envblk.c: New file.
41833
41834 * util/grub-editenv.c: New file.
41835
41836 * commands/loadenv.c: New file.
41837
0e9e51ec 418382008-07-01 Pavel Roskin <proski@gnu.org>
41839
d89b7634 41840 * include/multiboot2.h (struct multiboot_tag_module): Use char,
41841 not unsigned char. This fixes warnings and is consistent with
41842 other tags.
41843
bf1835b1 41844 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
41845
8222a04b 41846 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
41847
6a42d99d 41848 * term/tparm.c (analyze): Always set *popcount.
41849
10b159d1 41850 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
41851 cast to fix a warning.
41852
b8789f6c 41853 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
41854 cast to suppress a warning.
41855
29d7e38a 41856 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
41857 grub_fshelp_read_file() expects.
41858
f341f669 41859 * fs/fat.c: Fix UUID calculation on big-endian systems. We
41860 write uuid as a 32-bit value in CPU byte order, so declare and
41861 use it as such.
41862
0e9e51ec 41863 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
41864 long if the format specifier expects it.
41865 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
41866 * partmap/pc.c (pc_partition_map_iterate): Likewise.
41867 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
41868 long to fix a warning.
41869 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
41870 grub_dprintf() arguments to fix warnings.
41871
3aefa857 418722008-06-30 Pavel Roskin <proski@gnu.org>
41873
56c7668b 41874 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
41875 install_bsd_part immediately before core.img is embedded or
41876 modified on disk. This fixes core.img verification if core.img
41877 cannot be embedded.
41878
3aefa857 41879 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
41880 core_path to calculate the blocklist.
41881 Patch from Javier Martín <lordhabbit@gmail.com>
41882
5444088d 418832008-06-29 Robert Millan <rmh@aybabtu.com>
41884
41885 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
41886 block to disk block.
41887 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
41888 Patch from Niels Böhm <bitbucket@arcor.de>
41889
674835c8 418902008-06-29 Robert Millan <rmh@aybabtu.com>
41891
41892 * util/update-grub_lib.in (font_path): Search for fonts in
41893 /boot/grub first, which is more likely to be readable (we aren't
41894 deciding where fonts live, just looking for them).
41895
f527dbc8 418962008-06-26 Pavel Roskin <proski@gnu.org>
41897
6c2d8df6 41898 * util/biosdisk.c (read_device_map): Don't leave dead map
41899 entries for devices failing stat() check.
41900
f527dbc8 41901 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
41902 core_path_dev for the core.img path on the target device.
41903
aebe3d13 419042008-06-26 Robert Millan <rmh@aybabtu.com>
41905
41906 * disk/fs_uuid.c: New file.
41907 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
41908 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
41909 (fs_uuid_mod_LDFLAGS): New variables.
41910 * include/grub/disk.h (grub_disk_dev_id): Add
41911 `GRUB_DISK_DEVICE_UUID_ID'.
41912 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
41913 implement iterate().
41914
37aaf354 419152008-06-26 Robert Millan <rmh@aybabtu.com>
41916
41917 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
41918 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
41919 Linux image includes no initrd.
41920
25ff262a 419212008-06-21 Javier Martín <lordhabbit@gmail.com>
41922
41923 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
41924 call to resolve the core image location that effectively appended the
41925 name twice.
41926
76a2bd44 419272008-06-21 Robert Millan <rmh@aybabtu.com>
41928
41929 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
41930 call from here ...
41931
41932 * util/grub.d/10_hurd.in: ... to here ...
41933 * util/grub.d/10_linux.in: ... and here.
41934
650e1c79 419352008-06-19 Robert Millan <rmh@aybabtu.com>
41936
fe987087 41937 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 41938 after it has been set by grub_machine_set_prefix().
41939
6ce63911 419402008-06-19 Robert Millan <rmh@aybabtu.com>
41941
41942 * commands/search.c (search_label, search_fs_uuid, search_file): Print
41943 search result when not saving to variable, not the other way around.
41944 When saving to variable, abort iteration as soon as a match is found.
41945
73940cec 419462008-06-19 Robert Millan <rmh@aybabtu.com>
41947
41948 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
41949 check for partition that provides /boot/grub. Its logic is flawed,
41950 as it prevents prepare_grub_to_access_device() from being called
41951 multiple times.
41952
3c62a39d 419532008-06-19 Robert Millan <rmh@aybabtu.com>
41954
41955 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
41956 "insmod" command directly when abstraction modules are needed,
fe987087 41957 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 41958 since it had already been processed).
41959
47395a42 419602008-06-19 Pavel Roskin <proski@gnu.org>
41961
41962 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
41963 changed. This is needed in case GRUB_LIBDIR changes.
41964 * conf/i386-ieee1275.rmk: Likewise.
41965 * conf/i386-linuxbios.rmk: Likewise.
41966 * conf/i386-pc.rmk: Likewise.
41967 * conf/powerpc-ieee1275.rmk: Likewise.
41968
a145ac2d 419692008-06-18 Pavel Roskin <proski@gnu.org>
41970
41971 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
41972 kernel_elf_symlist.c to symlist.c for consistency with other
41973 architectures. Update all users.
41974 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
41975
7847c51e 419762008-06-18 Robert Millan <rmh@aybabtu.com>
41977
41978 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
41979 it in prefix.
41980
41981 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
41982 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
41983 a RAID device, run setup() for all members independently on whether
41984 LVM abstraction is being used.
41985 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
41986 If grub-mkimage has set `*install_dos_part == -2', don't override this
41987 value.
41988 Perform *install_dos_part adjustments independently on whether
41989 we're embedding or not.
41990 Clarify error message when image is too big for embedding.
41991 Remove duplicate *install_dos_part stanza.
41992
b23e5644 419932008-06-17 Robert Millan <rmh@aybabtu.com>
41994
41995 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
41996 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
41997 variables.
41998 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
41999 values in grub_ofconsole_normal_color and
42000 grub_ofconsole_highlight_color (they're not directly related to
42001 background and foreground).
42002 (grub_ofconsole_setcolorstate): Extract background and foreground
42003 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
42004
0aac2f79 420052008-06-17 Robert Millan <rmh@aybabtu.com>
42006
42007 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
42008 /boot/grub for the check in last commit, not /boot (they could be
42009 different partitions).
42010
3cca7ef3 420112008-06-16 Robert Millan <rmh@aybabtu.com>
42012
42013 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
42014 asked to setup access for the same partition that provides /boot,
42015 don't bother using UUIDs since our root already has the value we
42016 want.
42017
347396d8 420182008-06-16 Robert Millan <rmh@aybabtu.com>
42019
42020 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
42021 I2O devices.
42022 Patch from Sven Mueller <sven@debian.org>.
42023
991477f8 420242008-06-16 Robert Millan <rmh@aybabtu.com>
42025
42026 * util/update-grub.in: Check for $EUID instead of $UID.
42027 Reported by Vincent Zweije.
42028
d31a32a1 420292008-06-16 Bean <bean123ch@gmail.com>
42030
fe987087 42031 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 42032 (grub_ext2_read_block): Likewise.
42033 (grub_ext2_read_inode): Likewise.
42034 (grub_ext2_mount): Likewise.
42035 (grub_ext2_close): Likewise.
42036 (grub_ext3_get_journal): Removed.
42037
fe987087 42038 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 42039 (grub_reiserfs_read_symlink): Likewise.
42040 (grub_reiserfs_mount): Likewise.
42041 (grub_reiserfs_open): Likewise.
42042 (grub_reiserfs_read): Likewise.
42043 (grub_reiserfs_close): Likewise.
42044 (grub_reiserfs_get_journal): Removed.
42045
42046 * fs/fshelp.c (grub_fshelp_read): Removed.
42047 (grub_fshelp_map_block): Likewise.
42048
42049 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
42050 (grub_fshelp_journal): Likewise.
42051 (grub_fshelp_read): Likewise.
42052 (grub_fshelp_map_block): Likewise.
42053
3540a760 420542008-06-16 Pavel Roskin <proski@gnu.org>
42055
42056 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
42057 floating point anymore.
42058 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
42059
95614c84 420602008-06-15 Pavel Roskin <proski@gnu.org>
42061
42062 * commands/ls.c (grub_ls_list_files): Use integer calculations
42063 for human readable format, avoid floating point use.
42064 * kern/misc.c (grub_ftoa): Remove.
42065 (grub_vsprintf): Remove floating point support.
42066
50465dd6 420672008-06-15 Robert Millan <rmh@aybabtu.com>
42068
fe6b695a 42069 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 42070 devices.
42071 Reported by Max Vozeler.
42072
a9207284 420732008-06-15 Robert Millan <rmh@aybabtu.com>
42074
42075 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
42076 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
42077 skipped later.
42078 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
42079 the beginning of the prefix.
42080
42081 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
42082 It is assumed that if we have a memdisk, grub-mkimage has set
42083 grub_prefix to include the "(memdisk)" drive in it.
42084
a7cbd45a 420852008-06-15 Robert Millan <rmh@aybabtu.com>
42086
42087 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
42088 Initialize keyboard controller after registering the terminal, so that
42089 grub_printf() can be called from grub_keyboard_controller_init().
42090
21cf716a 420912008-06-15 Robert Millan <rmh@aybabtu.com>
42092
42093 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
42094 extent-btree which is written as big endian on disk.
42095 Reported by Alain Greppin <al@chilibi.org>.
42096
23a64d8e 420972008-06-14 Robert Millan <rmh@aybabtu.com>
42098
42099 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
42100 * util/i386/pc/grub-install.in (modules): Likewise.
42101
d687651c 421022008-06-13 Pavel Roskin <proski@gnu.org>
42103
42104 * commands/ls.c (grub_ls_list_files): Fix format warnings.
42105
dfe9ddd4 421062008-06-13 Bean <bean123ch@gmail.com>
42107
42108 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
42109
42110 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
42111
42112 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
42113 to indicate sparse block.
42114
16ae7781 421152008-06-12 Pavel Roskin <proski@gnu.org>
42116
e6d1a308 42117 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
42118 number, grub_fshelp_read() does it for us.
42119
16ae7781 42120 * fs/fshelp.c (grub_fshelp_read): New function. Implement
42121 linear disk read with journal translation.
42122 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
42123 * include/grub/fshelp.h: Declare grub_fshelp_read().
42124
40fd3a2b 421252008-06-09 Pavel Roskin <proski@gnu.org>
42126
42127 * fs/minix.c (grub_minix_mount): Handle error reading
42128 superblock.
42129
f5679726 421302008-06-08 Robert Millan <rmh@aybabtu.com>
42131
42132 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
42133 don't append the RAID prefix afterwards.
42134 Reported by Clint Adams.
42135
ce525529 421362008-06-08 Robert Millan <rmh@aybabtu.com>
42137
42138 Based on description from Pavel:
42139 * kern/disk.c (grub_disk_check_range): Rename to ...
42140 (grub_disk_adjust_range): ... this. Add a comment explaining the
42141 tasks performed by this function.
42142
ad4936a0 421432008-06-08 Robert Millan <rmh@aybabtu.com>
42144
42145 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
42146 `num_serial' (for consistency with other variables).
42147 (struct grub_ntfs_data): Add `uuid' member.
42148 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
42149 (grub_ntfs_uuid): New function.
42150 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
42151
dc20b0f9 421522008-06-07 Pavel Roskin <proski@gnu.org>
42153
42154 * util/biosdisk.c (open_device): Revert last change to the
42155 function, it broke installation. The sector needs to be
42156 different dependent on which device is opened.
42157
c5e3cfba 421582008-06-06 Robert Millan <rmh@aybabtu.com>
42159
42160 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
42161 rest of GRUB, and breakage doesn't happen if its value were modified.
42162
42163 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
42164 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
42165 a constant (same value).
42166 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
42167 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
42168
26a1f8c4 421692008-06-06 Robert Millan <rmh@aybabtu.com>
42170
42171 * util/biosdisk.c (open_device): Do not modify sector offset when
42172 accessing a partition. kern/disk.c already handles this for us.
42173
25d6b327 421742008-06-06 Robert Millan <rmh@aybabtu.com>
42175
42176 * util/grub-emu.c (grub_machine_init): Move code in this function from
42177 here ...
42178 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
42179 segfault in case grub_printf() is called).
42180
42181 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
42182 grub_probe. Update all users not to explicitly add it again.
42183 (grub_device): New variable; contains corresponding device for grubdir.
42184 (fs_module, partmap_module, devabstraction_module): Pass
42185 `--device ${grub_device}' to grub_probe to avoid traversing /dev
42186 every time.
42187
9ece62fb 421882008-06-05 Robert Millan <rmh@aybabtu.com>
42189
42190 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
42191 is found, print it (same layout as with labels).
42192
1ad36d37 421932008-06-04 Robert Millan <rmh@aybabtu.com>
42194
42195 * util/biosdisk.c (get_drive): Rename to ...
42196 (find_grub_drive): ... this. Update all users.
42197
42198 (get_os_disk): Rename to ...
42199 (convert_system_partition_to_system_disk): ... this. Update all users.
42200
42201 (find_drive): Rename to ...
42202 (find_system_device): ... this. Update all users.
42203
e6a30859 422042008-06-04 Robert Millan <rmh@aybabtu.com>
42205
42206 * util/biosdisk.c (get_os_disk): Handle IDA devices.
42207 * util/grub-mkdevicemap.c (get_mmc_disk_name)
42208 (make_device_map): Likewise.
42209
00c108a4 422102008-06-01 Robert Millan <rmh@aybabtu.com>
42211
42212 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
42213 before dereferencing it.
42214
42215 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
42216 union with fat12/fat16-specific ones. Add some new fields, including
42217 `num_serial' for both versions.
42218 (struct grub_fat_data): Add `uuid' member.
42219 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
42220 names. Initialize `data->uuid' using `num_serial'.
42221 (grub_fat_uuid): New function.
42222 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
42223
42224 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
42225 (grub_reiserfs_uuid): New function.
42226 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
42227 member.
42228
42229 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
42230 (grub_xfs_uuid): New function.
42231 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
42232
1385c5bb 422332008-06-01 Robert Millan <rmh@aybabtu.com>
42234
42235 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
42236 code that is backward compatible with pre-uuid search command.
42237
c682dfd7 422382008-05-31 Robert Millan <rmh@aybabtu.com>
42239
42240 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
42241 floppies after everything else, to ensure floppy drive isn't accessed
42242 unnecessarily (patch from Bean).
42243
b7db5d47 422442008-05-31 Robert Millan <rmh@aybabtu.com>
42245
42246 * commands/search.c (search_label, search_fs_uuid, search_file): Do
42247 not print device names when we were asked to set a variable.
42248
6e037aa9 422492008-05-31 Robert Millan <rmh@aybabtu.com>
42250
42251 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
42252 using "cursor-on" and "cursor-off" commands (understood at least by
42253 the Open Firmware flavour on OLPC).
42254
41305bc8 422552008-05-31 Michael Gorven <michael@gorven.za.net>
42256
42257 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
42258 on and off sequences.
42259
69ba137e 422602008-05-31 Robert Millan <rmh@aybabtu.com>
42261
42262 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
42263 * util/update-grub.in: Likewise.
42264
520ae21b 422652008-05-30 Pavel Roskin <proski@gnu.org>
42266
42267 * util/biosdisk.c (linux_find_partition): Simplify logic and
42268 make the code more universal. Keep special processing for
42269 devfs, but use a simple rule for all other devices. If the
42270 device ends with a number, append 'p' and the partition number.
42271 Otherwise, append only the partition number.
42272
5786569b 422732008-05-30 Robert Millan <rmh@aybabtu.com>
42274
42275 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
42276 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
42277 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
42278 the `root' parameter to Linux.
42279
51500452 422802008-05-30 Robert Millan <rmh@aybabtu.com>
42281
42282 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
42283 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
42284 --fs_uuid with --fs-uuid.
42285 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
42286 all filesystems support them).
42287
811d3878 422882008-05-30 Robert Millan <rmh@aybabtu.com>
42289
42290 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 42291 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 42292
cab63c95 422932008-05-30 Robert Millan <rmh@aybabtu.com>
42294
42295 * util/grub.d/00_header.in: Remove obsolete comment referencing
42296 convert_system_path_to_grub_path().
42297 * util/update-grub.in: Likewise.
42298 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
42299 (convert_system_path_to_grub_path): Add a warning message explaining
42300 that this function is deprecated. Rely on is_path_readable_by_grub()
42301 for the readability checks.
42302 (font_path): Use is_path_readable_by_grub() for the readability
42303 check rather than convert_system_path_to_grub_path().
42304
972e2f7a 423052008-05-30 Robert Millan <rmh@aybabtu.com>
42306
42307 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
42308 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
42309 converting it first.
42310 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
42311 grub.cfg for access to font file, and afterwards call it again to set
42312 the root device.
42313
62191274 423142008-05-30 Robert Millan <rmh@aybabtu.com>
42315
42316 * commands/search.c (options): Add --fs_uuid option.
42317 (search_fs_uuid): New function.
42318 (grub_cmd_search): Fix --set argument passing.
42319 Use search_fs_uuid() when requested via --fs_uuid.
42320 (grub_search_init): Update help message.
42321 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
42322 and redeclare it as an array of 16-bit words.
42323 (grub_ext2_uuid): New function.
42324 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
42325 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
42326 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
42327 (GRUB_DEVICE_BOOT_UUID): New variables.
42328 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
42329 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
42330 whenever possible.
42331 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
42332 just assume `root' variable has the right value.
42333 * util/grub.d/10_linux.in: Likewise.
42334 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
42335 via PRINT_FS_UUID.
42336 (main): Recognise `-t fs_uuid' argument.
42337
01b73ec8 423382008-05-30 Robert Millan <rmh@aybabtu.com>
42339
42340 * util/biosdisk.c (map): Redefine structure to hold information
42341 about GRUB drive name.
fe6b695a 42342 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 42343 drive names.
42344 (call_hook): Remove.
42345 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
42346 member. Assume drive has partitions.
42347 (grub_util_biosdisk_open): Access device names via `.device' struct
42348 member.
42349 (open_device): Likewise.
42350 (find_drive): Likewise.
42351 (read_device_map): Adjust map[] usage to match the new struct
42352 definition. Don't check for duplicates (still possible, but not cheap
42353 anymore).
42354 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
42355 (make_device_name): Remove assumption of BIOS-like drive names.
42356
22f16596 423572008-05-30 Pavel Roskin <proski@gnu.org>
42358
42359 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
42360 compiling execute.c doesn't need grub_script.tab.h anymore.
42361 (normal/command.c_DEPENDENCIES): Likewise.
42362 (normal/function.c_DEPENDENCIES): Likewise.
42363 * conf/i386-ieee1275.rmk: Likewise.
42364 * conf/i386-linuxbios.rmk: Likewise.
42365 * conf/i386-pc.rmk: Likewise.
42366 * conf/powerpc-ieee1275.rmk: Likewise.
42367 * conf/sparc64-ieee1275.rmk: Likewise.
42368
528ad8f2 423692008-05-29 Pavel Roskin <proski@gnu.org>
42370
d1dff95d 42371 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
42372 when scanning metadata for volume group name.
42373
528ad8f2 42374 * include/grub/script.h: Don't include grub_script.tab.h. It's
42375 a generated file, which may only be included from the files with
42376 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
42377 use union YYSTYPE, as the later allows forward declaration.
42378 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
42379
47248e08 423802008-05-29 Robert Millan <rmh@aybabtu.com>
42381
42382 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
42383 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
42384 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
42385 (grub_console_checkkey): Add grub_dprintf() call to report unknown
42386 scan codes.
42387
ee632529 423882008-05-29 Robert Millan <rmh@aybabtu.com>
42389
42390 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
42391 control key combinations.
42392
eee96e08 423932008-05-29 Robert Millan <rmh@aybabtu.com>
42394
42395 * util/powerpc/ieee1275/grub-install.in: Move from here ...
42396 * util/ieee1275/grub-install.in: ... to here.
42397 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
42398 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
42399 (grub_install_SOURCES): Likewise.
42400
da9a6a94 424012008-05-29 Robert Millan <rmh@aybabtu.com>
42402
42403 * fs/affs.c: Update copyright year.
42404 * fs/ext2.c: Likewise.
42405 * fs/fshelp.c: Likewise.
42406 * fs/hfsplus.c: Likewise.
42407 * fs/ntfs.c: Likewise.
42408 * fs/xfs.c: Likewise.
42409 * include/grub/fshelp.h: Likewise.
42410 * util/grub-mkdevicemap.c: Likewise.
42411
12e65f3a 424122008-05-28 Robert Millan <rmh@aybabtu.com>
42413
42414 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
42415 might need to be fatfs to support some firmware implementations
42416 (e.g. OFW or EFI).
42417
23023641 424182008-05-28 Robert Millan <rmh@aybabtu.com>
42419
42420 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
42421 devices.
42422 * util/grub-mkdevicemap.c (get_mmc_disk_name)
42423 (make_device_map): Likewise.
42424
887d2619 424252008-05-20 Bean <bean123ch@gmail.com>
42426
42427 * fs/fshelp.c (grub_fshelp_map_block): New function.
42428 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
42429 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
42430
42431 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
42432 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
42433 (grub_fshelp_journal): New structure.
42434 (grub_fshelp_map_block): New function prototype.
42435 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
42436 (grub_fshelp_map_block): Likewise.
42437
42438 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
42439 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
42440 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
42441 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
42442 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
42443 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
42444 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
42445 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
42446 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
42447 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
42448 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
42449 (grub_ext2_sblock): New members for journal support.
42450 (grub_ext3_journal_header): New structure.
42451 (grub_ext3_journal_revoke_header): Likewise.
42452 (grub_ext3_journal_block_tag): Likewise.
42453 (grub_ext3_journal_sblock): Likewise.
42454 (grub_fshelp_node): New members logfile and journal.
42455 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
42456 grub_fshelp_map_block to get real block number.
42457 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
42458 number.
42459 (grub_ext2_read_inode): Likewise.
42460 (grub_ext3_get_journal): New function.
42461 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
42462 (grub_ext2_close): Release memory used by journal.
42463
42464 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
42465 (REISERFS_MAGIC_DESC_BLOCK): New macro.
42466 (grub_reiserfs_transaction_header): Renamed to
42467 grub_reiserfs_description_block, replace field data with real_blocks.
42468 (grub_reiserfs_commit_block): New structure.
42469 (grub_reiserfs_data): New member journal.
42470 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
42471 number.
42472 (grub_reiserfs_read_symlink): Likewise.
42473 (grub_reiserfs_iterate_dir): Likewise.
42474 (grub_reiserfs_open): Likewise.
42475 (grub_reiserfs_read): Likewise.
42476 (grub_reiserfs_get_journal): New function.
42477 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
42478 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
42479 using grub_reiserfs_get_journal.
42480 (grub_reiserfs_close): Release memory used by journal.
42481
42482 * fs/affs.c (grub_affs_read_block): Change block type to
42483 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
42484
42485 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
42486
42487 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
42488
42489 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
42490
42491 * fs/udf.c (grub_udf_read_block): Change block type to
42492 grub_disk_addr_t. Use type cast to avoid warning.
42493
42494 * fs/xfs.c (grub_xfs_read_block): Likewise.
42495
b7c6bed5 424962008-05-16 Christian Franke <franke@computer.org>
42497
42498 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
42499 to ensure that break with ESC will always work.
42500 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
42501 Remove ESC from keyboard queue.
42502
eedf167f 425032008-05-16 Christian Franke <franke@computer.org>
42504
42505 * util/biosdisk.c: [__CYGWIN__] Add includes.
42506 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
42507 (get_os_disk): Move variable declarations to OS specific
42508 parts to avoid warning.
42509 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
42510 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
42511 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
42512 Cygwin.
42513 * util/getroot.c: [__CYGWIN__] Add includes.
42514 (strip_extra_slashes): Fix "/" case.
42515 [__CYGWIN__] (get_win32_path): New function.
42516 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
42517 [__CYGWIN__] (find_root_device): Disable.
42518 [__CYGWIN__] (get_bootsec_serial): New function.
42519 [__CYGWIN__] (find_cygwin_root_device): Likewise.
42520 [__linux__] (grub_guess_root_device): Add early returns to simplify
42521 structure.
42522 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
42523 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
42524 check for Linux only.
42525
a079699e 425262008-05-15 Bean <bean123ch@gmail.com>
42527
42528 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
42529 keyboard hang problem in apple's intel mac.
42530
1cf4059a 425312008-05-09 Robert Millan <rmh@aybabtu.com>
42532
42533 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
42534 devices.
42535 * util/grub-mkdevicemap.c (get_virtio_disk_name)
42536 (make_device_map): Likewise.
42537 Reported by Aurelien Jarno <aurel32@debian.org>
42538
ed759390 425392008-05-07 Ian Campbell <ijc@hellion.org.uk>
42540
42541 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
42542 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
42543 (make_device_map): Output entries for xvd type disks.
42544
b56c4eaa 425452008-05-07 Robert Millan <rmh@aybabtu.com>
42546
42547 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
42548 devices.
42549 * util/grub-mkdevicemap.c (get_cciss_disk_name)
42550 (make_device_map): Likewise.
42551 Reported by Roland Dreier <rdreier@cisco.com>
42552
7f8866ed 425532008-05-07 Robert Millan <rmh@aybabtu.com>
42554
42555 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
42556 grub_strstr() call. Correct a few mistakes in failure path handling.
42557
b0346e0f 425582008-05-06 Robert Millan <rmh@aybabtu.com>
42559
42560 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
42561 Do not print a trailing slash (therefore, the root directory is an
42562 empty string).
42563 (convert_system_path_to_grub_path): Do not remove trailing slash
42564 from make_system_path_relative_to_its_root() output.
42565
42566 * util/i386/pc/grub-install.in: Add trailing slash to output from
42567 make_system_path_relative_to_its_root().
42568
6cf12cbd 425692008-05-06 Robert Millan <rmh@aybabtu.com>
42570
42571 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
42572 ensures that output lines aren't intermangled with those sent to
42573 stderr (via grub_util_info()).
42574 * util/grub-probe.c (grub_refresh): Likewise.
42575 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
42576
0fbb3117 425772008-05-05 Christian Franke <franke@computer.org>
42578
42579 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
42580 Add Cygwin device names.
42581 (get_ide_disk_name) [__CYGWIN__]: Likewise.
42582 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
42583 (check_device): Return error instead of success on empty name.
42584 (make_device_map): Move label inside linux specific code to
42585 prevent compiler warning.
42586
8124cdb7 425872008-04-30 Robert Millan <rmh@aybabtu.com>
42588
42589 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
42590 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
42591 first boot option.
42592 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
42593
094c01d0 425942008-04-29 Robert Millan <rmh@aybabtu.com>
42595
42596 * docs/grub.cfg: New file (example GRUB configuration).
42597
f4b1fc02 425982008-04-26 Robert Millan <rmh@aybabtu.com>
42599
329ce2a5 42600 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
42601 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
42602 and `disk/ieee1275/nand.c'.
f4b1fc02 42603
25f16ec1 426042008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 42605
25f16ec1 42606 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
42607 i386-linuxbios.
42608
42609 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
42610 change the buffer size to 4096 for cdrom device.
42611
42612 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
42613 and nand.mod.
42614 (_linux_mod_SOURCES): New variable.
42615 (_linux_mod_CFLAGS): Likewise.
42616 (_linux_mod_LDFLAGS): Likewise.
42617 (linux_mod_SOURCES): Likewise.
42618 (linux_mod_CFLAGS): Likewise.
42619 (linux_mod_LDFLAGS): Likewise.
42620 (nand_mod_SOURCES): Likewise.
42621 (nand_mod_CFLAGS): Likewise.
42622 (nand_mod_LDFLAGS): Likewise.
42623
42624 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
42625 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
42626 type property. (nand device in olpc don't have this property)
42627
42628 * include/grub/disk.h (grub_disk_dev_id): New macro
42629 GRUB_DISK_DEVICE_NAND_ID.
42630
42631 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
42632 function prototype.
42633 (grub_rescue_cmd_initrd): Likewise.
42634
42635 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
42636 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
42637 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 42638
25f16ec1 42639 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
42640 GRUB_MACHINE_IEEE1275 is defined.
42641
42642 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
42643 Use NESTED_FUNC_ATTR attribute on the hook parameter.
42644
42645 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
42646 on nested function heap_init.
42647 (grub_upper_mem): New variable for i386-ieee1275.
42648 (grub_get_extended_memory): New function for i386-ieee1275.
42649 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
42650
42651 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
42652 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
42653 property.
f19dbdb7 42654
25f16ec1 42655 * loader/i386/ieee1275/linux.c: New file.
42656
42657 * loader/i386/ieee1275/linux_normal.c: New file.
42658
42659 * disk/ieee1275/nand.c: New file.
42660
e89d61e9 426612008-04-18 Thomas Schwinge <tschwinge@gnu.org>
42662
42663 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
42664 value.
42665 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
42666
602566f6 426672008-04-18 Robert Millan <rmh@aybabtu.com>
42668
42669 Restructures early code path on ieee1275 to unify grub_main() as
42670 the first C function that is executed in every platform.
42671
42672 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
42673 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
42674 cmain().
42675 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
42676 * kern/ieee1275/cmain.c (cmain): Rename to ...
42677 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
42678 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
42679 at the beginning.
42680
57490c2b 426812008-04-18 Robert Millan <rmh@aybabtu.com>
42682
42683 * util/update-grub.in: Fix syntax error when setting
42684 `GRUB_PRELOAD_MODULES'.
42685 Reported by Stephane Chazelas <stephane@artesyncp.com>
42686
1977517d 426872008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
42688
42689 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
42690 section into account, newer toolchains generate unique build ids
42691 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 42692 we want build ids to be preserved
1977517d 42693 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
42694 far from other sections don't cause the raw binary images grow
42695 size
42696
bfb1f1a2 426972008-04-15 Robert Millan <rmh@aybabtu.com>
42698
42699 * disk/lvm.c: Update copyright year.
42700 * kern/misc.c: Likewise.
42701
01979850 427022008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
42703
42704 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 42705 there is no memory left for physical volume name.
01979850 42706
0a1150e2 427072008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
42708
42709 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
42710 volume name mapping to support bigger than 9 character names properly.
42711
82ead3fe 427122008-04-13 Robert Millan <rmh@aybabtu.com>
42713
42714 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
42715 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
42716
e54a72f5 427172008-04-13 Christian Franke <franke@computer.org>
42718
42719 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
42720 to create a floppy emulation boot CD when non emulation mode
42721 does not work.
42722 Enable Joliet CD filesystem extension.
42723
9fe86034 427242008-04-13 Robert Millan <rmh@aybabtu.com>
42725
42726 * kern/misc.c (grub_strncat): Fix off-by-one error.
42727 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
42728
42729 * kern/env.c (grub_env_context_close): Clear current context, not
42730 previous one.
42731 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
42732
42733 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
42734
7ceeee39 427352008-04-13 Robert Millan <rmh@aybabtu.com>
42736
42737 Improve robustness when handling LVM.
42738
42739 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 42740 (and leave `*p' unmodified).
7ceeee39 42741 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
42742 through it.
42743 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
42744 iterating through it.
42745 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
42746 through it.
fe6b695a 42747 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 42748 when due) on each grub_lvm_getvalue() or grub_strstr() call.
42749 Don't assume `vg->pvs != NULL' when iterating through it.
42750
58cd3d85 427512008-04-13 Robert Millan <rmh@aybabtu.com>
42752
42753 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
42754 * genmk.rb (partmap): New variable.
42755 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
42756 (#{partmap}): New target rule.
42757 * genpartmaplist.sh: New file.
42758 * Makefile.in (pkglib_DATA): Add partmap.lst.
42759 (partmap.lst): New target rule.
42760 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
42761 modules (including all partition maps), instead of preloading them.
42762
78b51059 427632007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
42764
42765 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
42766 `linux-boot-prober' (if installed) to detect other operating
42767 systems which are installed on the computer and add them to
42768 the boot menu.
42769 * conf/common.rmk: Build and install 30_os-prober.
42770
a91627b4 427712008-04-12 Robert Millan <rmh@aybabtu.com>
42772
42773 * kern/powerpc/ieee1275/init.c: Move from here ...
42774 * kern/ieee1275/init.c: ... to here. Update all users.
42775
42776 * kern/powerpc/ieee1275/cmain.c: Move from here ...
42777 * kern/ieee1275/cmain.c: ... to here. Update all users.
42778
42779 * kern/powerpc/ieee1275/openfw.c: Move from here ...
42780 * kern/ieee1275/openfw.c: ... to here. Update all users.
42781
42782 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
42783 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
42784
322562ea 427852008-04-10 Pavel Roskin <proski@gnu.org>
42786
42787 * configure.ac: Always use "_cv_" in cache variables for
42788 compatibility with Autoconf 2.62.
42789
a02a73c5 427902008-04-07 Robert Millan <rmh@aybabtu.com>
42791
42792 Revert grub/machine/init.h addition by Pavel (since it breaks on
42793 i386-ieee1275 and others):
42794 * util/i386/pc/misc.c: Remove grub/machine/init.h.
42795 * util/powerpc/ieee1275/misc.c: Likewise.
42796
25c024b1 427972008-04-07 Robert Millan <rmh@aybabtu.com>
42798
42799 * util/grub-probe.c (probe): Improve error message.
42800
3cbd2f98 428012008-04-07 Robert Millan <rmh@aybabtu.com>
42802
42803 * util/biosdisk.c (read_device_map): Skip devices that don't exist
42804 (this prevents the presence of a bogus entry from ruining the whole
42805 thing).
42806
87a297bf 428072008-04-06 Pavel Roskin <proski@gnu.org>
42808
36747a62 42809 * util/biosdisk.c: Include grub/util/biosdisk.h.
42810 * util/grub-fstest.c (execute_command): Make static.
42811 * util/grub-mkdevicemap.c (check_device): Likewise.
42812 * util/i386/pc/misc.c: Include grub/machine/init.h.
42813 * util/powerpc/ieee1275/misc.c: Likewise.
42814 * util/lvm.c: Include grub/util/lvm.h.
42815 * util/misc.c: Include grub/kernel.h, grub/misc.h and
42816 grub/cache.h.
42817 * util/raid.c: Include grub/util/raid.h.
42818 (grub_util_getdiskname): Make static.
42819
87a297bf 42820 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
42821 grub_hostfs_fini(), as they are called from grub_init_all() and
42822 grub_fini_all() respectively. This fixes an infinite loop in
42823 grub-fstest due to double registration of hostfs.
42824 Reported by Christian Franke <Christian.Franke@t-online.de>
42825
f6ce7629 428262008-04-05 Pavel Roskin <proski@gnu.org>
42827
42828 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
42829 all 8 functions. Otherwise, probe function 0 only.
42830
070e49e4 428312008-04-04 Pavel Roskin <proski@gnu.org>
42832
8b088a4c 42833 * commands/lspci.c (grub_lspci_iter): Print the bus number
42834 correctly.
42835
4f657021 42836 * commands/lspci.c (grub_pci_classes): Fix typos.
42837 (grub_lspci_iter): Don't print func twice. Print vendor ID
42838 before device ID, as it's normally done.
42839
070e49e4 42840 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
42841 Fix signedness warnings.
42842 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
42843 Likewise.
42844 * util/ieee1275/get_disk_name.c: Include config.h so that
42845 _GNU_SOURCE is defined and getline() is declared. Mark an
42846 unused argument as such. Fix a signedness warning.
42847
ba7328dc 428482008-04-02 Pavel Roskin <proski@gnu.org>
42849
26887f22 42850 * genkernsyms.sh.in: Use more robust assignments for CC and
42851 srcdir. Quote srcdir.
42852 * gensymlist.sh.in: Likewise. Assert at the compile time that
42853 the symbol table is not empty.
42854
ba7328dc 42855 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
42856 * fs/cpio.c (grub_cpio_read): Likewise.
42857
0f582c6b 428582008-04-01 Pavel Roskin <proski@gnu.org>
42859
4b6e1995 42860 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
42861 * disk/host.c (grub_host_open): Likewise.
42862 * disk/loopback.c (grub_loopback_open): Likewise.
42863 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
42864 disk->id as in disk/host.c, not a multi-character constant.
42865
828a2768 42866 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
42867 later is obsolete, potentially dangerous and sets a bad example.
42868 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
42869 * util/misc.c (grub_util_get_image_size): Likewise.
42870
2bb4fb47 42871 * disk/loopback.c (options): Improve help for "--partitions".
42872
0f582c6b 42873 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
42874 options to align them with the short options, e.g. "echo -e".
42875
a33224e0 428762008-03-31 Bean <bean123ch@gmail.com>
42877
42878 * video/reader/png.c (grub_png_data): New member is_16bit and
42879 image_data.
42880 (grub_png_decode_image_header): Detect 16 bit png image.
42881 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
42882 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
42883 (grub_video_reader_png): Release memory occupied by image_data.
42884
42885 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
42886 4096 bytes.
42887 (grub_nfs_mount): Skip the test for sector per cluster.
42888
42889 * include/grub/ntfs.h (MAX_SPC): Removed.
42890
86cb4f54 428912008-03-31 Bean <bean123ch@gmail.com>
42892
42893 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
42894 (grub_probe_SOURCES): Add fs/afs.c.
42895 (grub_fstest_SOURCES): Likewise.
42896 (afs_mod_SOURCES): New variable.
42897 (afs_mod_CFLAGS): Likewise.
42898 (afs_mod_LDFLAGS): Likewise.
42899
42900 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
42901 (grub_emu_SOURCES): Likewise.
42902
42903 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
42904
42905 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42906
42907 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
42908
42909 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42910
42911 * fs/afs.c: New file.
42912
17c74c21 429132008-03-30 Pavel Roskin <proski@gnu.org>
42914
4cb68e89 42915 * disk/host.c: Include grub/misc.h to fix a warning.
42916 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
42917 warnings about implicit declarations.
42918
8790bb04 42919 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
42920 variable.
42921 * include/grub/i386/loader.h: Change declaration of
42922 grub_linux_boot() to match what grub_loader_set() expects.
42923 * util/getroot.c (grub_guess_root_device): Return const char* to
42924 fix a warning.
42925 * util/grub-probe.c (probe): Fix a warning about uninitialized
42926 abstraction_name variable.
42927 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
42928 second argument as unused to fix a warning.
42929
9a3f3296 42930 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
42931 missing grub_error() call.
42932
0ecef90d 42933 * util/update-grub_lib.in: Define datarootdir, since Autoconf
42934 2.60 and newer uses it to define datadir.
42935
0bf6d401 42936 * commands/sleep.c: Fix warning about implicit declaration.
42937 * disk/memdisk.c: Likewise.
42938 * loader/aout.c: Likewise.
42939 * loader/i386/bsd_normal.c: Likewise.
42940 * util/grub-probe.c: Likewise.
42941
7cdacf97 42942 * commands/i386/cpuid.c (has_longmode): Make static.
42943 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
42944 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
42945
17c74c21 42946 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
42947 GDT. This is more robust, as %ds can change.
42948 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
42949 calling real_to_prot().
42950 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
42951
80a3e68b 429522008-03-28 Pavel Roskin <proski@gnu.org>
42953
42954 * kern/i386/pc/startup.S: Assert that uncompressed functions
42955 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
42956 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
42957 code, as they push parts of the code (error handlers) beyond
42958 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
42959 code as correctness and size.
42960
77bcd272 429612008-03-28 Pavel Roskin <proski@gnu.org>
42962
42963 * kern/i386/pc/startup.S
42964 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
42965 data block address to the real mode, keep offset minimal. This
42966 works around a bug in AWARD BIOS on old Athlon systems, which
42967 makes CD detection hang.
42968
c5dfd43b 429692008-03-26 Pavel Roskin <proski@gnu.org>
42970
42971 * normal/color.c (grub_parse_color_name_pair): Make `name' a
42972 const.
42973 * include/grub/normal.h: Add grub_parse_color_name_pair()
42974 declaration.
42975
bf962df2 429762008-03-24 Bean <bean123ch@gmail.com>
42977
42978 * disk/i386/pc/biosdisk.c (cd_start): Removed.
42979 (cd_count): Removed.
42980 (cd_drive): New variable.
42981 (grub_biosdisk_get_drive): Don't check for (cdN) device.
42982 (grub_biosdisk_call_hook): Likewise.
42983 (grub_biosdisk_iterate): Change cdrom detection method.
42984 (grub_biosdisk_open): Replace cd_start with cd_drive.
42985 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
42986 detect cdrom device.
42987
42988 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
42989 Removed.
42990 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
42991 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
42992 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
42993 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
42994 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
42995 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
42996 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
42997 (grub_biosdisk_cdrp): New structure.
42998 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
42999
43000 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
43001
43002 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
43003 device.
43004
43005 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
43006 New function.
43007
68e7fc7a 430082008-03-20 Robert Millan <rmh@aybabtu.com>
43009
43010 Remove 2 TiB limit in ata.mod.
43011 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
43012 (grub_ata_dumpinfo): Print sector count with 0x%llx.
43013 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
43014 grub_uint64_t instead of grub_uint32_t.
43015
38ad2cf5 430162008-03-05 Bean <bean123ch@gmail.com>
43017
43018 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
43019 (grub_multiboot): Set boot device.
43020
43021 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
43022
2b89344e 430232008-03-02 Bean <bean123ch@gmail.com>
43024
43025 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
43026 symlink_buffer.
43027
87a95d1f 430282008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
43029
43030 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
43031 texinfo.tex.
43032
43033 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
43034 modified.
43035
43036 * docs/fdl.texi: New file.
f19dbdb7 43037
87a95d1f 43038 * docs/mdate-sh: New file. Copied from gnulib.
43039 * docs/texinfo.tex: Likewise.
43040
43041 * config.guess: Updated from gnulib.
43042 * install-sh: Likewise.
43043
7dc15d8e 430442008-02-28 Robert Millan <rmh@aybabtu.com>
43045
43046 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
43047 (aout_mod_SOURCES): New variable.
43048 (aout_mod_CFLAGS): Likewise.
43049 (aout_mod_LDFLAGS): Likewise.
43050
43051 * conf/i386-ieee1275.rmk: Likewise.
43052
b00ab696 430532008-02-28 Robert Millan <rmh@aybabtu.com>
43054
43055 * util/update-grub.in: Reorganise terminal validity check. Accept
43056 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
43057 Based on suggestion by Franklin PIAT.
43058
79ca2d78 430592008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
43060
43061 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
43062 function.
43063 * util/getroot.c (grub_util_check_block_device): New function that
43064 returns the given argument if it is a block device and returns NULL else.
43065 * util/grub-probe.c (argument_is_device): New variable.
43066 (probe): Promote device_name from a variable to an argument. Receive
43067 device_name from grub_util_check_block_device() if path is NULL and from
43068 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 43069 (options): Introduce new parameter '-d, --device'.
79ca2d78 43070 (main): Add description of the new parameter to the help screen.
43071 Rename path variable to argument. Set argument_is_device if the '-d'
43072 option is given. Pass argument to probe() depending on
43073 argument_is_device.
43074
0d16e571 430752008-02-24 Bean <bean123ch@gmail.com>
43076
43077 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
43078 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
43079 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
43080 (GRUB_ISO9660_VOLDESC_PART): Likewise.
43081 (GRUB_ISO9660_VOLDESC_END): Likewise.
43082 (grub_iso9660_primary_voldesc): New member escape.
43083 (grub_iso9660_data): New member joliet.
43084 (grub_iso9660_convert_string): New function.
43085 (grub_iso9660_mount): Detect joliet extension.
43086 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
43087 (grub_iso9660_iso9660_label): Likewise.
43088
43089 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
43090 (grub_setup_SOURCES): Add fs/udf.c.
43091 (grub_fstest_SOURCES): Likewise.
43092 (udf_mod_SOURCES): New variable.
43093 (udf_mod_CFLAGS): Likewise.
43094 (udf_mod_LDFLAGS): Likewise.
43095
43096 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
43097 (grub_emu_SOURCES): Likewise.
43098
43099 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
43100
43101 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43102
43103 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
43104
43105 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43106
43107 * fs/udf.c: New file.
43108
8a594a17 431092008-02-24 Robert Millan <rmh@aybabtu.com>
43110
43111 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
43112 (normal/lexer.c_DEPENDENCIES): New variables.
43113 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
43114 (normal/lexer.c_DEPENDENCIES): Likewise.
43115 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
43116 (normal/lexer.c_DEPENDENCIES): Likewise.
43117 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
43118 (normal/lexer.c_DEPENDENCIES): Likewise.
43119 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
43120 (normal/lexer.c_DEPENDENCIES): Likewise.
43121 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
43122 (normal/lexer.c_DEPENDENCIES): Likewise.
43123
2dc33c03 431242008-02-23 Robert Millan <rmh@aybabtu.com>
43125
43126 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
43127 since they were intended to be in hex. This didn't break previously
43128 because of a bug in gpt_partition_map_iterate() (see below).
43129
43130 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
43131 when checking the validity of GPT header.
43132 Remove `partno', since it always provides the same information as `i'.
43133
f6f4cfb0 431342008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
43135
43136 * include/grub/efi/time.h: Fix a wrong comment.
43137
79ff665f 431382008-02-19 Pavel Roskin <proski@gnu.org>
43139
43140 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
43141 message.
43142
d38e24c2 431432008-02-19 Bean <bean123ch@gmail.com>
43144
43145 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
43146 (aout_mod_SOURCES): New variable.
43147 (aout_mod_CFLAGS): Likewise.
43148 (aout_mod_LDFLAGS): Likewise.
43149 (_bsd_mod_SOURCES): New variable.
43150 (_bsd_mod_CFLAGS): Likewise.
43151 (_bsd_mod_LDFLAGS): Likewise.
43152 (bsd_mod_SOURCES): New variable.
43153 (bsd_mod_CFLAGS): Likewise.
43154 (bsd_mod_LDFLAGS): Likewise.
43155
43156 * include/grub/aout.h: New file.
43157
43158 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
43159
43160 * include/grub/i386/bsd.h: New file.
43161
43162 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
43163 to make it public.
43164
43165 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
43166 function is called, so that it's possible to change it inside the hook.
43167 (grub_elf64_load): Likewise.
43168 (grub_elf_file): Don't close the file if elf header is not found.
43169 (grub_elf_close): Close the file if grub_elf_file fails (The new
43170 grub_elf_file won't close it).
43171 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
43172 (grub_elf64_size): Likewise.
43173
43174 * kern/i386/loader.S (grub_unix_real_boot): New function.
43175
43176 * loader/aout.c: New file.
43177
43178 * loader/i386/bsd.c: New file.
43179
43180 * loader/i386/bsd_normal.c: New file.
43181
43182 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
43183
43184 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 43185 can test other formats.
d38e24c2 43186
b93bdb0f 431872008-02-19 Robert Millan <rmh@aybabtu.com>
43188
43189 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
43190 (grub_gpt_partition_type_empty): Redefine with macro from
43191 `<grub/gpt_partition.h>'.
43192 (gpt_partition_map_iterate): Adjust partition type comparison.
43193
43194 Export `entry' as partmap-specific `part.data' struct.
43195 (grub_gpt_header, grub_gpt_partentry): Move from here ...
43196
43197 * include/grub/gpt_partition.h (grub_gpt_header)
43198 (grub_gpt_partentry): ... to here (new file).
43199
43200 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
43201
43202 (grub_gpt_partition_type_bios_boot): New const variable, defined
43203 with macro from `<grub/gpt_partition.h>'.
43204
43205 (setup): Replace `first_start' with `embed_region', which keeps
43206 track of the embed region (and is partmap-agnostic).
43207
43208 Replace find_first_partition_start() with find_usable_region(),
43209 which finds a usable region for embedding using partmap-specific
43210 knowledge (supports PC/MSDOS and GPT).
43211
43212 Fix all assumptions that the embed region start at sector 1, using
43213 `embed_region.start' from now on. Similarly, use `embed_region.end'
43214 rather than `first_start' to calculate available size.
43215
43216 In grub_util_info() message, replace "into after the MBR" with an
43217 indication of the specific sector our embed region starts at.
43218
66cb40f6 432192008-02-19 Robert Millan <rmh@aybabtu.com>
43220
43221 * DISTLIST: Replace `commands/ieee1275/halt.c' and
43222 `commands/ieee1275/reboot.c' with `commands/halt.c' and
43223 `commands/reboot.c'.
43224 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
43225 (halt_mod_SOURCES): Likewise.
43226 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
43227 (halt_mod_SOURCES): Likewise.
43228
b7202015 432292008-02-17 Christian Franke <franke@computer.org>
43230
43231 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
43232
32b0fc49 432332008-02-17 Robert Millan <rmh@aybabtu.com>
43234
43235 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
43236 set `first_start' to 0 for non-PC/MSDOS partition maps.
43237
aca63502 432382008-02-16 Robert Millan <rmh@aybabtu.com>
43239
43240 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
43241 do not assume partition map is PC/MSDOS before performing checks that
43242 are specific to that layout.
43243
0de8be86 432442008-02-13 Robert Millan <rmh@aybabtu.com>
43245
43246 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
43247 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
43248 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
43249
c3db8364 432502008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
43251
43252 * configure.ac: Only a cosmetic change on the handling of
43253 -fno-stack-protector.
43254
f714229e 432552008-02-12 Alexandre Boeglin <alex@boeglin.org>
43256
c3db8364 43257 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
43258 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
43259 reboot.c.
f714229e 43260 (grub_install_SOURCES): Add halt.mod and reboot.mod.
43261 (halt_mod_SOURCES): New variable.
43262 (halt_mod_CFLAGS): Likewise.
43263 (halt_mod_LDFLAGS): Likewise.
43264 (reboot_mod_SOURCES): Likewise.
43265 (reboot_mod_CFLAGS): Likewise.
43266 (reboot_mod_LDFLAGS): Likewise.
43267
c3db8364 43268 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
43269 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
43270 reboot.c.
f714229e 43271 (halt_mod_SOURCES): Likewise.
43272 (reboot_mod_SOURCES): Likewise.
43273
c3db8364 43274 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
43275 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 43276 (reboot_mod_SOURCES): Likewise.
43277
43278 * commands/i386/pc/reboot.c: merge this file ...
43279
43280 * commands/ieee1275/reboot.c: ... and this file ...
43281
43282 * commands/reboot.c: ... to this file.
c3db8364 43283 Add some precompiler directive to include the correct header for
43284 each machine.
f714229e 43285
43286 * commands/ieee1275/halt.c: move this file ...
43287
43288 * commands/halt.c: ... to here.
c3db8364 43289 Add some precompiler directive to include the correct header for
43290 each machine.
f714229e 43291
43292 * include/grub/efi/efi.h (grub_reboot): New function declaration.
43293 (grub_halt): Likewise.
43294
43295 * kern/efi/efi.c (grub_reboot): New function.
43296 (grub_halt): Likewise.
43297
c74493e0 432982008-02-12 Robert Millan <rmh@aybabtu.com>
43299
43300 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
43301 /dev (like it is done for /dev/mapper). This doesn't provide support
43302 for EVMS, but at least it is now easy to identify the problem when it
43303 arises.
43304
d0db4b04 433052008-02-11 Robert Millan <rmh@aybabtu.com>
43306
43307 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
43308 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
43309 comparing it with -1, not 0.
43310
bf748642 433112008-02-10 Robert Millan <rmh@aybabtu.com>
43312
43313 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
43314 `disk/lvm.c'.
43315 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43316 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
43317
43318 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
43319 `disk/lvm.c' to the end of the list.
43320 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
43321 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
43322
b5db202a 433232008-02-10 Robert Millan <rmh@aybabtu.com>
43324
43325 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
43326 grub_print_error() instead. This will let user know why we're entering
43327 rescue mode.
43328 Based on suggestions from Sam Morris.
43329
83abee31 433302008-02-10 Alexandre Boeglin <alex@boeglin.org>
43331
43332 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
43333 on remaining N args, instead of "--" arg N times.
43334
78d5a08b 433352008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
43336
43337 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
43338 (fill_with_default_glyph): Changed to use unknown_glyph for fill
43339 pattern for unknown glyphs.
43340
68807e5f 433412008-02-09 Robert Millan <rmh@aybabtu.com>
43342
43343 * configure.ac: Probe for `help2man'.
43344 * Makefile.in (builddir): New variable.
43345 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
43346 or otherwise add a few flags/options to it.
43347 (install-local): For every executable utility or script that is
43348 installed, invoke $(HELP2MAN) to install a manpage based on --help
43349 output.
43350
43351 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
43352 that it doesn't prevent --help from working in build tree.
43353
43354 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
43355 with `bug-grub@gnu.org'.
43356 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
43357 * util/update-grub.in (usage): New function.
43358 Implement proper argument check, with support for --help and --version
43359 (as well as existing -y).
43360
433612008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 43362
43363 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
43364 avoid overwriting previous output.
43365 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
43366
c1962162 433672008-02-09 Robert Millan <rmh@aybabtu.com>
43368
43369 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
43370 drawing the menu.
43371
3dac2e3f 433722008-02-09 Robert Millan <rmh@aybabtu.com>
43373
43374 * commands/sleep.c: New file.
43375 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
43376 (sleep_mod_SOURCES): New variable.
43377 (sleep_mod_CFLAGS): Likewise.
43378 (sleep_mod_LDFLAGS): Likewise.
43379
7a634e08 433802008-02-09 Robert Millan <rmh@aybabtu.com>
43381
43382 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
43383 situations in which we can deduce the RAID size and the superblock
43384 doesn't match it.
43385
b92f0c18 433862008-02-09 Robert Millan <rmh@aybabtu.com>
43387
43388 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
43389 and return a grub_diskmemberlist_t composed of LVM physical volumes.
43390 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
43391
43392 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
43393 and return a grub_diskmemberlist_t composed of physical array members.
43394 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
43395
43396 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
43397 prototype.
43398 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
43399 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
43400 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
43401
43402 * util/grub-probe.c (probe): Move partmap probing code from here ...
43403 (probe_partmap): ... to here.
43404 (probe): Use probe_partmap() once for the disk we're probing, and
43405 additionally, when such disk contains a memberlist() struct member,
43406 once for each disk that is contained in the structure returned by
43407 memberlist().
43408
91a4bf68 434092008-02-09 Robert Millan <rmh@aybabtu.com>
43410
43411 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
43412 environment variable to 'all' in order to obtain debug output from
43413 non-util/ code.
43414 * util/i386/pc/grub-setup.c (main): Likewise.
43415
a96f9caa 434162008-02-08 Robert Millan <rmh@aybabtu.com>
43417
43418 * disk/raid.c (grub_raid_scan_device): Check for
43419 `array->device[sb.this_disk.number]' rather than for
43420 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 43421 guaranteed to be accessible.
a96f9caa 43422
b37a9222 434232008-02-08 Robert Millan <rmh@aybabtu.com>
43424
43425 * disk/raid.c: Update copyright.
43426 * fs/cpio.c: Likewise.
43427 * include/grub/raid.h: Likewise.
43428 * loader/i386/pc/multiboot.c: Likewise.
43429 * util/hostfs.c: Likewise.
43430
5626aee1 434312008-02-08 Robert Millan <rmh@aybabtu.com>
43432
43433 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
43434 to a grub_disk_t array.
43435 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
43436 `device[x]'.
43437 (grub_raid_scan_device): Replace `device[x].name' accesses with
43438 `device[x]->name'. Simplify initialization of `array->device[x]'.
43439
554f0187 434402008-02-08 Robert Millan <rmh@aybabtu.com>
43441
43442 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
43443 grub_dprintf() calls.
43444 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
43445 error message.
43446
1ec8425d 434472008-02-07 Christian Franke <franke@computer.org>
43448
43449 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
43450 instead of fseek and ftell to support large files.
43451 (grub_hostfs_read): Likewise.
43452
f2156fda 434532008-02-07 Robert Millan <rmh@aybabtu.com>
43454
43455 Patch from Jeroen Dekkers.
43456 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 43457 failure, since successfully reading all array members might not be
f2156fda 43458 required.
43459
9216e0e7 434602008-02-06 Robert Millan <rmh@aybabtu.com>
43461
43462 * util/grub-probe.c (probe): Simplify partmap probing (with the
43463 assumption that the first word up to the underscore equals to
43464 the module name).
43465
b0dfd29a 434662008-02-06 Christian Franke <franke@computer.org>
43467
43468 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
43469 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
43470 last block of a cpio or tar stream.
43471 Check for "TRAILER!!!" instead of any empty data
43472 block to detect last block of a cpio stream.
43473 (grub_cpio_dir): Fix constness of variable np.
43474 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
43475 cpio or tar trailer is detected. This fixes a crash
43476 on open of a non existing file.
43477
c32865bf 434782008-02-05 Bean <bean123ch@gmail.com>
43479
43480 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
43481 address of entry.
43482 (grub_multiboot_load_elf64): Likewise.
43483 (grub_multiboot): Initialize mbi structure.
43484
43485 * util/grub-fstest.c: Don't include unused header file script.h.
43486
fe6b695a 43487 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 43488 of file.
43489 (grub_fstest_SOURCES): Likewise.
43490
409480b7 434912008-02-05 Robert Millan <rmh@aybabtu.com>
43492
43493 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
43494 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
43495 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
43496 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
43497
43498 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
43499 (translation_table): Replace hardcoded values with macros
43500 provided by `<grub/term.h>'.
43501
43502 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
43503 (keyboard_map): Correct/add a few values, with macros provided
43504 by `<grub/term.h>'.
43505 (keyboard_map_shift): Zero values that don't differ from their
43506 `keyboard_map' equivalents.
43507 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
43508 Discard the second scan code that is always sent by Caps lock.
43509 Only use `keyboard_map_shift' when it provides a non-zero value,
43510 otherwise fallback to `keyboard_map'.
43511
99fadbaa 435122008-02-04 Bean <bean123ch@gmail.com>
43513
43514 * Makefile.in (enable_grub_fstest): New variable.
43515
43516 * conf/common.rmk (grub_fstest_init.lst): New rule.
43517 (grub_fstest_init.h): Likewise.
43518 (grub_fstest_init.c): Likewise.
43519 (util/grub-fstest.c_DEPENDENCIES): New variable.
43520 (grub_fstest_SOURCES): Likewise.
43521
43522 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
43523
43524 * util/grub-fstest.c: New file.
43525
bf567c50 435262008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
43527
43528 Make grub-setup handle a separate root device.
f19dbdb7 43529
bf567c50 43530 * util/i386/pc/grub-setup.c (setup): Always open the root device,
43531 so that the root device can be compared with the destination
43532 device.
43533 When embedding the core image, if the root and destination devices
43534 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
43535 0xFF.
43536 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 43537
9be6b98b 435382008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
43539
43540 Add support for having a grub directory in a different drive. This
43541 is still only the data handling part.
f19dbdb7 43542
9be6b98b 43543 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
43544 (codestart): Save %dh in GRUB_ROOT_DRIVE.
43545 (grub_root_drive): New variable.
43546
43547 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
43548 instead of GRUB_BOOT_DRIVE to construct a device name. Set
43549 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
43550 as it was.
43551
43552 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
43553
43554 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
43555 macro.
43556 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
43557
43558 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
43559 is bogus, because PXE booting does not specify any drive
43560 correctly.
43561
43562 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
43563 am not sure if this is really correct.
43564
43565 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
43566 is always identical to the boot drive when booting from a CD.
43567
43568 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
43569 longer.
43570 (root_drive): New variable.
43571 (real_start): Unconditionally set %dh to ROOT_DRIVE.
43572 (setup_sectors): Push %dx right after popping it, because %dh will
43573 be modified later.
43574 (copy_buffer): Restore %dx.
43575
e0ca0677 435762008-02-03 Robert Millan <rmh@aybabtu.com>
43577
43578 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
43579 use `cdboot.img' for cdrom images.
43580
3b3f6629 435812008-02-03 Robert Millan <rmh@aybabtu.com>
43582
43583 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
43584 only setup gfxterm when `font' command has succeeded.
43585
d42b3672 435862008-02-03 Robert Millan <rmh@aybabtu.com>
43587
43588 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
43589 (grub_rescue_cmd_multiboot_loader)
43590 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
43591
fa370ea6 435922008-02-03 Pavel Roskin <proski@gnu.org>
43593
e0c5dacb 43594 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 43595 %edx and %esi from stack only after grub_gate_a20() is called.
43596 grub_gate_a20() clobbers %edx.
43597
f2a76e1d 435982008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
43599
43600 * configure.ac (AC_INIT): Bumped to 1.96.
43601
43602 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
43603 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
43604 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
43605 video/readers/png.c.
43606
90fd32d1 436072008-02-03 Bean <bean123ch@gmail.com>
9be665dd 43608
43609 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
43610 (cdboot_img_SOURCES): New variable.
43611 (cdboot_img_ASFLAGS): New variable.
43612 (cdboot_img_LDFLAGS): New variable.
43613
43614 * boot/i386/pc/cdboot.S: New file.
43615
43616 * disk/i386/pc/biosdisk.c (cd_start): New variable.
43617 (cd_count): Likewise.
43618 (grub_biosdisk_get_drive): Add support for cd device.
43619 (grub_biosdisk_call_hook): Likewise.
43620 (grub_biosdisk_iterate): Likewise.
43621 (grub_biosdisk_open): Likewise.
43622 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
43623 (grub_biosdisk_rw): Support reading from cd device.
43624 (GRUB_MOD_INIT): Iterate cd devices.
43625
43626 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
43627 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
43628 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
43629
43630 * kern/i386/pc/init.c (make_install_device): Check for cd device.
43631
4020aa53 436322008-02-02 Robert Millan <rmh@aybabtu.com>
43633
43634 * commands/read.c: New file.
43635 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
43636 (read_mod_SOURCES): New variable.
43637 (read_mod_CFLAGS): Likewise.
43638 (read_mod_LDFLAGS): Likewise.
43639
e03a1132 436402008-02-02 Robert Millan <rmh@aybabtu.com>
43641
43642 * normal/main.c (grub_normal_execute): Check for `menu->size' when
43643 determining whether menu has to be displayed.
43644
58c69220 436452008-02-02 Marco Gerards <marco@gnu.org>
43646
43647 * bus/pci.c: New file.
43648
43649 * include/grub/pci.h: Likewise.
43650
43651 * include/grub/i386/pc/pci.h: Likewise.
43652
43653 * commands/lspci.c: Likewise.
43654
43655 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
43656 `lspci.mod'.
43657 (pci_mod_SOURCES): New variable.
43658 (pci_mod_CFLAGS): Likewise.
43659 (pci_mod_LDFLAGS): Likewise.
43660 (lspci_mod_SOURCES): Likewise.
43661 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 43662 (lspci_mod_LDFLAGS): Likewise.
58c69220 43663
c004e1b4 436642008-02-02 Bean <bean123ch@gmail.com>
43665
43666 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
43667 (grub_ufs_get_file_block): Fix indirect block calculation problem.
43668
43669 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
43670 (grub_xfs_btree_node): New structure.
43671 (grub_xfs_btree_root): New structure.
43672 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
43673 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
43674 (GRUB_XFS_EXTENT_BLOCK): Likewise.
43675 (GRUB_XFS_EXTENT_SIZE): Likewise.
43676 (grub_xfs_read_block): Support btree format type.
43677 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
43678 Use directory block as basic unit.
43679
43680 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
43681
43682 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
43683 __attribute__ ((__regparm__ (1))).
43684
f95562bf 436852008-02-01 Robert Millan <rmh@aybabtu.com>
43686
43687 Correct a mistake in previous commit.
43688
43689 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
43690 top.
43691 (normal/command.c_DEPENDENCIES): New variable.
43692
7d31f41f 436932008-02-01 Robert Millan <rmh@aybabtu.com>
43694
43695 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
43696 top.
43697 (normal/command.c_DEPENDENCIES): New variable.
43698 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
43699 * conf/i386-ieee1275.rmk: Likewise.
43700 * conf/i386-linuxbios.rmk: Likewise.
43701 * conf/i386-pc.rmk: Likewise.
43702 * conf/sparc64-ieee1275.rmk: Likewise.
43703 * conf/powerpc-ieee1275.rmk: Likewise.
43704 (grub_emu_SOURCES): Add `fs/fshelp.c'.
43705
43706 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
43707
60b6be74 437082008-02-01 Robert Millan <rmh@aybabtu.com>
43709
43710 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
43711 call at beginning of function.
43712
078522ab 437132008-01-31 Pavel Roskin <proski@gnu.org>
43714
43715 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 43716 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
43717 (grub_mkrescue_SOURCES): Likewise.
078522ab 43718 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
43719
ccaa8a5f 437202008-01-30 Robert Millan <rmh@aybabtu.com>
43721
43722 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
43723 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
43724 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
43725 (grub_probe_SOURCES): ... to here.
43726
43727 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
43728 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
43729 * conf/i386-ieee1275.rmk: Likewise.
43730 * conf/i386-linuxbios.rmk: Likewise.
43731 * conf/powerpc-ieee1275.rmk: Likewise.
43732
ae5a9cd7 437332008-01-30 Tristan Gingold <gingold@free.fr>
43734
43735 * kern/rescue.c: Silently accept empty lines.
43736
70bc2ef2 437372008-01-29 Bean <bean123ch@gmail.com>
43738
43739 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
43740 (real_code_2): Code cleanup and change comment style.
43741 (move_memory): Avoid using 32-bit address mode.
43742
6a4d50ea 437432008-01-29 Bean <bean123ch@gmail.com>
43744
43745 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
43746 (png_mod_SOURCES): New variable.
43747 (png_mod_CFLAGS): Likewise.
43748 (png_mod_LDFLAGS): Likewise.
43749
43750 * video/readers/png.c: New file.
43751
11cc30ac 437522008-01-28 Robert Millan <rmh@aybabtu.com>
43753
43754 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
43755 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
43756 `ifndef GRUB_MOD_GAP' hack.
43757 * util/elf/grub-mkimage.c (add_segments): Likewise.
43758
3abc589f 437592008-01-27 Robert Millan <rmh@aybabtu.com>
43760
43761 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
43762 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 43763 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 43764
e1907778 437652008-01-27 Robert Millan <rmh@aybabtu.com>
43766
43767 Get grub-emu to build again (including parallel builds).
43768
43769 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
43770 Split into ...
43771 (util/grub-emu.c_DEPENDENCIES): ... this, ...
43772 (normal/execute.c_DEPENDENCIES): ... this, ...
43773 (grub-emu_DEPENDENCIES): ... and this.
43774
43775 * conf/i386-efi.rmk: Likewise.
43776 * conf/i386-linuxbios.rmk: Likewise.
43777 * conf/i386-ieee1275.rmk: Likewise.
43778 * conf/powerpc-ieee1275.rmk: Likewise.
43779 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
43780
2216b101 437812008-01-27 Robert Millan <rmh@aybabtu.com>
43782
43783 * NEWS: Add a few items.
43784
f75172d9 437852008-01-27 Robert Millan <rmh@aybabtu.com>
43786
43787 Fix parallel builds with grub-emu. Based on earlier commit for
43788 grub-probe and grub-setup.
43789
43790 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
43791 (util/grub-emu.c_DEPENDENCIES): ... this.
43792 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
43793 (util/grub-emu.c_DEPENDENCIES): ... this.
43794 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
43795 (util/grub-emu.c_DEPENDENCIES): ... this.
43796 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
43797 (util/grub-emu.c_DEPENDENCIES): ... this.
43798 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
43799 (util/grub-emu.c_DEPENDENCIES): ... this.
43800
3f51de77 438012008-01-27 Pavel Roskin <proski@gnu.org>
43802
43803 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
43804 to create a gap between _end and the modules added to the image
43805 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
43806 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
43807 * util/elf/grub-mkimage.c (add_segments): Likewise.
43808
2033f53e 438092008-01-26 Pavel Roskin <proski@gnu.org>
43810
43811 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
43812 just return an error.
43813
22da1f6f 438142008-01-26 Bean <bean123ch@gmail.com>
43815
43816 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
43817 (grub_reiserfs_get_item): Save offset of the next item.
43818 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
43819
2a9525e6 438202008-01-25 Robert Millan <rmh@aybabtu.com>
43821
43822 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
43823 make all filesystem sources appear together (possibly fixing omissions
43824 while at it).
43825 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
43826 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43827 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
43828 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43829
43830 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
43831 add `kern/file.c'.
43832 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
43833 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
43834 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
43835 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
43836
43837 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
43838 (probe): Add a sanity check to make sure of our ability to read
43839 requested files when probing for filesystem type.
43840
43841 * genmk.rb: Update copyright year (2007).
43842
43843 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
43844 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
43845 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
43846 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
43847 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
43848 : Remove function prototypes.
43849
b95f71b5 438502008-01-25 Robert Millan <rmh@aybabtu.com>
43851
43852 Revert my previous commits (based on wrong assumption of how grub_errno
43853 works).
43854
fe6b695a 43855 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 43856 * kern/file.c (grub_file_open): Likewise.
43857
d08bbb49 438582008-01-24 Pavel Roskin <proski@gnu.org>
43859
43860 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
43861 that hang if GRUB tries to setup colors.
43862 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
43863 colors for firmwares that don't support it.
43864 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
43865 Recognize Open Hack'Ware, set flags to work around its
43866 limitations.
43867
605e36ed 438682008-01-24 Robert Millan <rmh@aybabtu.com>
43869
43870 * kern/file.c (grub_file_open): Do not account previous failures of
43871 unrelated functions when grub_errno is checked for.
43872 Reported by Oleg Strikov.
43873
bac332a1 438742008-01-24 Bean <bean123ch@gmail.com>
43875
43876 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
43877 (grub_ufs_sblock): New member volume name.
43878 (grub_ufs_find_file): Fix string copy bug.
43879 (grub_ufs_label): Implement this function properly.
43880
43881 * fs/hfs.c (grub_hfs_cnid_type): New enum.
43882 (grub_hfs_iterate_records): Use the correct file number for extents
43883 and catalog file. Fix problem in next index calculation.
43884 (grub_hfs_find_node): Replace recursive function call with loop.
43885 (grub_hfs_iterate_dir): Replace recursive function call with loop.
43886
15c80c09 438872008-01-23 Robert Millan <rmh@aybabtu.com>
43888
43889 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
43890 `<grub/symbol.h>' and `<grub/multiboot.h>'.
43891 (grub_multiboot2_real_boot): New function prototype.
43892
43893 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
43894 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
43895
43896 * kern/i386/ieee1275/init.c (grub_os_area_addr)
43897 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
43898
305338fd 438992008-01-23 Robert Millan <rmh@aybabtu.com>
43900
43901 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
43902 #ifdef'ed out grub_printf().
43903
3ea52685 439042008-01-23 Robert Millan <rmh@aybabtu.com>
43905
43906 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
43907 grub_dprintf calls, since they make "debug=all" mode unusable.
43908 (grub_console_checkkey): Likewise.
43909
5882ae4b 439102008-01-23 Robert Millan <rmh@aybabtu.com>
43911
43912 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
43913 `term/i386/pc/at_keyboard.c'.
43914 (pkglib_MODULES): Add `serial.mod'.
43915 (serial_mod_SOURCES): New variable.
43916 (serial_mod_CFLAGS): Likewise.
43917 (serial_mod_LDFLAGS): Likewise.
43918
43919 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
43920 `<grub/powerpc/ieee1275/console.h>'.
43921 (grub_keyboard_controller_init): New function prototype.
43922 (grub_console_checkkey): Likewise.
43923 (grub_console_getkey): Likewise.
43924
43925 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
43926 keyboard on i386.
43927
43928 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
43929 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
43930
06ab5303 439312008-01-23 Robert Millan <rmh@aybabtu.com>
43932
43933 * kern/i386/pc/init.c (make_install_device): When memdisk image is
43934 present, "(memdisk)/boot/grub" becomes the default prefix.
43935
43936 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
43937 a memdisk tarball with all the modules. Add --overlay=DIR option that
43938 allows users to overlay additional files into the image.
43939
dbb475a4 439402008-01-23 Robert Millan <rmh@aybabtu.com>
43941
43942 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
43943 and `machine/memory.h'.
43944 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
43945 (_multiboot_mod_SOURCES): New variable.
43946 (_multiboot_mod_CFLAGS): Likewise.
43947 (_multiboot_mod_LDFLAGS): Likewise.
43948 (multiboot_mod_SOURCES): Likewise.
43949 (multiboot_mod_CFLAGS): Likewise.
43950 (multiboot_mod_LDFLAGS): Likewise.
43951
43952 * include/grub/i386/ieee1275/loader.h: New file.
43953
43954 * include/grub/i386/ieee1275/machine.h: Likewise.
43955
43956 * include/grub/i386/ieee1275/memory.h: Likewise.
43957
43958 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
43959 variable declaration.
43960 (grub_os_area_size): Likewise.
43961
43962 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
43963 (grub_lower_mem, grub_upper_mem): New variables.
43964 (grub_stop_floppy): New function (just to make
43965 grub_multiboot2_real_boot() happy).
43966
43967 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
43968 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
43969 (grub_stop): New function.
43970 Include `"../realmode.S"' and `"../loader.S"'.
43971
43972 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
43973 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
43974
43975 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
43976 rely on grub_multiboot2_real_boot() for final boot.
43977
25638629 439782008-01-22 Robert Millan <rmh@aybabtu.com>
43979
43980 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
43981 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
43982 device that doesn't look like an SD card.
43983 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
43984 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
43985 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
43986 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
43987 found.
43988
9dad816d 439892008-01-22 Robert Millan <rmh@aybabtu.com>
43990
43991 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
43992 avoid claiming over our own code.
43993
34842f2d 439942008-01-22 Bean <bean123ch@gmail.com>
43995
43996 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
43997 (jpeg_mod_SOURCES): New variable.
43998 (jpeg_mod_CFLAGS): Likewise.
43999 (jpeg_mod_LDFLAGS): Likewise.
44000
44001 * video/readers/jpeg.c : New file.
44002
44023a28 440032008-01-22 Bean <bean123ch@gmail.com>
44004
44005 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
44006 there are no more items.
44007
bc2d8ac6 440082008-01-21 Robert Millan <rmh@aybabtu.com>
44009
44010 * kern/mm.c (grub_mm_init_region): Improve debug message.
44011
261bd4bc 440122008-01-21 Robert Millan <rmh@aybabtu.com>
44013
44014 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
44015 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
44016 address.
44017 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
44018 a C macro.
44019 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
44020 Indicates start of upper memory.
44021 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
44022 (generate_image): Abort when image size is big enough to corrupt
44023 upper memory.
44024
44025 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
44026 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
44027 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
44028 instead of hardcoding 0xA0000.
44029 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
44030 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
44031 instead of hardcoding 0xA0000.
44032
f970b55e 440332008-01-21 Robert Millan <rmh@aybabtu.com>
44034
44035 * disk/memdisk.c (memdisk_size): New variable.
44036 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
44037 `memdisk_size'.
44038 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
44039 image to dynamic memory.
44040 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
44041 `memdisk_size'. Free memdisk block.
44042
1a8b0526 440432008-01-21 Robert Millan <rmh@aybabtu.com>
44044
44045 Fix detection of very small filesystems (like tar).
44046
44047 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
44048 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
44049 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
44050 a problem with this disk).
44051
6e9b4aab 440522008-01-21 Robert Millan <rmh@aybabtu.com>
44053
44054 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
44055 on grub_biosdisk_rw_standard() error.
44056
0d8837b2 440572008-01-21 Robert Millan <rmh@aybabtu.com>
44058
44059 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
44060 recent changes.
44061 * kern/elf.c: Likewise.
44062 * kern/ieee1275/ieee1275.c: Likewise.
44063 * kern/powerpc/ieee1275/openfw.c: Likewise.
44064 * term/ieee1275/ofconsole.c: Likewise.
44065
ffd36e34 440662008-01-21 Robert Millan <rmh@aybabtu.com>
44067
44068 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
44069
3f0093d0 44070 * include/grub/kernel.h (grub_arch_memdisk_addr)
44071 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 44072
3f0093d0 44073 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
44074 (grub_arch_memdisk_size): ... to here.
ffd36e34 44075
6c391b21 440762008-01-21 Robert Millan <rmh@aybabtu.com>
44077
44078 Mostly based on bugfix from Bean.
44079
44080 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
44081 attribute with hook() parameter.
44082 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
44083 declaration.
44084 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
44085 attribute with hook() parameter.
44086 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
44087 declaration.
44088
55a581dc 440892008-01-21 Robert Millan <rmh@aybabtu.com>
44090
44091 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
44092 (pkglib_MODULES): Add `memdisk.mod'.
44093 (memdisk_mod_SOURCES): New variable.
44094 (memdisk_mod_CFLAGS): Likewise.
44095 (memdisk_mod_LDFLAGS): Likewise.
44096
44097 * disk/memdisk.c: New file.
44098
44099 * include/grub/disk.h (grub_disk_dev_id): Add
44100 `GRUB_DISK_DEVICE_MEMDISK_ID'.
44101
44102 * include/grub/i386/pc/kernel.h
44103 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
44104 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
44105 (grub_kernel_image_size): New variable declaration.
44106 (grub_total_module_size): Likewise.
44107 (grub_memdisk_image_size): Likewise.
44108
44109 * include/grub/i386/pc/memory.h
44110 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
44111
44112 * include/grub/kernel.h: Include `<grub/symbol.h>'.
44113 (grub_arch_memdisk_addr): New variable declaration.
44114 (grub_arch_memdisk_size): Likewise.
44115
44116 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
44117 (grub_arch_memdisk_size): Likewise.
44118
44119 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
44120 (codestart): Replace hardcoded `0x100000' with
44121 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
44122
44123 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
44124 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
44125 not NULL, append the contents of the file it refers to, at the end of
44126 the compressed kernel image. Initialize `grub_memdisk_image_size'
44127 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
44128 (options): Add "memdisk"|'m' option.
44129 (main): Parse --memdisk|-m option, and pass user-provided path as
44130 parameter to generate_image().
44131
3d7f54c9 441322008-01-20 Robert Millan <rmh@aybabtu.com>
44133
44134 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
44135 grub_dprintf() calls from here ...
44136 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
44137
0bf74728 441382008-01-20 Robert Millan <rmh@aybabtu.com>
44139
44140 Fix detection of "real mode" when /options/real-mode? doesn't exist.
44141
44142 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
44143 declaration.
44144 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
44145 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
44146 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 44147 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 44148 property).
44149 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
44150 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
44151
33bf70a7 441522008-01-19 Robert Millan <rmh@aybabtu.com>
44153
fe6b695a 44154 Get rid of confusing function (superseded by
33bf70a7 44155 `grub_ieee1275_get_integer_property')
44156 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
44157 prototype.
44158 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
44159 function.
44160 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
44161 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 44162 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 44163
e2da7d26 441642008-01-19 Robert Millan <rmh@aybabtu.com>
44165
44166 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
44167 command after "shut-down", since implementations differ on which
44168 the command for halt is.
44169
59f1fd8d 441702008-01-19 Robert Millan <rmh@aybabtu.com>
44171
44172 * include/grub/i386/linuxbios/console.h: Add header protection.
44173 (grub_keyboard_controller_init): New function prototype.
44174 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
44175 (KEYBOARD_COMMAND_READ): Likewise.
44176 (KEYBOARD_COMMAND_WRITE): Likewise.
44177 (KEYBOARD_SCANCODE_SET1): Likewise.
44178 (grub_keyboard_controller_write): New function.
44179 (grub_keyboard_controller_read): Likewise.
44180 (grub_keyboard_controller_init): Likewise.
44181
44182 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
44183 (grub_console_init): On coreboot/LinuxBIOS, call
44184 grub_keyboard_controller_init().
44185
5f5a7c15 441862008-01-19 Robert Millan <rmh@aybabtu.com>
44187
44188 PowerPC changes provided by Pavel Roskin.
44189
44190 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
44191 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
44192 don't rely on cmain() doing it.
44193 * kern/i386/ieee1275/startup.S (_start): Store %eax in
44194 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
44195
1210e168 441962008-01-16 Robert Millan <rmh@aybabtu.com>
44197
44198 * include/grub/i386/linuxbios/memory.h
44199 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
44200 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
44201 receive `table_header' as argument. Instead, probe for it in the
44202 known memory ranges where it can be present.
44203 (grub_available_iterate): Do not pass a fixed `table_header' address
44204 to grub_linuxbios_table_iterate().
44205
3d04eab8 442062008-01-15 Robert Millan <rmh@aybabtu.com>
44207
44208 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
44209 * conf/i386-ieee1275.rmk: New file.
44210 * include/grub/i386/ieee1275/console.h: Likewise.
44211 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
44212 * include/grub/i386/ieee1275/kernel.h: Likewise.
44213 * include/grub/i386/ieee1275/time.h: Likewise.
44214 * kern/i386/ieee1275/init.c: Likewise.
44215 * kern/i386/ieee1275/startup.S: Likewise.
44216
d1bc1b73 442172008-01-15 Robert Millan <rmh@aybabtu.com>
44218
44219 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
44220 when pointers are 32-bit (but still do set it to one when they are
44221 64-bit).
44222
66a65807 442232008-01-15 Robert Millan <rmh@aybabtu.com>
44224
44225 * include/grub/ieee1275/ieee1275.h
44226 (grub_ieee1275_get_integer_property): New function prototype.
44227
44228 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
44229 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 44230 grub_ieee1275_get_property() to handle endianness.
66a65807 44231
44232 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
44233 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 44234 where appropriate.
66a65807 44235 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
44236 (grub_map): Likewise.
44237 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
44238
a83ccafd 442392008-01-15 Bean <bean123ch@gmail.com>
44240
44241 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
44242 (grub_script_execute_cmdline): Reset grub_errno.
44243
44244 * normal/main.c (read_config_file): Reset grub_errno.
44245
44246 * normal/parse.y (script_init): New.
44247 (script): Move function and menuentry here.
44248 (delimiter): New.
44249 (command): Add delimiter at the end of command.
44250 (commands): Adjust to match the new command.
44251 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 44252 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 44253 (if): Use the new commands.
44254
44255 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
44256
df6ecfc6 442572008-01-15 Robert Millan <rmh@aybabtu.com>
44258
44259 * normal/menu.c (run_menu): Move timeout message from here ...
44260 (print_timeout): ... to here.
44261 (run_menu): Use print_timeout() once during initial draw to print
44262 the whole message, and again in every clock tick to update only
44263 the number of seconds.
44264
87ae25eb 442652008-01-15 Robert Millan <rmh@aybabtu.com>
44266
44267 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
44268 actual size of `available' from grub_ieee1275_get_property(), and
44269 restrict parsing to that bound.
44270
47bf09a4 442712008-01-15 Christian Franke <franke@computer.org>
44272
44273 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
44274 (argp_program_version): Remove variable.
44275 (argp_program_bug_address): Likewise.
44276 (options): Convert from struct argp_option to struct option.
44277 (struct arguments): Remove.
44278 (parse_opt): Remove.
44279 (usage): New function.
44280 (main): Replace struct args members by simple variables.
44281 Replace argp_parse() by getopt_long().
44282 Add switch to evaluate options.
44283 Add missing "(...)" around root_dev in prefix string.
44284
c86f1469 442852008-01-14 Robert Millan <rmh@aybabtu.com>
44286
44287 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
44288 for grub_ieee1275_exit(), in order to improve portability.
44289
e622c559 442902008-01-14 Robert Millan <rmh@aybabtu.com>
44291
44292 * util/grub.d/10_linux.in (prefix): Define.
44293 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
44294
44cb1ec8 442952008-01-13 Pavel Roskin <proski@gnu.org>
44296
44297 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
44298 grub_errno if no errors have been detected.
44299
1eb8c802 443002008-01-12 Robert Millan <rmh@aybabtu.com>
44301
44302 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
44303 (grub_util_get_dev_abstraction): New function prototype.
44304
44305 * util/getroot.c: Include `<grub/util/getroot.h>'
44306 (grub_util_get_grub_dev): Move detection of abstraction type to ...
44307 (grub_util_get_dev_abstraction): ... here (new function).
44308
44309 * util/grub-probe.c: Convert PRINT_* to an enum. Add
44310 `PRINT_ABSTRACTION'.
44311 (probe): Probe for abstraction type when requested.
44312 (main): Understand `--target=abstraction'.
44313
44314 * util/i386/efi/grub-install.in: Add abstraction module to core
44315 image when it is found to be necessary.
44316 * util/i386/pc/grub-install.in: Likewise.
44317 * util/powerpc/ieee1275/grub-install.in: Likewise.
44318
44319 * util/update-grub_lib.in (font_path): Return system path without
44320 converting to GRUB path.
44321 * util/update-grub.in: Convert system path returned by font_path()
44322 to a GRUB path. Use `grub-probe -t abstraction' to determine what
44323 abstraction module is needed for loading fonts (if any). Export
44324 that as `GRUB_PRELOAD_MODULES'.
44325 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
44326 insmod commands).
44327
52bd3de9 443282008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
44329
44330 Remove some unused code from reiserfs.
f19dbdb7 44331
52bd3de9 44332 * fs/reiserfs.c (struct grub_reiserfs_key)
44333 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
44334 (struct grub_reiserfs_node_body): Removed.
44335 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
44336 Likewise.
44337 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
44338 Likewise.
44339 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
44340 Likewise.
44341 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
44342 Likewise.
44343 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
44344 Likewise.
44345 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
44346 Likewise.
44347 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
44348 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
44349 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
44350
2f80039d 443512008-01-10 Robert Millan <rmh@aybabtu.com>
44352
44353 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
44354 Determines if a file is garbage left by packaging systems, etc.
44355 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
44356 for processing /etc/grub.d scripts.
44357 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
44358 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
44359 as a condition for processing Linux images.
44360
87888032 443612008-01-10 Pavel Roskin <proski@gnu.org>
44362
44363 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
44364 to compile reiserfs.c on PowerPC.
44365
7e54fced 443662008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 44367
44368 * kern/device.c (grub_device_iterate): Do not abort device iteration
44369 when one of the devices cannot be opened.
44370 * kern/disk.c (grub_disk_open): Do not account previous failures of
44371 unrelated functions when grub_errno is checked for.
44372
5aa541e6 443732008-01-08 Robert Millan <rmh@aybabtu.com>
44374
44375 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
44376 `! grub_linux_is_bzimage', change order of address comparison to make
44377 it more intuitive, and improve "too big zImage" error message.
44378
7076340d 443792008-01-08 Robert Millan <rmh@aybabtu.com>
44380
44381 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
44382 `$(update-grub_DATA)'.
44383 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
44384 targets.
44385
9ca70333 443862008-01-07 Robert Millan <rmh@aybabtu.com>
44387
44388 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
44389 which instruction is modified by grub-setup during installation
44390 (since it wasn't obvious by only looking at this file).
44391
38ccf575 443922008-01-07 Robert Millan <rmh@aybabtu.com>
44393
44394 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
44395 listing actual TODO items.
44396
f5db4291 443972008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
44398
868967cf 44399 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
44400 correctly.
44401 (grub_reiserfs_get_key_offset): Likewise.
44402 (grub_reiserfs_set_key_offset): Likewise.
44403 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 44404 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 44405
44406 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
44407 better to remove the bitfield version completely.
f19dbdb7 44408
868967cf 444092008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 44410
f5db4291 44411 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
44412 allocated from the heap, due to the fshelp implementation.
44413 (grub_reiserfs_dir): Free NODE, due to the same reason.
44414
492e6d9d 444152008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
44416
44417 Mostly from Vincent Pelletier:
f19dbdb7 44418
492e6d9d 44419 * fs/reiserfs.c: New file.
f19dbdb7 44420
492e6d9d 44421 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
44422 (reiserfs_mod_SOURCES): New variable.
44423 (reiserfs_mod_CFLAGS): Likewise.
44424 (reiserfs_mod_LDFLAGS): Likewise.
44425
44426 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
44427 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
44428 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
44429 normal/color.c.
44430
9ce3e7c1 444312008-01-06 Robert Millan <rmh@aybabtu.com>
44432
44433 * normal/color.c: Remove `<grub/env.h>'.
44434
f3b58148 444352008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
44436
44437 * include/grub/normal.h: Include <grub/env.h>.
44438
7ac3bcfa 444392008-01-05 Robert Millan <rmh@aybabtu.com>
44440
44441 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
44442 usage example with `(hd0,1)'.
fb358190 44443 Reported by Samuel Thibault.
7ac3bcfa 44444
c8ee99d7 444452008-01-05 Robert Millan <rmh@aybabtu.com>
44446
44447 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
44448 (grub_linux_boot_zimage): Rename to ...
44449 (grub_linux_boot): ... this.
44450 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
44451 (grub_linux_boot_zimage): Conditionalize zImage copy.
44452
44453 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
44454 (grub_linux_boot_bzimage): Remove prototype.
44455 (grub_linux_boot_zimage): Rename to ...
44456 (grub_linux_boot): ... this.
44457
44458 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
44459 (grub_linux_boot): Remove function.
44460
0ece25b1 444612008-01-05 Robert Millan <rmh@aybabtu.com>
44462
44463 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
44464 (grub_env_write_color_highlight): Likewise.
44465 (grub_wait_after_message): Likewise.
44466
44467 * normal/color.c: New file.
44468
44469 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
44470 (normal_mod_DEPENDENCIES): Likewise.
44471
44472 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
44473 (normal_mod_DEPENDENCIES): Likewise.
44474
44475 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
44476 (normal_mod_DEPENDENCIES): Likewise.
44477
44478 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
44479 (normal_mod_DEPENDENCIES): Likewise.
44480
44481 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
44482 for waiting after a message is printed.
44483 * normal/main.c (read_config_file): Likewise.
44484 (grub_normal_init): Register grub_env_write_color_normal() and
44485 grub_env_write_color_highlight() hooks. Mark `color_normal' and
44486 `color_highlight' variables as global.
44487
44488 * normal/menu.c (grub_wait_after_message): New function.
44489 (grub_color_menu_normal): New variable. Replaces ...
44490 (GRUB_COLOR_MENU_NORMAL): ... this macro.
44491 (grub_color_menu_highlight): New variable. Replaces ...
44492 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
44493 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
44494 `GRUB_TERM_COLOR_STANDARD'.
44495 (print_message): Use `grub_setcolorstate' to reload colors. Rename
44496 `normal_code' and `highlight_code' to `old_color_normal' and
44497 `old_color_highlight', respectively.
44498 (grub_menu_init_page): Update colors when drawing the menu, based on
44499 `menu_color_normal' and `menu_color_highlight' variables.
44500 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
44501 a message is printed.
44502
182dd4e5 445032008-01-05 Robert Millan <rmh@aybabtu.com>
44504
44505 * kern/env.c (grub_env_context_open): Propagate hooks for global
44506 variables to new context.
44507
44508 * kern/main.c (grub_set_root_dev): Export `root' variable.
44509
ddf8f6ad 445102008-01-05 Robert Millan <rmh@aybabtu.com>
44511
44512 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 44513 discs unconditionally, since udev and others have options to provide
ddf8f6ad 44514 them.
44515
d8b43d9b 445162008-01-05 Robert Millan <rmh@aybabtu.com>
44517
44518 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
44519
2bff2de3 445202008-01-04 Christian Franke <franke@computer.org>
44521
44522 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
44523 of eisa_mmap.
44524
97eab917 445252008-01-03 Pavel Roskin <proski@gnu.org>
44526
44527 * kern/i386/linuxbios/init.c: Put "void" to all function
44528 declarations with no arguments.
44529 * kern/powerpc/ieee1275/init.c: Likewise.
44530 * term/i386/pc/at_keyboard.c: Likewise.
44531 * term/i386/pc/vga_text.c: Likewise.
44532 * util/grub-mkdevicemap.c: Likewise.
44533
b9416d00 445342008-01-02 Robert Millan <rmh@aybabtu.com>
44535
44536 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
44537 message when loaded image is out of bounds.
44538 (grub_multiboot_load_elf64): Likewise.
44539
92695df9 445402008-01-02 Pavel Roskin <proski@gnu.org>
44541
44542 * util/grub.d/10_linux.in: Try version without ".old" when
44543 looking for initrd. It's better to use initrd from the newer
44544 kernel of the same version than no initrd at all.
44545
d98d9cad 445462008-01-01 Robert Millan <rmh@aybabtu.com>
44547
44548 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
44549
dbfdce36 445502008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
44551
f19dbdb7 44552 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 44553 grub_video_get_active_render_target.
44554 (grub_video_adapter): Added unmap_color and get_active_render_target.
44555
f19dbdb7 44556 * video/video.c: Added grub_video_unmap_color and
dbfdce36 44557 grub_video_get_active_render_target.
44558 (grub_video_get_info): Changed method to accept NULL pointer as an
44559 argument to allow detection of active video adapter.
44560
44561 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
44562 grub_video_vbe_unmap_color_int.
44563 Added grub_video_vbe_unmap_color and
44564 grub_video_vbe_get_active_render_target.
44565 (grub_video_vbe_adapter): Added unmap_color and
44566 get_active_render_target.
44567
f19dbdb7 44568 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 44569 with grub_video_vbe_unmap_color_int.
44570
44571 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
44572 (DEFAULT_NORMAL_COLOR): Likewise.
44573 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
44574 (DEFAULT_FG_COLOR): Removed.
44575 (DEFAULT_BG_COLOR): Likewise.
44576 (DEFAULT_CURSOR_COLOR): Changed value.
44577 (grub_virtual_screen): Added standard_color_setting,
44578 normal_color_setting, highlight_color_setting and term_color.
44579 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
44580 (bitmap_width): Added.
44581 (bitmap_height): Likewise.
44582 (bitmap): Likewise.
44583 (set_term_color): Likewise.
44584 (grub_virtual_screen_setup): Changed to use new terminal coloring
44585 settings.
44586 (grub_gfxterm_init): Added init for bitmap.
44587 (grub_gfxterm_fini): Added destroy for bitmap.
44588 (redraw_screen_rect): Updated to use background bitmap and new
44589 terminal coloring.
44590 (scroll_up): Added optimization for case when there is no bitmap.
44591 (grub_gfxterm_cls): Fixed to use correct background color.
44592 (grub_virtual_screen_setcolorstate): Changed to use new terminal
44593 coloring.
44594 (grub_virtual_screen_setcolor): Likewise.
44595 (grub_virtual_screen_getcolor): Added.
44596 (grub_gfxterm_background_image_cmd): Likewise.
44597 (grub_video_term): Added setcolor and getcolor.
44598 (MOD_INIT): Added registration of background_image command.
44599 (MOD_TERM): Added unregistration for background_image command.
44600
c3c20931 446012007-12-30 Pavel Roskin <proski@gnu.org>
44602
44603 * loader/multiboot_loader.c: Fix multiboot command
44604 unregistration. Fix all typos in the word "multiboot".
44605
df266716 446062007-12-29 Pavel Roskin <proski@gnu.org>
94239199 44607
44608 * util/grub.d/10_linux.in: Refactor search for initrd. Add
44609 support for initrd names used in Fedora.
44610
fc6e896c 446112007-12-26 Bean <bean123ch@gmail.com>
44612
44613 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
44614 (cpio_mod_SOURCES): New variable.
44615 (cpio_mod_CFLAGS): Likewise.
44616 (cpio_mod_LDFLAGS): Likewise.
44617
44618 * fs/cpio.c: New file.
44619
44620 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
44621
44622 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
44623
44624 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
44625
44626 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44627
533110ad 446282007-12-25 Robert Millan <rmh@aybabtu.com>
44629
44630 * include/grub/term.h (struct grub_term): Add `getcolor' function.
44631 (grub_getcolor): New function.
44632
44633 * kern/term.c (grub_getcolor): New function.
44634 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
44635 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
44636 (print_entry): Set normal and highlight colors to
44637 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
44638 respectively, before printing and restore them to old
44639 values afterwards.
44640 (grub_menu_init_page): Likewise. Fill an additional colored space
44641 that would otherwise be left blank.
44642
44643 * term/efi/console.c (grub_console_getcolor): New function.
44644 (struct grub_console_term.getcolor): New variable.
44645 * term/i386/pc/console.c (grub_console_getcolor): New function.
44646 (struct grub_console_term.getcolor): New variable.
44647 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
44648 (struct grub_console_term.getcolor): New variable.
44649
44650 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
44651 (struct grub_console_term.setcolor): Remove variable.
44652 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
44653 (struct grub_console_term.setcolor): Remove variable.
44654 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
44655 (struct grub_console_term.setcolor): Remove variable.
44656 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
44657 (struct grub_console_term.setcolor): Remove variable.
44658
4931827f 446592007-12-25 Robert Millan <rmh@aybabtu.com>
44660
44661 * configure.ac: Search for possible unifont.hex locations, and
44662 define UNIFONT_HEX if found.
44663
44664 * Makefile.in (UNIFONT_HEX): Define variable.
44665 (DATA): Rename to ...
44666 (PKGLIB): ... this. Update all users.
44667 (PKGDATA): New variable.
44668 (pkgdata_IMAGES): Rename to ...
44669 (pkglib_IMAGES): ... this. Update all users.
44670 (pkgdata_MODULES): Rename to ...
44671 (pkglib_MODULES): ... this. Update all users.
44672 (pkgdata_PROGRAMS): Rename to ...
44673 (pkglib_PROGRAMS): ... this. Update all users.
44674 (pkgdata_DATA): Rename to ...
44675 (pkglib_DATA): ... this. Update all users.
44676 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
44677 (unicode.pff, ascii.pff): New rules.
44678 (all-local): Add `$(PKGDATA)' dependency.
44679 (install-local): Process `$(PKGDATA)'.
44680
44681 * util/update-grub_lib.in (font_path): Search for *.pff files in
44682 a few more locations, including `${pkgdata}'.
44683
57e57e31 446842007-12-23 Robert Millan <rmh@aybabtu.com>
44685
44686 Patch from Bean <bean123ch@gmail.com>:
44687 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
44688 `size'.
44689
4bc72aa9 446902007-12-21 Bean <bean123ch@gmail.com>
44691
44692 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
44693 (ntfscomp_mod_SOURCES): New variable.
44694 (ntfscomp_mod_CFLAGS): Likewise.
44695 (ntfscomp_mod_LDFLAGS): Likewise.
44696
44697 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
44698 (grub_probe_SOURCES): Likewise.
44699 (grub_emu_SOURCES): Likewise.
44700
44701 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
44702 (grub_emu_SOURCES): Likewise.
44703
44704 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
44705 (grub_emu_SOURCES): Likewise.
44706
44707 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
44708 (grub_emu_SOURCES): Likewise.
44709
44710 * fs/ntfs.c (grub_ntfscomp_func): New variable.
44711 (read_run_list): Renamed to grub_ntfs_read_run_list.
44712 (decomp_nextvcn): Moved to ntfscomp.c.
44713 (decomp_getch): Likewise.
44714 (decomp_get16): Likewise.
44715 (decomp_block): Likewise.
44716 (read_block): Likewise.
44717 (read_data): Partially moved to ntfscomp.c.
44718 (fixup): Change unsigned to grub_uint16_t.
44719 (read_mft): Change unsigned long to grub_uint32_t.
44720 (read_attr): Likewise.
44721 (read_data): Likewise.
44722 (read_run_data): Likewise.
44723 (read_run_list): Likewise.
44724 (read_mft): Likewise.
44725
44726 * fs/ntfscomp.c: New file.
44727
44728 * include/grub/ntfs.h: New file.
44729
af680a87 447302007-12-16 Robert Millan <rmh@aybabtu.com>
44731
44732 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
44733 IDE disk check, since Linux is known to support 20 IDE disks.
44734 Reported by Colin Watson.
44735
84be7599 447362007-12-15 Bean <bean123ch@gmail.com>
44737
44738 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
44739 (lnxboot_img_SOURCES): New variable.
44740 (lnxboot_img_ASFLAGS): Likewise.
44741 (lnxboot_img_LDFLAGS): Likewise.
44742
44743 * boot/i386/pc/lnxboot.S: New file.
44744
6af9db01 447452007-11-24 Pavel Roskin <proski@gnu.org>
44746
44747 * configure.ac: Test if '--build-id=none' is supported by the
44748 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
44749 objcopy to generate incorrect binary files (binutils
44750 2.17.50.0.18-1 as shipped by Fedora 8).
44751 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
44752 linking, so that build ID doesn't break the test.
44753
7361cfe6 447542007-11-24 Pavel Roskin <proski@gnu.org>
44755
44756 * include/grub/i386/time.h: use "void" in the argument list
44757 of grub_cpu_idle().
44758 * include/grub/powerpc/time.h: Likewise.
44759 * include/grub/sparc64/time.h: Likewise.
44760
1593e10c 447612007-11-18 Christian Franke <franke@computer.org>
44762
44763 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
44764 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
44765 This fixes the problem that function keys did not work in grub-emu.
44766
3b8db1a8 447672007-11-18 Christian Franke <franke@computer.org>
44768
44769 * disk/host.c (grub_host_open): Remove attribute unused from
44770 name parameter. Add check for "host". This fixes the problem
44771 that grub-emu does not find partitions.
44772
2e29408d 447732007-11-18 Christian Franke <franke@computer.org>
44774
44775 * util/hostfs.c (is_dir): New function.
44776 (grub_hostfs_dir): Handle missing dirent.d_type case.
44777 (grub_hostfs_read): Add missing fseek().
44778 (grub_hostfs_label): Clear label pointer. This fixes a crash
44779 of grub-emu on "ls (host)".
44780
398cd047 447812007-11-18 Christian Franke <franke@computer.org>
44782
44783 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
44784 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
44785 to 64 bit boundary by default.
44786
c405c391 447872007-11-18 Bean <bean123ch@gmail.com>
44788
44789 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
44790 (hexdump_mod_SOURCES): New variable.
44791 (hexdump_mod_CFLAGS): Likewise.
44792 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 44793
c405c391 44794 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
44795
44796 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
44797
44798 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
44799
44800 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
44801
44802 * include/grub/hexdump.h: New file.
44803
44804 * commands/hexdump.c: New file.
44805
5cced7fd 448062007-11-10 Robert Millan <rmh@aybabtu.com>
44807
44808 * commands/i386/pc/play.c (beep_off): Switch order of arguments
44809 in grub_outb() calls.
44810 (beep_on): Likewise.
44811
8b714eb0 448122007-11-10 Christian Franke <franke@computer.org>
44813
44814 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
44815 (grub_menu_run): Likewise.
44816
ce0f1839 448172007-11-10 Robert Millan <rmh@aybabtu.com>
44818
44819 * include/grub/i386/efi/machine.h: New file.
44820 * include/grub/i386/linuxbios/machine.h: Likewise.
44821 * include/grub/i386/pc/machine.h: Likewise.
44822 * include/grub/powerpc/ieee1275/machine.h: Likewise.
44823 * include/grub/sparc64/ieee1275/machine.h: Likewise.
44824
44825 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
44826 (serial_hw_io_addr): New variable.
44827 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
44828 instead of `(unsigned short *) 0x400'.
44829
270c237d 448302007-11-10 Bean <bean123ch@gmail.com>
44831
44832 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
44833
a87783bf 448342007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
44835
44836 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
44837 (vga_mod_SOURCES): Added.
44838 (vga_mod_CFLAGS): Likewise.
44839 (vga_mod_LDFLAGS): Likewise.
44840
44841 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
44842 grub_outb() calls.
44843 (set_map_mask): Likewise.
44844 (set_read_map): Likewise.
44845 (set_read_address): Likewise.
44846 (vga_font): Removed variable.
44847 (get_vga_glyph): Removed function.
44848 (invalidate_char): Likewise.
44849 (write_char): Changed to use grub_font_get_glyph() for font
44850 information.
44851 (grub_vga_putchar): Likewise.
44852 (grub_vga_getcharwidth): Likewise.
44853
6433b448 448542007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
44855
44856 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
44857 flags.
44858 (pxeboot_img_LDFLAGS): Likewise.
44859 (diskboot_img_LDFLAGS): Likewise.
44860 (kernel_img_LDFLAGS): Likewise.
44861
49178511 448622007-11-06 Robert Millan <rmh@aybabtu.com>
44863
44864 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
44865 in grub_outb() calls.
44866 (serial_hw_init): Likewise.
44867
53b052de 448682007-11-05 Robert Millan <rmh@aybabtu.com>
44869
44870 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
44871 spaces. Skip non-regular files.
44872
5ab33bba 448732007-11-05 Robert Millan <rmh@aybabtu.com>
44874
44875 * kern/disk.c (grub_disk_firmware_fini)
44876 (grub_disk_firmware_is_tainted): New variables.
44877
44878 * include/grub/disk.h (grub_disk_firmware_fini)
44879 (grub_disk_firmware_is_tainted): Likewise.
44880
44881 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
44882 (grub_disk_biosdisk_fini): ... to here.
44883 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
44884 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
44885 is set. Register grub_disk_biosdisk_fini() in
44886 `grub_disk_firmware_fini'.
44887
44888 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
44889 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
44890 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
44891 to finish existing firmware disk interface.
44892
44893 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
44894 (ata_mod_SOURCES): New variable.
44895 (ata_mod_CFLAGS): Likewise.
44896 (ata_mod_LDFLAGS): Likewise.
44897
0149ab7c 448982007-11-05 Robert Millan <rmh@aybabtu.com>
44899
44900 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
44901 (grub_ata_wait): Reimplement using grub_millisleep().
44902
44903 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
44904 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
44905
be7ac41e 449062007-11-03 Marco Gerards <marco@gnu.org>
44907
44908 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
44909 (CRTC_ADDR_PORT): New macro.
44910 (CRTC_DATA_PORT): Likewise.
44911 (CRTC_CURSOR): Likewise.
44912 (CRTC_CURSOR_ADDR_HIGH): Likewise.
44913 (CRTC_CURSOR_ADDR_LOW): Likewise.
44914 (update_cursor): New function.
44915 (grub_console_real_putchar): Call `update_cursor'.
44916 (grub_console_gotoxy): Likewise.
44917 (grub_console_cls): Set the default color when clearing the
44918 screen.
44919 (grub_console_setcursor): Implemented.
44920
bb06ab2e 449212007-11-03 Marco Gerards <marco@gnu.org>
44922
44923 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
44924 become activate.
44925 (grub_ata_pio_write): Likewise.
44926
44927 (grub_atapi_identify): Wait after issuing an ATA command.
44928 (grub_atapi_packet): Likewise.
44929 (grub_ata_identify): Likewise.
44930 (grub_ata_readwrite): Likewise.
44931
cf8f780b 449322007-11-03 Marco Gerards <marco@gnu.org>
44933
44934 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
44935 (grub_ata_pio_write): Likewise.
44936 (grub_ata_readwrite): Use `grub_error', instead of
44937 returning `grub_errno'.
44938
ed649e54 449392007-11-03 Marco Gerards <marco@gnu.org>
44940
44941 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
44942 grub_ata_pio_write once for every single sector, instead of for
44943 multiple sectors.
44944
ca25d8f0 449452007-10-31 Robert Millan <rmh@aybabtu.com>
44946
44947 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
44948
44949 * conf/i386-linuxbios.rmk: New file.
44950
44951 * kern/i386/pc/hardware.c: Likewise.
44952 * term/i386/pc/at_keyboard.c: Likewise.
44953 * term/i386/pc/vga_text.c: Likewise.
44954
44955 * include/grub/i386/linuxbios/boot.h: Likewise.
44956 * include/grub/i386/linuxbios/console.h: Likewise.
44957 * include/grub/i386/linuxbios/init.h: Likewise.
44958 * include/grub/i386/linuxbios/kernel.h: Likewise.
44959 * include/grub/i386/linuxbios/loader.h: Likewise.
44960 * include/grub/i386/linuxbios/memory.h: Likewise.
44961 * include/grub/i386/linuxbios/serial.h: Likewise.
44962 * include/grub/i386/linuxbios/time.h: Likewise.
44963
44964 * kern/i386/linuxbios/init.c: Likewise.
44965 * kern/i386/linuxbios/startup.S: Likewise.
44966 * kern/i386/linuxbios/table.c: Likewise.
44967
e911ecc1 449682007-10-31 Marco Gerards <marco@gnu.org>
44969
44970 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
44971 (ata_mod_SOURCES): New variable.
44972 (ata_mod_CFLAGS): Likewise.
44973 (ata_mod_LDFLAGS): Likewise.
44974
44975 * disk/ata.c: New file.
44976
44977 * include/grub/disk.h (grub_disk_dev_id): Add
44978 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 44979
7f66d0e0 449802007-10-31 Robert Millan <rmh@aybabtu.com>
44981
44982 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
44983 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
44984
44985 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
44986 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
44987
44988 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
44989 `<grub/types.h>'.
44990
44991 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
44992
5cd7dd46 449932007-10-27 Robert Millan <rmh@aybabtu.com>
44994
3236ca65 44995 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 44996
2ebfc90f 449972007-10-22 Robert Millan <rmh@aybabtu.com>
44998
44999 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
45000 `"../realmode.S"'.
45001 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
45002
73fcb0f3 450032007-10-22 Robert Millan <rmh@aybabtu.com>
45004
45005 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
45006 (pkgdata_MODULES): Add `biosdisk.mod'.
45007 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
45008 variables.
45009
45010 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
45011 (grub_biosdisk_init): Replace with ...
45012 (GRUB_MOD_INIT(biosdisk)): ... this.
45013 (grub_biosdisk_fini): Replace with ...
45014 (GRUB_MOD_FINI(biosdisk)): ... this.
45015
45016 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
45017 (grub_machine_init): Remove call to grub_biosdisk_init().
45018 (grub_machine_fini): Remove call to grub_machine_fini().
45019
45020 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
45021
3381d274 450222007-10-22 Robert Millan <rmh@aybabtu.com>
45023
45024 * include/grub/time.h: New file.
45025 * include/grub/i386/time.h: Likewise.
45026 * include/grub/powerpc/time.h: Likewise.
45027 * include/grub/sparc64/time.h: Likewise.
45028
45029 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
45030 instances to ...
45031 (KERNEL_MACHINE_TIME_HEADER): ... this.
45032 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
45033 instances to ...
45034 (KERNEL_MACHINE_TIME_HEADER): ... this.
45035 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
45036 instances to ...
45037 (KERNEL_MACHINE_TIME_HEADER): ... this.
45038
45039 * kern/i386/efi/init.c: Include `<grub/time.h>'.
45040 (grub_millisleep): New function.
45041 * kern/i386/pc/init.c: Include `<grub/time.h>'.
45042 (grub_millisleep): New function.
45043 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
45044 Remove `grub/machine/time.h' include.
45045 (grub_millisleep): New function.
45046 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
45047 Remove `grub/machine/time.h' include.
45048 (grub_millisleep): New function.
45049
45050 * include/grub/misc.h (grub_div_roundup): New function.
45051
45052 * kern/misc.c: Include `<grub/time.h>'.
45053 (grub_millisleep_generic): New function.
45054
45055 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
45056 Add `time.h'.
45057 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
45058 Add `time.h'.
45059 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
45060 `machine/time.h'. Add `time.h'.
45061 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
45062
a39a0312 450632007-10-21 Robert Millan <rmh@aybabtu.com>
45064
45065 * include/grub/misc.h (grub_max): New function.
45066
2aad70e2 450672007-10-21 Robert Millan <rmh@aybabtu.com>
45068
45069 * util/misc.c (grub_util_info): Call fflush() before returning.
45070
54b71c4b 450712007-10-20 Robert Millan <rmh@aybabtu.com>
45072
45073 * genmk.rb (Image): Copy `extra_flags' from here ...
45074 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
45075
45076 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
45077 to `argc' and `args' arguments.
45078
a979f513 450792007-10-17 Robert Millan <rmh@aybabtu.com>
45080
45081 * kern/i386/loader.S: New file.
45082
45083 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
45084 * kern/i386/loader.S (grub_linux_prot_size)... to here.
45085 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
45086 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
45087 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
45088 * kern/i386/loader.S (grub_linux_real_addr)... to here.
45089 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
45090 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
45091 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
45092 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
45093 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
45094 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
45095 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
45096 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
45097
45098 * kern/i386/realmode.S: New file.
45099
45100 * kern/i386/pc/startup.S (protstack): Moved from here ...
45101 * kern/i386/realmode.S (protstack)... to here.
45102 * kern/i386/pc/startup.S (gdt): Moved from here ...
45103 * kern/i386/realmode.S (gdt)... to here.
45104 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
45105 * kern/i386/realmode.S (prot_to_real)... to here.
45106
45107 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
45108 `kern/i386/realmode.S'.
45109
825fc8fd 451102007-10-17 Robert Millan <rmh@aybabtu.com>
45111
45112 * include/grub/i386/loader.h: New file.
45113
45114 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
45115 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
45116 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
45117 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
45118 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
45119 * include/grub/i386/loader.h (grub_linux_prot_size)
45120 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
45121 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
45122 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
45123 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
45124
45125 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
45126
e179b2f4 451272007-10-15 Robert Millan <rmh@aybabtu.com>
45128
45129 * normal/misc.c (grub_normal_print_device_info): Do not probe for
45130 filesystem when dev->disk is unset.
45131 Do probe for filesystem even when dev->disk->has_partitions is set.
45132 In case a filesystem is found, always report it.
45133 In case it isn't, if dev->disk->has_partitions is set, report that
45134 a partition table was found instead of reporting that no filesystem
45135 could be identified.
45136
5db82af6 451372007-10-12 Robert Millan <rmh@aybabtu.com>
45138
45139 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
45140 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
45141
68f6ac74 45142 * include/grub/types.h (grub_host_to_target16): New macro.
45143 (grub_host_to_target32): Likewise.
45144 (grub_host_to_target64): Likewise.
45145 (grub_target_to_host16): Likewise.
45146 (grub_target_to_host32): Likewise.
45147 (grub_target_to_host64): Likewise.
5db82af6 45148
45149 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
45150 Renamed from to ...
45151 (GRUB_MOD_ALIGN): ...this. Update all users.
45152
68f6ac74 45153 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
45154 grub_host_to_target32.
45155 Replace grub_be_to_cpu32 with grub_target_to_host32.
45156 (load_modules): Likewise.
45157 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
45158 Replace grub_be_to_cpu32 with grub_target_to_host32.
45159 Replace grub_cpu_to_be16 with grub_host_to_target16.
45160 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 45161
3cf497cc 451622007-10-12 Robert Millan <rmh@aybabtu.com>
45163
45164 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
45165 * util/elf/grub-mkimage.c: ... here.
45166
45167 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
45168 `util/powerpc/ieee1275/grub-mkimage.c'.
45169
c8cc3692 451702007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 45171
c8cc3692 45172 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
45173 and make it easier to figure out.
45174 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
45175 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
45176 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
45177 leave us with less than HEAP_MIN_SIZE total heap.
45178 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 45179
5c58b791 451802007-10-03 Robert Millan <rmh@aybabtu.com>
45181
45182 * include/grub/i386/io.h: New file.
45183 * commands/i386/pc/play.c (inb): Removed.
45184 (outb): Removed.
45185 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
45186 with grub_outb().
afcd2ef8 45187 * term/i386/pc/serial.c (inb): Removed.
45188 (outb): Removed.
45189 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
45190 with grub_outb().
45191 * term/i386/pc/vga.c (inb): Removed.
45192 (outb): Removed.
45193 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
45194 with grub_outb().
5c58b791 45195
1a477ed6 451962007-10-02 Robert Millan <rmh@aybabtu.com>
45197
45198 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
45199 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45200 Reported by Marcin Kurek.
45201
6b5d80fa 452022007-09-07 Robert Millan <rmh@aybabtu.com>
45203
45204 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
45205 SmartFirmware version updates (as released by Sven Luther), and avoid
45206 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
45207 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
45208 known broken.
45209
5618afbf 452102007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
45211
45212 From Hitoshi Ozeki:
45213 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
45214 when merging two regions.
45215
6139dcd9 452162007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
45217
508e39ee 45218 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
45219 * normal/completion.c (grub_normal_do_completion): Likewise.
45220 Reported by Hitoshi Ozeki.
45221
452222007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 45223
6139dcd9 45224 Do not use devices at boot in chainloading.
f19dbdb7 45225
6139dcd9 45226 * loader/i386/pc/chainloader.c (boot_drive): New variable.
45227 (boot_part_addr): Likewise.
45228 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
45229 with BOOT_DRIVE and BOOT_PART_ADDR.
45230 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
45231 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
45232
38da6516 452332007-08-29 Robert Millan <rmh@aybabtu.com>
45234
45235 Patch from Simon Peter <dn.tlp@gmx.net>:
45236 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
45237 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
45238 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
45239 util/i386/pc/grub-setup.c_DEPENDENCIES.
45240 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
45241 util/grub-probe.c_DEPENDENCIES.
45242 * conf/powerpc-ieee1275.rmk: Likewise.
45243
29d0928c 452442007-08-28 Robert Millan <rmh@aybabtu.com>
45245
45246 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
45247 to tell grub-mkdevicemap how to name devices.
45248 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
45249 feature).
45250
45251 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
45252 util/i386/get_disk_name.c.
45253 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
45254 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
45255 util/ieee1275/get_disk_name.c.
45256
45257 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
45258
45259 * DISTLIST: Add util/i386/get_disk_name.c and
45260 util/ieee1275/get_disk_name.c.
45261
45262 * util/grub-mkdevicemap.c: Replace device naming logic with
45263 grub_util_get_disk_name() calls.
45264
5a0d3cca 452652007-08-20 Robert Millan <rmh@aybabtu.com>
45266
45267 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
45268 (so that it works for both plural and singular quantities).
45269
8b72db2f 452702007-08-05 Robert Millan <rmh@aybabtu.com>
45271
45272 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
45273 so that [xz] isn't taken into account when determining order.
45274
352466bf 452752007-08-02 Marco Gerards <marco@gnu.org>
45276
45277 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
45278 `include/multiboot2.h', `include/grub/elfload.h',
45279 `include/multiboot.h', `include/grub/multiboot.h',
45280 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
45281 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
45282 `kern/elf.c', `loader/multiboot_loader.c',
45283 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
45284 `loader/i386/pc/multiboot2.c',
45285 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
45286 `util/i386/pc/grub-mkrescue.in'. Remove
45287 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
45288 `include/grub/i386/pc/util/biosdisk.h' and
45289 `include/grub/powerpc/ieee1275/multiboot.h'.
45290
8f096014 452912007-08-02 Bean <bean123ch@gmail.com>
45292
45293 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
45294 (ntfs_mod_SOURCES): New variable.
45295 (ntfs_mod_CFLAGS): Likewise.
45296 (ntfs_mod_LDFLAGS): Likewise.
45297
45298 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
45299 (grub_probe_SOURCES): Likewise.
45300 (grub_emu_SOURCES): Likewise.
45301
45302 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
45303 (grub_emu_SOURCES): Likewise.
45304
45305 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
45306 (grub_emu_SOURCES): Likewise.
f19dbdb7 45307
8f096014 45308 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
45309
45310 * fs/ntfs.c: New file.
45311
9959f7db 453122007-08-02 Bean <bean123ch@gmail.com>
45313
45314 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
45315
45316 * file.h (grub_file): Likewise.
45317
45318 * fshelp.h (grub_fshelp_read_file): Likewise.
45319
45320 * util/i386/pc/grub-setup.c (setup): Likewise.
45321 (save_first_sector): Likewise.
45322 (save_blocklists): Likewise.
f19dbdb7 45323
9959f7db 45324 * fs/affs.c (grub_affs_read_file): Likewise.
45325
45326 * fs/ext2.c (grub_ext2_read_file): Likewise.
45327
45328 * fs/fat.c (grub_fat_read_data): Likewise.
45329
45330 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
45331
45332 * fs/hfs.c (grub_hfs_read_file): Likewise.
45333
45334 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
45335
45336 * fs/jfs.c (grub_jfs_read_file): Likewise.
45337
45338 * fs/minix.c (grub_minix_read_file): Likewise.
45339
45340 * fs/sfs.c (grub_sfs_read_file): Likewise.
45341
45342 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 45343
9959f7db 45344 * fs/xfs.c (grub_xfs_read_file): Likewise.
45345
45346 * command/blocklist.c (read_blocklist): Likewise.
45347 (print_blocklist): Likewise.
45348
0a203f83 453492007-08-02 Marco Gerards <marco@gnu.org>
45350
45351 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
45352 `util/hostfs.c'.
45353
45354 * disk/host.c: New file.
45355
45356 * util/hostfs.c: Likewise.
45357
45358 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
45359 return `GRUB_ERR_BAD_FS'.
45360 * fs/sfs.c (grub_sfs_mount): Likewise.
45361 * fs/xfs.c (grub_xfs_mount): Likewise.
45362
45363 * include/grub/disk.h (enum grub_disk_dev_id): Add
45364 `GRUB_DISK_DEVICE_HOST_ID'.
45365
45366 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
45367
e5dfe777 453682007-07-24 Jerone Young <jerone@gmail.com>
45369
f19dbdb7 45370 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 45371 modules for compilation.
45372 * conf/powerpc-ieee1275.rmk: Likewise.
45373
45374 * include/multiboot.h: Move multiboot definitions to one file. Rename
45375 many definitions to not get grub specific.
45376 * include/multiboot2.h: Create header with multiboot 2 definitions.
45377 * include/grub/multiboot.h: Header for grub specific function
45378 prototypes and definitions.
45379 * include/grub/multiboot2.h: Likewise.
45380 * include/grub/multiboot_loader.h: Likewise.
45381 * include/grub/i386/pc/multiboot.h: Removed.
45382 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
45383
45384 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
45385 and 2 to allow for one multiboot and module commands.
45386 * loader/multiboot2.c: Add multiboot2 functionality.
45387 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
45388 and definition names.
45389 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
45390 2 functions.
45391 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
45392 ieee1275 specific multiboot2 code.
45393
45394 * kern/i386/pc/startup.S: Change headers and definition names for
45395 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
45396
daf0f0ba 453972007-07-22 Robert Millan <rmh@aybabtu.com>
45398
45399 * geninitheader.sh: Process file specified in first parameter rather
45400 than hardcoding grub_modules_init.lst.
fe6b695a 45401 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 45402 than hardcoding grub_modules_init.h.
45403
45404 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
45405 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
45406 grub_probe_init.[ch] and grub_setup_init.[ch].
45407
45408 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
45409 grub_modules_init.h with grub_emu_init.h.
45410 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
45411 grub_probe_init.[ch] files.
45412 * conf/i386-efi.rmk: Likewise.
45413 * conf/i386-pc.rmk: Likewise.
45414 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
45415 grub_setup_init.[ch] files.
45416
45417 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
45418 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
45419 to initialize modules rather than a list of hardcoded functions.
45420 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
45421 grub_init_all() to initialize modules rather than a list of hardcoded
45422 functions.
45423
54cdc1cc 454242007-07-22 Robert Millan <rmh@aybabtu.com>
45425
45426 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
45427 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
45428
ad0686cc 454292007-07-22 Robert Millan <rmh@aybabtu.com>
45430
45431 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
45432 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
45433 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
45434 flag when running on SmartFirmware.
45435 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
45436 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
45437 was set.
45438
45439 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
45440 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
45441 rather than decreasing it.
45442
45443 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
45444 there's not enough space to do it, fail in the same way as when it
45445 can't be done because there are no partitions.
45446
45447 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
45448 when nvsetenv failed.
45449
969c02ec 454502007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
45451
45452 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
45453 because this rule is automatically generated.
45454 (grub-mkrescue): Removed for the same reason as above.
45455
5a79f472 454562007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
45457
45458 Migrate to GNU General Public License Version 3.
f19dbdb7 45459
5a79f472 45460 * COPYING: Replaced with the plain text version of GPLv3.
45461
45462 * config.guess: Updated from gnulib.
45463 * config.sub: Likewise.
45464
45465 * geninit.sh: Output a GPLv3 copyright notice.
45466 * geninitheader.sh: Likewise.
45467 * genmodsrc.sh: Likewise.
45468 * gensymlist.sh.in: Likewise.
45469
45470 * boot/i386/pc/boot.S: Upgraded to GPLv3.
45471 * boot/i386/pc/diskboot.S: Likewise.
45472 * boot/i386/pc/pxeboot.S: Likewise.
45473 * commands/blocklist.c: Likewise.
45474 * commands/boot.c: Likewise.
45475 * commands/cat.c: Likewise.
45476 * commands/cmp.c: Likewise.
45477 * commands/configfile.c: Likewise.
45478 * commands/echo.c: Likewise.
45479 * commands/help.c: Likewise.
45480 * commands/ls.c: Likewise.
45481 * commands/search.c: Likewise.
45482 * commands/terminal.c: Likewise.
45483 * commands/test.c: Likewise.
45484 * commands/videotest.c: Likewise.
45485 * commands/i386/cpuid.c: Likewise.
45486 * commands/i386/pc/halt.c: Likewise.
45487 * commands/i386/pc/play.c: Likewise.
45488 * commands/i386/pc/reboot.c: Likewise.
45489 * commands/i386/pc/vbeinfo.c: Likewise.
45490 * commands/i386/pc/vbetest.c: Likewise.
45491 * commands/ieee1275/halt.c: Likewise.
45492 * commands/ieee1275/reboot.c: Likewise.
45493 * commands/ieee1275/suspend.c: Likewise.
45494 * disk/loopback.c: Likewise.
45495 * disk/lvm.c: Likewise.
45496 * disk/raid.c: Likewise.
45497 * disk/efi/efidisk.c: Likewise.
45498 * disk/i386/pc/biosdisk.c: Likewise.
45499 * disk/ieee1275/ofdisk.c: Likewise.
45500 * font/manager.c: Likewise.
45501 * fs/affs.c: Likewise.
45502 * fs/ext2.c: Likewise.
45503 * fs/fat.c: Likewise.
45504 * fs/fshelp.c: Likewise.
45505 * fs/hfs.c: Likewise.
45506 * fs/hfsplus.c: Likewise.
45507 * fs/iso9660.c: Likewise.
45508 * fs/jfs.c: Likewise.
45509 * fs/minix.c: Likewise.
45510 * fs/sfs.c: Likewise.
45511 * fs/ufs.c: Likewise.
45512 * fs/xfs.c: Likewise.
45513 * hello/hello.c: Likewise.
45514 * include/grub/acorn_filecore.h: Likewise.
45515 * include/grub/arg.h: Likewise.
45516 * include/grub/bitmap.h: Likewise.
45517 * include/grub/boot.h: Likewise.
45518 * include/grub/cache.h: Likewise.
45519 * include/grub/device.h: Likewise.
45520 * include/grub/disk.h: Likewise.
45521 * include/grub/dl.h: Likewise.
45522 * include/grub/elfload.h: Likewise.
45523 * include/grub/env.h: Likewise.
45524 * include/grub/err.h: Likewise.
45525 * include/grub/file.h: Likewise.
45526 * include/grub/font.h: Likewise.
45527 * include/grub/fs.h: Likewise.
45528 * include/grub/fshelp.h: Likewise.
45529 * include/grub/gzio.h: Likewise.
45530 * include/grub/hfs.h: Likewise.
45531 * include/grub/kernel.h: Likewise.
45532 * include/grub/loader.h: Likewise.
45533 * include/grub/lvm.h: Likewise.
45534 * include/grub/misc.h: Likewise.
45535 * include/grub/mm.h: Likewise.
45536 * include/grub/net.h: Likewise.
45537 * include/grub/normal.h: Likewise.
45538 * include/grub/parser.h: Likewise.
45539 * include/grub/partition.h: Likewise.
45540 * include/grub/pc_partition.h: Likewise.
45541 * include/grub/raid.h: Likewise.
45542 * include/grub/rescue.h: Likewise.
45543 * include/grub/script.h: Likewise.
45544 * include/grub/setjmp.h: Likewise.
45545 * include/grub/symbol.h: Likewise.
45546 * include/grub/term.h: Likewise.
45547 * include/grub/terminfo.h: Likewise.
45548 * include/grub/tparm.h: Likewise.
45549 * include/grub/types.h: Likewise.
45550 * include/grub/video.h: Likewise.
45551 * include/grub/efi/api.h: Likewise.
45552 * include/grub/efi/chainloader.h: Likewise.
45553 * include/grub/efi/console.h: Likewise.
45554 * include/grub/efi/console_control.h: Likewise.
45555 * include/grub/efi/disk.h: Likewise.
45556 * include/grub/efi/efi.h: Likewise.
45557 * include/grub/efi/pe32.h: Likewise.
45558 * include/grub/efi/time.h: Likewise.
45559 * include/grub/i386/linux.h: Likewise.
45560 * include/grub/i386/setjmp.h: Likewise.
45561 * include/grub/i386/types.h: Likewise.
45562 * include/grub/i386/efi/kernel.h: Likewise.
45563 * include/grub/i386/efi/loader.h: Likewise.
45564 * include/grub/i386/efi/time.h: Likewise.
45565 * include/grub/i386/pc/biosdisk.h: Likewise.
45566 * include/grub/i386/pc/boot.h: Likewise.
45567 * include/grub/i386/pc/chainloader.h: Likewise.
45568 * include/grub/i386/pc/console.h: Likewise.
45569 * include/grub/i386/pc/init.h: Likewise.
45570 * include/grub/i386/pc/kernel.h: Likewise.
45571 * include/grub/i386/pc/loader.h: Likewise.
45572 * include/grub/i386/pc/memory.h: Likewise.
45573 * include/grub/i386/pc/multiboot.h: Likewise.
45574 * include/grub/i386/pc/serial.h: Likewise.
45575 * include/grub/i386/pc/time.h: Likewise.
45576 * include/grub/i386/pc/vbe.h: Likewise.
45577 * include/grub/i386/pc/vbeblit.h: Likewise.
45578 * include/grub/i386/pc/vbefill.h: Likewise.
45579 * include/grub/i386/pc/vbeutil.h: Likewise.
45580 * include/grub/i386/pc/vga.h: Likewise.
45581 * include/grub/ieee1275/ieee1275.h: Likewise.
45582 * include/grub/ieee1275/ofdisk.h: Likewise.
45583 * include/grub/powerpc/libgcc.h: Likewise.
45584 * include/grub/powerpc/setjmp.h: Likewise.
45585 * include/grub/powerpc/types.h: Likewise.
45586 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
45587 * include/grub/powerpc/ieee1275/console.h: Likewise.
45588 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
45589 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
45590 * include/grub/powerpc/ieee1275/loader.h: Likewise.
45591 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
45592 * include/grub/powerpc/ieee1275/time.h: Likewise.
45593 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
45594 * include/grub/sparc64/libgcc.h: Likewise.
45595 * include/grub/sparc64/setjmp.h: Likewise.
45596 * include/grub/sparc64/types.h: Likewise.
45597 * include/grub/sparc64/ieee1275/console.h: Likewise.
45598 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
45599 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
45600 * include/grub/sparc64/ieee1275/time.h: Likewise.
45601 * include/grub/util/biosdisk.h: Likewise.
45602 * include/grub/util/getroot.h: Likewise.
45603 * include/grub/util/lvm.h: Likewise.
45604 * include/grub/util/misc.h: Likewise.
45605 * include/grub/util/raid.h: Likewise.
45606 * include/grub/util/resolve.h: Likewise.
45607 * io/gzio.c: Likewise.
45608 * kern/device.c: Likewise.
45609 * kern/disk.c: Likewise.
45610 * kern/dl.c: Likewise.
45611 * kern/elf.c: Likewise.
45612 * kern/env.c: Likewise.
45613 * kern/err.c: Likewise.
45614 * kern/file.c: Likewise.
45615 * kern/fs.c: Likewise.
45616 * kern/loader.c: Likewise.
45617 * kern/main.c: Likewise.
45618 * kern/misc.c: Likewise.
45619 * kern/mm.c: Likewise.
45620 * kern/parser.c: Likewise.
45621 * kern/partition.c: Likewise.
45622 * kern/rescue.c: Likewise.
45623 * kern/term.c: Likewise.
45624 * kern/efi/efi.c: Likewise.
45625 * kern/efi/init.c: Likewise.
45626 * kern/efi/mm.c: Likewise.
45627 * kern/i386/dl.c: Likewise.
45628 * kern/i386/efi/init.c: Likewise.
45629 * kern/i386/efi/startup.S: Likewise.
45630 * kern/i386/pc/init.c: Likewise.
45631 * kern/i386/pc/lzo1x.S: Likewise.
45632 * kern/i386/pc/startup.S: Likewise.
45633 * kern/ieee1275/ieee1275.c: Likewise.
45634 * kern/powerpc/cache.S: Likewise.
45635 * kern/powerpc/dl.c: Likewise.
45636 * kern/powerpc/ieee1275/cmain.c: Likewise.
45637 * kern/powerpc/ieee1275/crt0.S: Likewise.
45638 * kern/powerpc/ieee1275/init.c: Likewise.
45639 * kern/powerpc/ieee1275/openfw.c: Likewise.
45640 * kern/sparc64/cache.S: Likewise.
45641 * kern/sparc64/dl.c: Likewise.
45642 * kern/sparc64/ieee1275/init.c: Likewise.
45643 * kern/sparc64/ieee1275/openfw.c: Likewise.
45644 * loader/efi/chainloader.c: Likewise.
45645 * loader/efi/chainloader_normal.c: Likewise.
45646 * loader/i386/efi/linux.c: Likewise.
45647 * loader/i386/efi/linux_normal.c: Likewise.
45648 * loader/i386/pc/chainloader.c: Likewise.
45649 * loader/i386/pc/chainloader_normal.c: Likewise.
45650 * loader/i386/pc/linux.c: Likewise.
45651 * loader/i386/pc/linux_normal.c: Likewise.
45652 * loader/i386/pc/multiboot.c: Likewise.
45653 * loader/i386/pc/multiboot_normal.c: Likewise.
45654 * loader/powerpc/ieee1275/linux.c: Likewise.
45655 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
45656 * normal/arg.c: Likewise.
45657 * normal/cmdline.c: Likewise.
45658 * normal/command.c: Likewise.
45659 * normal/completion.c: Likewise.
45660 * normal/execute.c: Likewise.
45661 * normal/function.c: Likewise.
45662 * normal/lexer.c: Likewise.
45663 * normal/main.c: Likewise.
45664 * normal/menu.c: Likewise.
45665 * normal/menu_entry.c: Likewise.
45666 * normal/misc.c: Likewise.
45667 * normal/parser.y: Likewise.
45668 * normal/script.c: Likewise.
45669 * normal/i386/setjmp.S: Likewise.
45670 * normal/powerpc/setjmp.S: Likewise.
45671 * normal/sparc64/setjmp.S: Likewise.
45672 * partmap/acorn.c: Likewise.
45673 * partmap/amiga.c: Likewise.
45674 * partmap/apple.c: Likewise.
45675 * partmap/gpt.c: Likewise.
45676 * partmap/pc.c: Likewise.
45677 * partmap/sun.c: Likewise.
45678 * term/gfxterm.c: Likewise.
45679 * term/terminfo.c: Likewise.
45680 * term/efi/console.c: Likewise.
45681 * term/i386/pc/console.c: Likewise.
45682 * term/i386/pc/serial.c: Likewise.
45683 * term/i386/pc/vesafb.c: Likewise.
45684 * term/i386/pc/vga.c: Likewise.
45685 * term/ieee1275/ofconsole.c: Likewise.
45686 * util/biosdisk.c: Likewise.
45687 * util/console.c: Likewise.
45688 * util/genmoddep.c: Likewise.
45689 * util/getroot.c: Likewise.
45690 * util/grub-emu.c: Likewise.
45691 * util/grub-mkdevicemap.c: Likewise.
45692 * util/grub-probe.c: Likewise.
45693 * util/lvm.c: Likewise.
45694 * util/misc.c: Likewise.
45695 * util/raid.c: Likewise.
45696 * util/resolve.c: Likewise.
45697 * util/update-grub.in: Likewise.
45698 * util/update-grub_lib.in: Likewise.
45699 * util/grub.d/00_header.in: Likewise.
45700 * util/grub.d/10_hurd.in: Likewise.
45701 * util/grub.d/10_linux.in: Likewise.
45702 * util/i386/efi/grub-install.in: Likewise.
45703 * util/i386/efi/grub-mkimage.c: Likewise.
45704 * util/i386/pc/grub-install.in: Likewise.
45705 * util/i386/pc/grub-mkimage.c: Likewise.
45706 * util/i386/pc/grub-mkrescue.in: Likewise.
45707 * util/i386/pc/grub-setup.c: Likewise.
45708 * util/i386/pc/misc.c: Likewise.
45709 * util/powerpc/ieee1275/grub-install.in: Likewise.
45710 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
45711 * util/powerpc/ieee1275/misc.c: Likewise.
45712 * video/bitmap.c: Likewise.
45713 * video/video.c: Likewise.
45714 * video/i386/pc/vbe.c: Likewise.
45715 * video/i386/pc/vbeblit.c: Likewise.
45716 * video/i386/pc/vbefill.c: Likewise.
45717 * video/i386/pc/vbeutil.c: Likewise.
45718 * video/readers/tga.c: Likewise.
45719
3572d015 457202007-07-02 Robert Millan <rmh@aybabtu.com>
45721
45722 * conf/i386-efi.rmk: Replace obsolete reference to
45723 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
45724 with util/getroot.c.
45725 * conf/powerpc-ieee1275.rmk: Likewise.
45726 * conf/sparc64-ieee1275.rmk: Likewise.
45727
45728 * util/grub-emu.c (main): Fix unchecked pointer handling.
45729
2c2a681b 457302007-07-02 Robert Millan <rmh@aybabtu.com>
45731
45732 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
45733 invocation to fail, in order to support partition-less media.
45734
45735 * util/i386/pc/grub-install.in: Likewise.
45736
45737 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
45738 which fs or partmap modules are needed (akin to its sister scripts).
45739
45740 Also use grub-probe to get rid of unportable /proc/mounts check.
45741
45742 Print the same informational message that the other scripts do, before
fe6b695a 45743 exiting.
2c2a681b 45744
6193defe 457452007-06-23 Robert Millan <rmh@aybabtu.com>
45746
fe6b695a 45747 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 45748 a font file can be found and, if so, echo the GRUB path to it.
45749
45750 * util/update-grub.in: Handle multiple terminals depending on user
45751 input, platform availability and font file presence. Propagate
45752 variables of our findings to /etc/grub.d/ children.
45753
45754 * util/grub.d/00_header.in: Handle multiple terminals, based on
45755 environment setup by update-grub.
45756
eface1dc 457572007-06-23 Robert Millan <rmh@aybabtu.com>
45758
ba50d28f 45759 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 45760
bf697e28 457612007-06-21 Robert Millan <rmh@aybabtu.com>
45762
45763 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
45764 indicate end of data section in kernel image.
45765 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
45766 GRUB_KERNEL_MACHINE_DATA_END.
45767
45768 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
45769 space for it.
45770 * kern/i386/efi/startup.S: Likewise.
45771
45772 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
45773 during image generation. Implement --prefix option to override this
45774 patch.
45775 * util/i386/efi/grub-mkimage.c: Likewise.
45776
45777 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
45778 code to make path relative to its root into a separate function.
45779
45780 * util/i386/pc/grub-install.in: Use newly provided
45781 make_system_path_relative_to_its_root() to convert ${grubdir}, then
45782 pass the result to grub-install --prefix.
45783
baa574b4 457842007-06-13 Robert Millan <rmh@aybabtu.com>
45785
45786 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
45787 DEFAULT_DEVICE_MAP.
45788 * util/grub-emu.c: Use above definitions from misc.h instead of
45789 defining them.
45790 * util/grub-mkdevicemap.c: Likewise.
45791 * util/i386/pc/grub-setup.c: Likewise.
45792 * util/grub-probe.c: Likewise.
45793 (probe): Abort with grub_util_error() when either
45794 grub_guess_root_device or grub_util_get_grub_dev fails.
45795
0215dcbf 457962007-06-12 Robert Millan <rmh@aybabtu.com>
45797
45798 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
45799 "pager" assignment.
45800 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
45801 "pcdata".
45802 * util/grub-probe.c (probe): Likewise for "drive_name".
45803
8af2ab7b 458042007-06-11 Robert Millan <rmh@aybabtu.com>
45805
45806 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
45807 not just the cdrom one.
45808
59d31694 458092007-06-11 Robert Millan <rmh@aybabtu.com>
45810
45811 * util/i386/pc/grub-mkrescue.in: Add "set -e".
45812 Add --pkglibdir=DIR option to override pkglibdir.
45813 Mention --image-type=TYPE in help output.
45814 Fix --grub-mkimage (it was a no-op).
fe6b695a 45815 Abort gracefully when no parameter is given.
59d31694 45816
7ee367e4 458172007-06-11 Robert Millan <rmh@aybabtu.com>
45818
45819 * util/i386/pc/grub-mkrescue.in: New file.
45820 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
45821 * Makefile.in: Handle bin_SCRIPTS.
45822
29b0ed46 458232007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
45824
45825 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
45826 list of video modes.
45827
c0f90770 458282007-06-06 Robert Millan <rmh@aybabtu.com>
45829
45830 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
45831 file doesn't exist, or if it is in a filesystem grub can't read.
45832
45833 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
45834 not abort if GRUB_DRIVE could not be defined. Rearrange generated
45835 header comment to fit in 80 columns when the variables are resolved.
45836
45837 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
45838 could be identified by update-grub. Remove redundant check for
fe6b695a 45839 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 45840 handles that).
45841
fb36dc26 458422007-06-04 Robert Millan <rmh@aybabtu.com>
45843
45844 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
45845
45846 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
45847
45848 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
45849
0c68c93e 458502007-06-04 Robert Millan <rmh@aybabtu.com>
45851
45852 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
45853
45854 * include/grub/partition.h: Declare grub_apple_partition_map_init and
45855 grub_apple_partition_map_fini.
45856
45857 * util/biosdisk.c
45858 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
45859 to access >2 TiB disks).
45860
45861 Print disk->total_sectors with %llu instead of %lu, since this
45862 variable is always 64-bit (prevents wrong disk size from being displayed
45863 on either >2 TiB disk or big-endian CPU).
45864
45865 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
45866 into a generic case that supports all (sane) partition maps.
45867
45868 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
45869 breaks big-endian.
45870
45871 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
45872 and grub_apple_partition_map_fini() after that.
45873
0f23eb74 458742007-06-01 Robert Millan <rmh@aybabtu.com>
45875
45876 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
45877
45878 * util/grub.d/00_header.in: Only enable gfxterm when
45879 convert_system_path_to_grub_path() succeeds.
45880
42c71976 458812007-05-20 Robert Millan <rmh@aybabtu.com>
45882
45883 * util/update-grub_lib.in: New file.
45884 * DISTLIST: Add update-grub_lib.in.
45885 * conf/common.rmk: Generate update-grub_lib and install it in
45886 $(lib_DATA).
45887 * Makefile.in: Add install routine for $(lib_DATA).
45888
45889 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
45890 function provided by update-grub_lib to support arbitrary paths of
45891 unifont.pff.
45892 * util/update-grub.in: Use convert_system_path_to_grub_path() to
45893 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
45894
5beb2291 458952007-05-19 Robert Millan <rmh@aybabtu.com>
45896
45897 * commands/i386/cpuid.c: New module.
45898 * DISTLIST: Add it.
45899 * conf/i386-efi.rmk: Enable cpuid.mod.
45900 * conf/i386-pc.rmk: Likewise.
45901
7262eca1 459022007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
45903
45904 * kern/disk.c (grub_disk_read): Check return value of
45905 grub_realloc().
45906
260ba823 459072007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
45908
45909 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
45910 arrays.
45911 * disk/raid.c (grub_raid_open): Likewise.
45912
1ecb6cf2 459132007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
45914
45915 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
45916 stack instead of on the heap.
45917
45918 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
45919 before doing a read on it.
45920
45921 * configure.ac: Only use -fno-stack-protector for the target
45922 environment.
f19dbdb7 45923
21c8cbb1 459242007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
45925
45926 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
45927 __attribute_ ((unused)) to mode_type argument.
45928
45929 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 45930
21c8cbb1 45931 * kern/misc.c (memcmp): Fix prototype.
45932
45933 * include/grub/partition.h [GRUB_UTIL]
45934 (grub_gpt_partition_map_init): Add prototype.
45935 (grub_gpt_partition_map_fini): Likewise.
45936
45937 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
45938 at the right place.
45939
45940 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
45941 (grub_fat_read_data): Likewise.
45942 (grub_fat_find_dir): Likewise.
45943
45944 * font/manager.c (find_glyph): Make table a const.
45945 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 45946
849d55d3 459472007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
45948
45949 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
45950 code, first search for device in /dev/mapper, then in /dev.
45951 (grub_util_get_grub_dev): New function.
45952 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
45953 prototype.
45954 * util/grub-probe.c (probe): Remove check for RAID, call
45955 grub_util_get_grub_dev() instead of
45956 grub_util_biosdisk_get_grub_dev().
45957 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
45958 grub_util_biosdisk_get_grub_dev().
45959 * util/i386/pc/grub-setup.c (main): Likewise.
45960
8fff7c2f 459612007-05-16 Robert Millan <rmh@aybabtu.com>
45962
45963 * DISTLIST: Update for the latest changes.
45964 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
45965 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
45966 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
45967 grub/util/biosdisk.h.
45968 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
45969 grub/util/biosdisk.h.
45970
48e12b52 459712007-05-16 Robert Millan <rmh@aybabtu.com>
45972
45973 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
45974
46b9d128 459752007-05-16 Robert Millan <rmh@aybabtu.com>
45976
45977 * util/i386/efi/grub-install.in: New.
45978 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
45979 newly added grub-install.
45980 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
45981 include.
45982 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
45983 grub/util/biosdisk.h.
45984 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
45985 grub/util/biosdisk.h.
45986
2d1a40a9 459872007-05-16 Robert Millan <rmh@aybabtu.com>
45988
45989 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
45990 * include/grub/util/biosdisk.h: ... here.
45991 * util/i386/pc/biosdisk.c: Moved to ...
45992 * util/biosdisk.c: ... here.
45993 * util/i386/pc/getroot.c: Moved to ...
45994 * util/getroot.c: ... here.
45995 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
45996 * util/grub-mkdevicemap.c: ... here.
45997 * util/i386/pc/grub-probe.c: Moved to ...
45998 * util/grub-probe.c: ... here.
45999
9e26e3bc 460002007-05-15 Robert Millan <rmh@aybabtu.com>
46001
46002 * util/update-grub.in: Remove duplicated line in grub.cfg header
46003 message.
46004
57f96397 460052007-05-13 Robert Millan <rmh@aybabtu.com>
46006
46007 * util/update-grub.in: Fix a few assumptions about the devices holding
46008 /, /boot and /boot/grub being the same.
46009 * util/grub.d/00_header.in: Likewise.
46010 * util/grub.d/10_hurd.in: Likewise.
46011 * util/grub.d/10_linux.in: Likewise.
46012
46013 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
46014 patterns. Use that to define the `.old' suffix as older than `'.
46015
46016 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
46017
46018 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
46019 the grub.cfg header message.
46020
2e610d62 460212007-05-11 Robert Millan <rmh@aybabtu.com>
46022
46023 * util/update-grub.in: Create device.map if it doesn't already exist,
46024 before attempting to run grub-probe.
46025 Check for grub-probe and grub-mkdevicemap with the same code
46026 grub-install is using.
46027 Remove test mode.
46028
3f6a10ef 460292007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
46030
46031 * Makefile.in: Add the datarootdir autoconf variable.
46032
02e7b75e 460332007-05-09 Robert Millan <rmh@aybabtu.com>
46034
46035 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 46036 fail gracefully if dev->disk->partition == NULL.
02e7b75e 46037
75f396cc 460382007-05-07 Robert Millan <rmh@aybabtu.com>
46039
46040 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
46041 determine partition map module.
46042 * util/i386/pc/grub-install.in: Use this feature to decide which
46043 partition module to load, instead of hardcoding pc and gpt.
46044
da65cb36 460452007-05-07 Robert Millan <rmh@aybabtu.com>
46046
46047 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
46048 source directory differs from build directory.
46049
b57d6a91 460502007-05-05 Robert Millan <rmh@aybabtu.com>
46051
46052 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
46053 initialisation.
46054
509d00f1 460552007-05-05 Robert Millan <rmh@aybabtu.com>
46056
46057 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
46058
c48f23ef 460592007-05-05 Robert Millan <rmh@aybabtu.com>
46060
46061 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
46062 command-line arguments via ${GRUB_CMDLINE_LINUX}.
46063
20b97658 460642007-05-05 Robert Millan <rmh@aybabtu.com>
46065
46066 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
46067 (grub_probe_SOURCES): Likewise.
46068 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
46069 GPT and initialize dos_part and bsd_part accordingly.
46070 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
46071 install_bsd_part.
46072 (main): Activate gpt module for use during partition identification,
46073 and deactivate it afterwards.
46074 * util/i386/pc/grub-install.in: Add gpt module to core.img.
46075 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
46076 partition identification, and deactivate it afterwards.
46077
99123174 460782007-05-05 Robert Millan <rmh@aybabtu.com>
46079
46080 * term/i386/pc/console.c (grub_console_fini): Call
46081 grub_term_set_current() before grub_term_unregister().
46082
ebd97f6e 460832007-05-04 Robert Millan <rmh@aybabtu.com>
46084
46085 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
46086 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
46087 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
46088 and update-grub_DATA.
46089 * conf/common.rmk: Build and install update-grub components.
46090 * conf/common.mk: Regenerate.
46091 * util/update-grub.in: New. Core of update-grub.
46092 * util/grub.d/00_header.in: New. Generates grub.cfg header.
46093 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
46094 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
46095 * util/grub.d/README: New. Document grub.d directory layout.
46096
b06a264d 460972007-05-01 Robert Millan <rmh@aybabtu.com>
46098
46099 * util/grub-emu.c: Move initialization functions
46100 grub_util_biosdisk_init() and grub_init_all() before
46101 grub_util_biosdisk_get_grub_dev(), which relies on them.
46102
41f0050e 461032007-04-19 Robert Millan <rmh@aybabtu.com>
46104
46105 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
46106 it is used later.
46107
04582bb3 461082007-04-18 Jerone Young <jerone@gmail.com>
46109
f19dbdb7 46110 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 46111 stanza.
46112
08db4632 461132007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 46114
08db4632 46115 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
46116 continue on and look for device node with real device name.
46117
801b76be 461182007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 46119
fe6b695a 46120 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 46121 ability.
46122 * Makefile.in: Add autoconf package transformation code.
46123 * util/i386/pc/grub-install.in: Likewise.
46124 * util/powerpc/ieee1275/grub-install.in: Likewise.
46125
6795c4e1 461262007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
46127
46128 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
46129 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
46130 (EXT2_REVISION): Likewise.
46131 (EXT2_INODE_SIZE): Likewise.
46132 (struct grub_ext2_block_group): Added a missing member
46133 "used_dirs".
46134 (grub_ext2_read_inode): Divide by the inode size in a superblock
46135 instead of 128 to obtain INODES_PER_BLOCK.
46136 Use the macro EXT2_INODE_SIZE instead of directly using
46137 SBLOCK->INODE_SIZE.
46138
d70af616 461392007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
46140
46141 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
46142 superblock instead of the structure size to compute an
46143 offset. This fixes the problem that GRUB could not read a
46144 filesystem when inode size is different from 128-byte.
46145
3b801603 461462007-03-05 Marco Gerards <marco@gnu.org>
46147
46148 * normal/main.c (read_config_file): When "menu" is not set, create
46149 an initial context.
46150
4785bfe4 461512007-02-21 Hollis Blanchard <hollis@penguinppc.org>
46152
46153 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
46154 (HEAP_LIMIT): New macro.
46155 (grub_claim_heap): Claim memory up to `heaplimit'.
46156
a0cbb023 461572007-02-21 Hollis Blanchard <hollis@penguinppc.org>
46158
46159 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
46160 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
46161 (_start): Likewise.
46162 (grub_arch_modules_addr): Return address after `_end'.
46163 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
46164 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
46165 (add_segments): Calculate `_end' from phdr size and location.
46166 (ALIGN_UP): Moved to ...
46167 * include/grub/misc.h: here.
46168 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
46169 New macro.
46170 (GRUB_IEEE1275_MODULE_BASE): Removed.
46171
fd7d8eba 461722007-02-20 Hollis Blanchard <hollis@penguinppc.org>
46173
46174 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
46175 loop boundary.
46176
9b09e6fc 461772007-02-20 Hollis Blanchard <hollis@penguinppc.org>
46178
46179 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
46180 All users updated.
46181 (grub_elf64_load_hook_t): Likewise.
46182 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
46183 debug output.
46184
3ce27299 461852007-02-20 Hollis Blanchard <hollis@penguinppc.org>
46186
46187 * kern/mm.c: Update copyright.
46188 (grub_mm_debug): Correct syntax error.
46189 (grub_mm_dump_free): New function.
46190 (grub_debug_free): Call `grub_free'.
46191 * include/grub/mm.h: Update copyright.
46192 (grub_mm_dump_free): Add declaration.
46193
077d5fee 461942007-02-12 Hollis Blanchard <hollis@penguinppc.org>
46195
46196 * include/grub/ieee1275/ieee1275.h: Update copyright.
46197 * kern/powerpc/ieee1275/init.c: Likewise.
46198 * kern/powerpc/ieee1275/openfw.c: Likewise.
46199
46200 * loader/powerpc/ieee1275/linux.c: Likewise.
46201 * include/grub/elfload.h: Likewise.
46202 * kern/elf.c: Likewise.
46203 (grub_elf32_load): Pass `base' and `size' parameters. Update all
46204 callers.
46205 (grub_elf64_load): Likewise.
46206 (grub_elf32_load_segment): Move to a nested function.
46207 (grub_elf64_load_segment): Likewise.
46208
dc946850 462092007-02-12 Hollis Blanchard <hollis@penguinppc.org>
46210
46211 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
46212 prototype.
46213 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
46214 (grub_heap_len): Likewise.
46215 (HEAP_SIZE): New macro.
46216 (grub_claim_heap): New function.
46217 (grub_machine_init): Don't claim heap directly. Call
46218 `grub_claim_heap'.
46219 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
46220 (grub_available_iterate): New function.
46221
baa2a121 462222007-02-03 Thomas Schwinge <tschwinge@gnu.org>
46223
46224 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
46225 * configure.ac: Use it for testing the HOST and TARGET compilers.
46226
4fe9862e 462272006-12-13 Thomas Schwinge <tschwinge@gnu.org>
46228
46229 * Makefile.in (enable_grub_emu): New variable.
46230 * configure.ac (--enable-grub-emu): New option.
46231 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
46232 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
46233 * conf/i386-pc.rmk: Likewise.
46234 * conf/powerpc-ieee1275.rmk: Likewise.
46235 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
46236
a8aa5762 462372006-12-12 Marco Gerards <marco@gnu.org>
46238
46239 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
46240
46241 * kern/env.c (grub_env_unset): Don't free the member `value' when
46242 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
46243 pointer.
46244
46245 * normal/main.c (current_menu): Removed.
46246 (free_menu): Unset the `menu' environment variable.
46247 (grub_normal_menu_addentry): Make use of the environment variable
46248 `menu', instead of using the global `current_menu'. Allocate
46249 memory for the sourcecode of this entry.
46250 (read_config_file): New argument `nested', changed all callers.
46251 Only in the case of a new context, initialize a new menu. Set the
46252 `menu' environment variable.
46253 (grub_normal_execute): Don't set and unset the environment
46254 variable `menu' here anymore. Only free the menu when leaving the
46255 context.
46256
46257 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
46258 leak.
46259
957b3a3e 462602006-12-11 Marco Gerards <marco@gnu.org>
46261
46262 * normal/menu_entry.c (run): Fix off by one bug so the last line
46263 is executed. Move the loader check to outside the loop.
46264
ef875714 462652006-12-08 Hollis Blanchard <hollis@penguinppc.org>
46266
46267 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
46268
4e739985 462692006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
46270
46271 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
46272 the number of sectors. Reported by Andrey Shuvikov
46273 <mr_hyro@yahoo.com>.
f19dbdb7 46274
790707f2 462752006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
46276
46277 * kern/disk.c (grub_disk_read): When there is a read error, always
46278 try to read only the necessary data.
f19dbdb7 46279
790707f2 46280 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
46281 disk/raid.c.
46282 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
46283 prototype.
46284 [GRUB_UTIL] (grub_raid_fini): Likewise.
46285 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 46286 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 46287 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
46288 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
46289 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
46290 and grub_raid_fini().
f19dbdb7 46291
03e58196 462922006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
46293
46294 * include/grub/types.h (__unused): Rename to UNUSED.
46295 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
46296 (grub_elf64_size): Likewise.
f19dbdb7 46297
ae4f23bf 462982006-11-03 Hollis Blanchard <hollis@penguinppc.org>
46299
46300 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
46301 grub_error_push and grub_error_pop in the error-handling path.
46302 (grub_elf32_load_segment): Only call grub_file_read with non-zero
46303 length.
46304
2166cc83 463052006-11-03 Hollis Blanchard <hollis@penguinppc.org>
46306
46307 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
46308 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
46309 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46310 (kernel_elf_SOURCES): Likewise.
46311 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
46312 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
46313 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
46314 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
46315 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
46316 (elf_mod_SOURCES): New variable.
46317 (elf_mod_CFLAGS): Likewise.
46318 (elf_mod_LDFLAGS): Likewise.
46319 * include/grub/types.h (__unused): New macro.
46320 * include/grub/elfload.h: New file.
46321 * kern/elf.c: Likewise.
46322 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
46323 (ELF32_LOADMASK): New macro.
46324 (ELF64_LOADMASK): Likewise.
46325 (vmlinux): Removed.
46326 (grub_linux_load32): New function.
46327 (grub_linux_load64): Likewise.
46328 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
46329 Use grub_elf_t instead of grub_file_t.
46330
a09d5aa5 463312006-11-02 Hollis Blanchard <hollis@penguinppc.org>
46332
46333 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
46334 `catch_result' to struct set_color_args.
46335
d976fc51 463362006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
46337
46338 * normal/menu.c: Include grub/script.h.
46339 * normal/menu_entry.c: Likewise.
46340 * include/grub/normal.h: Do not include grub/script.h.
46341
67507549 463422006-10-27 Hollis Blanchard <hollis@penguinppc.org>
46343
46344 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
46345
69203a99 463462006-10-27 Hollis Blanchard <hollis@penguinppc.org>
46347
46348 * kern/disk.c (grub_disk_open): Print debug messages when opening a
46349 disk.
46350 (grub_disk_close): Print debug messages when closing a disk.
46351 (grub_disk_read): Print debug messages when disk read fails.
46352 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
46353 filesystem type.
46354 * kern/partition.c: Include misc.h.
46355 (grub_partition_iterate): Print debug messages when detecting
46356 partition type.
46357
e2b8278c 463582006-10-27 Hollis Blanchard <hollis@penguinppc.org>
46359
46360 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
46361 is negative.
46362 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
46363
97b2f2ff 463642006-10-26 Hollis Blanchard <hollis@penguinppc.org>
46365
46366 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
46367 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
46368
6555d655 463692006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
46370
46371 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
46372 instead of sizeof(lv). Patch by Michael Guntsche.
46373
4d42b77f 463742006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
46375
46376 * disk/lvm.c: Rename VGS to VG_LIST.
46377 (grub_lvm_iterate): Change VGS->LV to VG-LV.
46378 (grub_lvm_open): Likewise.
46379 Thanks to Michael Guntsche for finding this bug.
46380
5d74d927 463812006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
46382
46383 * configure.ac (AC_INIT): Bumped to 1.95.
46384
a1bb27e4 463852006-10-14 Robert Millan <rmh@aybabtu.com>
46386
46387 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
46388 with "/dev/.static/dev/md".
46389
e0994b8b 463902006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
46391
46392 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
46393 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
46394 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
46395 DRIVE_NAME are always freed.
46396
46397 * util/i386/pc/biosdisk.c (make_device_name): Add one into
46398 DOS_PART, as a DOS partition is counted from one instead of zero
46399 now. Reported by Robert Millan.
46400
ddd5cee9 464012006-10-14 Robert Millan <rmh@aybabtu.com>
46402
46403 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
46404 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
46405 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
46406 string returned by grub_guess_root_device.
46407 * util/i386/pc/grub-setup.c: Likewise.
46408 * util/i386/pc/grub-probefs.c: Likewise.
46409
46410 * util/i386/pc/grub-probefs.c: Rename to ...
46411 * util/i386/pc/grub-probe.c: ... this.
46412 * DISTLIST: Remove grub-probefs, add grub-probe.
46413 * conf/i386-efi.rmk: Likewise.
46414 * conf/i386-pc.rmk: Likewise.
46415 * util/i386/pc/grub-install.in: Likewise.
46416
46417 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
46418 choose which information we want to print.
46419
2b002173 464202006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
46421
46422 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
46423 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
46424 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
46425 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
46426 video/readers/tga.c and video/i386/pc/vbeutil.c.
46427
464282006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
46429
46430 Added support for RAID and LVM.
f19dbdb7 46431
2b002173 46432 * disk/lvm.c: New file.
46433 * disk/raid.c: Likewise.
46434 * include/grub/lvm.h: Likewise.
f19dbdb7 46435 * include/grub/raid.h: Likewise.
2b002173 46436 * include/grub/util/lvm.h: Likewise.
46437 * include/grub/util/raid.h: Likewise.
46438 * util/lvm.c: Likewise.
46439 * util/raid.c: Likewise.
46440
46441 * include/grub/disk.h (grub_disk_dev_id): Add
46442 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
46443 (grub_disk_get_size): New prototype.
46444 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
46445 returns a partition.
46446 (grub_disk_get_size): New function.
f19dbdb7 46447
2b002173 46448 * kern/i386/pc/init.c (make_install_device): Copy the prefix
46449 verbatim if grub_install_dos_part is -2.
46450
46451 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
46452 and LVM devices.
46453
46454 * util/i386/pc/grub-setup.c (setup): New argument
46455 MUST_EMBED. Force embedding of GRUB when the argument is
46456 true. Close FILE before returning.
46457 (main): Add support for RAID and LVM.
f19dbdb7 46458
2b002173 46459 * conf/common.rmk: Add RAID and LVM modules.
46460 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
46461 util/lvm.c.
46462 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
46463
46464 * kern/misc.c (grub_strstr): New function.
46465 * include/grub/misc.h (grub_strstr): New prototype.
46466
050548d0 464672006-10-10 Tristan Gingold <tristan.gingold@bull.net>
46468
46469 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
46470
da849d2d 464712006-10-05 Tristan Gingold <tristan.gingold@bull.net>
46472
46473 * kern/misc.c (grub_strtoull): Guess the base only if not
46474 specified.
46475
97b2f2ff 464762006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 46477
46478 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
46479 PowerMac support.
46480
97b2f2ff 464812006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 46482
46483 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
46484
46485 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
46486 Remove `flags' argument. All callers changed.
46487 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
46488 (IEEE1275_IHANDLE_INVALID): New variable.
46489 (IEEE1275_CELL_INVALID): New variable.
46490 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
46491 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
46492 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
46493 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
46494 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
46495 codes from Open Firmware. All callers updated.
46496 (grub_ieee1275_next_property): Directly return Open Firmware return
46497 code.
46498 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
46499 Standardize error checking from `grub_ieee1275_get_property'.
46500 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
46501 `devalias' to `aliases'. Correct comments. Consolidate error paths.
46502
97b2f2ff 465032006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 46504
46505 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
46506 `instance_to_package_args' to `instance_to_path_args'.
46507
46508 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
46509 `grub_ieee1275_chosen'.
46510
46511 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
46512 `grub_ieee1275_interpret'.
46513
97b2f2ff 465142006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 46515
46516 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
46517
97b2f2ff 465182006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 46519
46520 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
46521 (__cmpdi): Likewise.
46522
46523 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
46524 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
46525 `grub_ssize_t'.
46526
02bb8acc 46527 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 46528
46529 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
46530 to type `grub_ssize_t'.
46531 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
46532
7f9a8531 465332006-09-22 Marco Gerards <marco@gnu.org>
46534
46535 * normal/script.c (grub_script_create_cmdmenu): Skip leading
46536 newlines.
46537
b5ef1102 465382006-09-22 Marco Gerards <marco@gnu.org>
46539
46540 * commands/echo.c: New file.
46541
46542 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
46543
46544 * conf/common.rmk (echo_mod_SOURCES): New variable.
46545 (echo_mod_CFLAGS): Likewise.
46546 (echo_mod_LDFLAGS): Likewise.
46547
2cff3677 465482006-09-22 Marco Gerards <marco@gnu.org>
46549
46550 * normal/main.c (get_line): Malloc memory instead of using
46551 preallocated memory. Removed the arguments `cmdline' and
46552 `max_len'. Updated all callers.
46553
6ba4688b 465542006-09-22 Marco Gerards <marco@gnu.org>
46555
46556 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
46557 (normal_mod_DEPENDENCIES): Likewise.
46558
46559 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
46560 (normal_mod_DEPENDENCIES): Likewise.
46561
46562 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
46563
e02ac02c 465642006-09-22 Johan Rydberg <jrydberg@gnu.org>
46565
46566 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
46567 programs.
46568 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
46569 (normal_mod_DEPENDENCIES): Likewise.
46570 * conf/i386-pc.mk: Regenerate.
46571 * conf/i386-efi.mk: Likewise
46572 * conf/common.mk: Likewise.
46573 * conf/powerpc-ieee1275.mk: Likewise.
46574 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 46575
8d252e44 465762006-09-22 Robert Millan <rmh@aybabtu.com>
46577
46578 Sync with i386 version.
46579 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
46580 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
46581
209bf7ac 465822006-09-21 Robert Millan <rmh@aybabtu.com>
46583
46584 Import from GRUB Legacy (lib/device.c):
46585 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
46586 (init_device_map) [__linux__]: Add support for I2O devices.
46587
6b146090 465882006-09-14 Marco Gerards <marco@gnu.org>
46589
46590 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
46591 `-melf_i386'.
46592
e38600a8 465932006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 46594
46595 * util/i386/pc/grub-install.in: Skip menu.lst when removing
46596 /boot/grub/*.lst.
78fa1790 46597
2952da5d 46598 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 46599
2952da5d 46600 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
46601 before adding it to device.map.
46602
01b82a64 466032006-08-15 Johan Rydberg <jrydberg@gnu.org>
46604
fe6b695a 46605 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 46606 compiles a file; using the -MD option.
46607 * conf/common.mk: Regenerate.
46608 * conf/i386-pc.mk: Likewise.
46609 * conf/i386-efi.mk: Likewise.
46610 * conf/powerpc-ieee1275.mk: Likewise.
46611 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 46612
1064790d 466132006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
46614
46615 Move the prototypes of grub_setjmp and grub_longjmp to
46616 cpu/setjmp.h, so that each architecture may specify different
46617 attributes.
f19dbdb7 46618
1064790d 46619 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
46620 (grub_longjmp): Likewise.
46621 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
46622 (grub_longjmp): Likewise.
46623 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
46624 (grub_longjmp): Likewise.
46625
46626 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
46627 [!GRUB_UTIL] (grub_longjmp): Removed.
46628
29dda3ed 466292006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
46630
46631 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
46632 "color!" method does not return any value.
46633
ad2a06ed 466342006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
46635
46636 * include/grub/bitmap.h: New file.
46637
46638 * include/grub/i386/pc/vbeutil.h: Likewise.
46639
46640 * video/bitmap.c: Likewise.
46641
46642 * video/readers/tga.c: Likewise.
46643
46644 * video/i386/pc/vbeutil.c: Likewise.
46645
46646 * commands/videotest.c: Code cleanup and updated to reflect to new
46647 video API.
46648
46649 * term/gfxterm.c: Likewise.
46650
46651 * video/video.c: Likewise.
46652
46653 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
46654 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
46655 (bitmap_mod_SOURCES): New entry.
46656 (bitmap_mod_CFLAGS): Likewise.
46657 (bitmap_mod_LDFLAGS): Likewise.
46658 (tga_mod_SOURCES): Likewise.
46659 (tga_mod_CFLAGS): Likewise.
46660 (tga_mod_LDFLAGS): Likewise.
46661
46662 * include/grub/video.h (grub_video_blit_operators): New enum type.
46663 (grub_video_render_target): Changed as forward declaration and moved
46664 actual definition to be video driver specific.
46665 (grub_video_adapter.blit_bitmap): Added blitting operator.
46666 (grub_video_adapter.blit_render_target): Likewise.
46667 (grub_video_blit_bitmap): Likewise.
46668 (grub_video_blit_render_target): Likewise.
46669
46670 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
46671 driver specific render target definition.
46672 (grub_video_vbe_map_rgba): Added driver internal helper.
46673 (grub_video_vbe_unmap_color): Updated to use
46674 grub_video_i386_vbeblit_info.
46675 (grub_video_vbe_get_video_ptr): Likewise.
46676
46677 * include/grub/i386/pc/vbeblit.h
46678 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
46679 grub_video_i386_vbeblit_info.
46680 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
46681 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
46682 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
46683 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
46684 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
46685 (grub_video_i386_vbeblit_index_index): Likewise.
46686 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
46687 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
46688 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
46689 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
46690 operator.
46691 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
46692 operator.
46693
46694 * video/i386/pc/vbeblit.c: Updated to reflect changes on
46695 include/grub/i386/pc/vbeblit.h.
46696
46697 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
46698 Updated to use grub_video_i386_vbeblit_info.
46699 (grub_video_i386_vbefill_R8G8B8): Likewise.
46700 (grub_video_i386_vbefill_index): Likewise.
46701 (grub_video_i386_vbefill): Added generic filler.
46702
46703 * video/i386/pc/vbefill.c: Updated to reflect changes on
46704 include/grub/i386/pc/vbefill.h.
46705
46706 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
46707 grub_video_i386_vbeblit_info.
46708 (grub_video_vbe_unmap_color): Likewise.
46709 (grub_video_vbe_blit_glyph): Likewise.
46710 (grub_video_vbe_scroll): Likewise.
46711 (grub_video_vbe_draw_pixel): Removed function.
46712 (grub_video_vbe_get_pixel): Likewise.
46713 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
46714 updated code to use it.
46715 (common_blitter): Added common blitter for render target and bitmap.
46716 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
46717 (grub_video_vbe_blit_render_target): Likewise.
46718
bc8c036d 467192006-07-30 Johan Rydberg <jrydberg@gnu.org>
46720
46721 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
46722 is in text mode if there is no console control protocol instance
46723 available.
46724
684a8eff 467252006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
46726
46727 * include/grub/video.h: Code cleanup.
46728
46729 * include/grub/i386/pc/vbe.h: Likewise.
46730
46731 * video/i386/pc/vbe.c: Likewise.
46732
46733 * video/i386/pc/vbeblit.c: Likewise.
46734
46735 * video/i386/pc/vbefill.c: Likewise.
46736
46737 * video/video.c: Likewise. Also added more comments.
46738
5915059b 467392006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
46740
46741 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
46742 (struct grub_biosdisk_dap): Likewise.
46743
46744 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
46745 linkage settings for all functions.
46746
90ce5d56 467472006-07-12 Marco Gerards <marco@gnu.org>
46748
46749 * configure.ac (--enable-mm-debug): Fix typo.
46750
46751 * genkernsyms.sh.in: Use proper quoting for `CC'.
46752
43e7f879 467532006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
46754
46755 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
46756 (normal_mod_ASFLAGS): Remove "-m32".
46757
4889bdec 467582006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
46759
46760 * util/misc.c: Include config.h.
46761 [!HAVE_MEMALIGN]: Do not include malloc.h.
46762 (grub_memalign): Use posix_memalign, if present. Then, use
46763 memalign, if present. Otherwise, emit an error.
46764
46765 * util/grub-emu.c: Do not include malloc.h.
46766
46767 * include/grub/util/misc.h: Include unistd.h. This is required for
46768 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
46769 D. Eades III <hde@foobar-qux.org>.
46770
46771 * configure.ac (AC_GNU_SOURCE): Added.
46772 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
46773 type.
46774
fd39d4da 467752006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
46776
46777 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
46778 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
46779
b786f3b5 467802006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
46781
46782 * include/grub/types.h (grub_host_addr_t): Rename to
46783 grub_target_addr_t.
46784 (grub_host_off_t): Rename to grub_target_off_t.
46785 (grub_host_size_t): Rename to grub_target_size_t.
46786 (grub_host_ssize_t): Rename to grub_target_ssize_t.
46787 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
46788
46789 * include/grub/kernel.h (struct grub_module_header): Change type
46790 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
46791 (grub_module_info): Likewise.
f19dbdb7 46792
051988bb 467932006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
46794
46795 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
46796 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
46797 Velazquez <jesus.velazquez@gmail.com>.
46798
deae281b 467992006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
46800
46801 Count partitions from 1 instead of 0 in the string representation
46802 of partitions. Still use 0-based internally.
f19dbdb7 46803
deae281b 46804 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
46805 (sun_partition_map_iterate): Use grub_partition_t instead of
46806 struct grub_partition *. Cast DESC->START_CYLINDER to
46807 grub_uint64_t after converting the endian.
46808 (sun_partition_map_probe): Subtract 1 for PARTNUM.
46809 (sun_partition_map_get_name): Add 1 to P->INDEX.
46810
46811 * partmap/pc.c (grub_partition_parse): Subtract 1 for
46812 PCDATA->DOS_PART.
46813 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
46814
46815 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
46816 zero instead of one.
46817 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
46818 (gpt_partition_map_get_name): Add 1 into P->INDEX.
46819
46820 * partmap/apple.c (apple_partition_map_iterate): Change the type
46821 of POS to unsigned.
46822 (apple_partition_map_probe): Subtract 1 for PARTNUM.
46823 (apple_partition_map_get_name): Add 1 into P->INDEX.
46824
46825 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
46826 of POS to unsigned.
46827 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
46828 calculate the offset of a partition.
46829 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
46830 (amiga_partition_map_get_name): Add 1 into P->INDEX.
46831
46832 * partmap/acorn.c (acorn_partition_map_find): Change the type of
46833 SECTOR to grub_disk_addr_t.
46834 (acorn_partition_map_iterate): Likewise.
46835 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
46836 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
46837 top.
46838 (acorn_partition_map_get_name): Add 1 into P->INDEX.
46839
46840 * kern/i386/pc/init.c (make_install_device): Add 1 into
46841 GRUB_INSTALL_DOS_PART.
46842
46843 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
46844 conditional.
46845
524a1e6a 468462006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
46847
46848 Clean up the code to support 64-bit addressing in disks and
46849 files. This change is not enough for filesystems yet.
f19dbdb7 46850
524a1e6a 46851 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
46852 type of "start" to grub_uint64_t.
46853 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
46854 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
46855 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
46856 convert addresses.
46857
46858 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
46859 to grub_disk_addr_t.
46860
46861 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
46862 string.
46863
46864 * partmap/pc.c (pc_partition_map_iterate): Likewise.
46865
46866 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
46867 to char *.
46868
46869 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
46870
46871 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
46872
46873 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
46874
46875 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
46876 to grub_off_t, to detect an error from grub_file_seek.
46877 (grub_multiboot_load_elf32): Likewise.
46878
46879 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
46880 maximum unsigned long value when an overflow is detected.
46881 (grub_strtoull): New function.
46882 (grub_divmod64): Likewise.
46883 (grub_lltoa): use grub_divmod64.
46884
46885 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
46886 grub_disk_addr_t.
46887 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
46888 the pointer to next character. Use grub_strtoull instead of
46889 grub_strtoul.
46890 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
46891 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
46892 respectively.
46893
fe6b695a 46894 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 46895 return value is signed.
46896 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
46897 test if OFFSET is less than zero, as OFFSET is unsigned now.
46898
46899 * kern/disk.c (struct grub_disk_cache): Change the type of
46900 "sector" to grub_disk_addr_t.
46901 (grub_disk_cache_get_index): Change the type of SECTOR to
46902 grub_disk_addr_t. Calculate the hash with SECTOR casted to
46903 unsigned after shifting.
46904 (grub_disk_cache_invalidate): Change the type of SECTOR to
46905 grub_disk_addr_t.
46906 (grub_disk_cache_unlock): Likewise.
46907 (grub_disk_cache_store): Likewise.
46908 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
46909 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
46910 grub_disk_addr_t and grub_uint64_t, respectively.
46911 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
46912 body, as the value of OFFSET is tweaked by
46913 grub_disk_check_range. Change the types of START_SECTOR, LEN and
46914 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
46915 respectively.
46916 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
46917 body, as the value of OFFSET is tweaked by
46918 grub_disk_check_range. Change the types of LEN and N to
46919 grub_size_t.
46920
46921 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
46922 and "saved_offset" to grub_off_t.
46923 (test_header): Cast BUF to char *.
46924 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
46925 to char *.
46926 (grub_gzio_read): Change the types of OFFSET and SIZE to
46927 grub_off_t and grub_size_t, respectively.
46928
46929 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
46930 Removed.
46931 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
46932 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
46933 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
46934 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
46935 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
46936
46937 * include/grub/types.h (grub_off_t): Unconditionally set to
46938 grub_uint64_t.
46939 (grub_disk_addr_t): Changed to grub_uint64_t.
46940
46941 * include/grub/partition.h (struct grub_partition): Change the
46942 types of "start", "len" and "offset" to grub_disk_addr_t,
46943 grub_uint64_t and grub_disk_addr_t, respectively.
46944 (grub_partition_get_start): Return grub_disk_addr_t.
46945 (grub_partition_get_len): Return grub_uint64_t.
46946
46947 * include/grub/misc.h (grub_strtoull): New prototype.
46948 (grub_divmod64): Likewise.
46949
46950 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
46951 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
46952 grub_off_t, respectively.
46953 All callers and references changed.
46954
46955 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
46956 grub_size_t in "read".
46957 All callers and references changed.
46958
46959 * include/grub/file.h (struct grub_file): Change the types of
46960 "offset" and "size" to grub_off_t and grub_off_t,
46961 respectively. Change the type of SECTOR to grub_disk_addr_t in
46962 "read_hook".
46963 (grub_file_read): Change the type of LEN to grub_size_t.
46964 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
46965 grub_off_t.
46966 (grub_file_size): Return grub_off_t.
46967 (grub_file_tell): Likewise.
46968 All callers and references changed.
46969
46970 * include/grub/disk.h (struct grub_disk_dev): Change the types of
46971 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
46972 "write".
46973 (struct grub_disk): Change the type of "total_sectors" to
46974 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 46975 "read_hook".
524a1e6a 46976 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
46977 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
46978 (grub_disk_write): Likewise.
46979 All callers and references changed.
46980
46981 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
46982 char * for grub_strncmp to silence gcc.
46983 (grub_iso9660_mount): Likewise.
46984 (grub_iso9660_mount): Likewise.
46985 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
46986 return statement.
46987 (grub_iso9660_iterate_dir): Likewise.
46988 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
46989
46990 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
46991 LEN to grub_disk_addr_t and grub_size_t, respectively.
46992
46993 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
46994
46995 * fs/jfs.c (grub_jfs_read_file): Likewise.
46996
46997 * fs/minix.c (grub_jfs_read_file): Likewise.
46998
46999 * fs/sfs.c (grub_jfs_read_file): Likewise.
47000
47001 * fs/ufs.c (grub_jfs_read_file): Likewise.
47002
47003 * fs/xfs.c (grub_jfs_read_file): Likewise.
47004
47005 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
47006 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
47007 respectively.
47008
47009 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
47010 BLKNR to -1 instead of returning GRUB_ERRNO.
47011 (grub_ext2_read_file): Change the types of SECTOR and
47012 LEN to grub_disk_addr_t and grub_size_t, respectively.
47013
47014 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
47015 LEN to grub_disk_addr_t and grub_size_t, respectively.
47016
47017 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
47018 grub_file_read.
47019
47020 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
47021 string. Do not cast SECTOR explicitly.
47022
47023 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
47024 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
47025 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
47026 grub_disk_addr_t and grub_size_t, respectively. If the sector is
47027 over 2TB and LBA mode is not supported, raise an error.
47028 (get_safe_sectors): New function.
47029 (grub_biosdisk_read): Use get_safe_sectors.
47030 (grub_biosdisk_write): Likewise.
47031
47032 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
47033 (grub_efidisk_write): Likewise.
47034
47035 * disk/loopback.c (delete_loopback): Cosmetic changes.
47036 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
47037 correctly.
47038 (grub_loopback_open): Likewise.
47039 (grub_loopback_read): Likewise. Also, change the type of POS to
47040 grub_off_t, and fix the usage of grub_memset.
47041
47042 * commands/i386/pc/play.c: Include grub/machine/time.h.
47043
47044 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
47045 print FILE->SIZE.
47046
47047 * commands/configfile.c: Include grub/env.h.
47048
47049 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
47050 GRUB_ERRNO directly instead. Change the type of POS to
47051 grub_off_t. Follow the coding standard.
47052
47053 * commands/blocklist.c: Include grub/partition.h.
47054 (grub_cmd_blocklist): Return an error if the underlying device is
47055 not a disk. Take the starting sector of a partition into account,
47056 if a partition is used.
47057
47058 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
47059 a length field.
47060 (lba_mode): Support 64-bit addresses.
47061 (chs_mode): Likewise.
47062 (copy_buffer): Adapted to the new offsets of a length field and a
47063 segment field.
47064 (blocklist_default_start): Allocate 64-bit space.
47065
47066 * boot/i386/pc/boot.S (force_lba): Removed.
47067 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 47068 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 47069 space.
47070 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
47071 is useless.
47072 (lba_mode): Refactored to support a 64-bit address. More size
47073 optimization.
47074 (setup_sectors): Likewise.
47075
53af98ad 470762006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
47077
47078 * DISTLIST: Added include/grub/i386/linux.h. Removed
47079 include/grub/i386/pc/linux.h
47080
47081 * configure.ac (AC_INIT): Bumped to 1.94.
47082
47083 * config.guess: Updated from gnulib.
47084 * config.sub: Likewise.
47085 * install-sh: Likewise.
47086 * mkinstalldirs: Likewise.
47087
b4c1940a 470882006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
47089
47090 * conf/common.rmk (grub_modules_init.lst): Depended on
47091 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
47092 MODSRCFILES.
47093
47094 * genmk.rb (PModule::rule): Reverted the previous change.
47095
cfca1cfd 470962006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
47097
47098 * conf/common.rmk (grub_modules_init.lst): Depends on
47099 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
47100 that the target does not exist before producing.
47101 (grub_modules_init.h): Remove the target before generating.
47102 (grub_emu_init.c): Likewise.
47103
47104 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
47105
aa6d7826 471062006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
47107
47108 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
47109 for the target-specific tests. Make sure that we also have the
47110 up-to-date target variables for those tests.
47111
26c607b9 471122006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
47113
47114 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
47115 (PModule::rule): Likewise.
47116
0162321a 471172006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
47118
47119 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
47120 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
47121 target-specific flags should be prefixed.
47122 (PModule::rule): Likewise.
47123
6c826348 471242006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
47125
47126 * configure.ac (CMP): Check if cmp is available explicitly.
47127
b977bf01 471282006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
47129
47130 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
47131 (target_cpu): New variable.
47132 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 47133
b977bf01 47134 * util/i386/pc/grub-install.in (host_cpu): Removed.
47135 (target_cpu): New variable.
47136 (pkglibdir): Use target_cpu instead of host_cpu.
47137
47138 * util/genmoddep.c: Removed.
f19dbdb7 47139
b977bf01 47140 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
47141 instead of GRUB_HOST_SIZEOF_VOID_P.
47142 * kern/dl.c: Likewise.
47143
47144 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
47145 ...
47146 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
47147 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
47148 (GRUB_TARGET_SIZEOF_LONG): ... this.
47149 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
47150 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
47151 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
47152 to ...
47153 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
47154 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
47155 (GRUB_TARGET_SIZEOF_LONG): ... this.
47156 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
47157 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
47158 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
47159 to ...
47160 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
47161 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
47162 (GRUB_TARGET_SIZEOF_LONG): ... this.
47163 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
47164 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
47165
47166 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
47167 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
47168 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
47169 instead of GRUB_HOST_SIZEOF_LONG.
47170 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
47171 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
47172 GRUB_CPU_WORDS_BIGENDIAN.
47173 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
47174 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
47175 grub_host_ssize_t.
47176
47177 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
47178 (genmoddep_SOURCES): Likewise.
47179 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
47180 (genmoddep_SOURCES): Likewise.
47181 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
47182 (genmoddep_SOURCES): Likewise.
47183 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
47184 Likewise.
47185 (genmoddep_SOURCES): Likewise.
47186
47187 * genmoddep.awk: New file.
47188
47189 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
47190 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
47191 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
47192 (PModule::rule): Likewise.
47193 (Program::rule): Likewise.
47194 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
47195 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
47196 respectively.
47197
47198 * configure.ac: Rewritten intensively to use host and target
47199 instead of build and host, respectively.
47200
47201 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
47202 (host_cpu): Removed.
47203 (target_cpu): New variable.
47204 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
47205 (BUILD_CC): Removed.
47206 (BUILD_CFLAGS): Likewise.
47207 (BUILD_CPPFLAGS): Likewise.
47208 (TARGET_CC): New variable.
47209 (TARGET_CFLAGS): Likewise.
47210 (TARGET_CPPFLAGS): Likewise.
47211 (TARGET_LDFLAGS): Likewise.
47212 (AWK): Likewise.
47213 (include): Use target_cpu instead of host_cpu.
47214 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 47215
b977bf01 47216 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
47217
f09771a1 472182006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
47219
47220 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
47221 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
47222 field 'false' to 'exec_on_false'.
47223 (grub_script_create_cmdif): Renamed argument names to reflect above
47224 changes.
47225
47226 * normal/execute.c (grub_script_execute_cmdif): Likewise.
47227
47228 * normal/script.c (grub_script_create_cmdif): Likewise.
47229
118f4fb3 472302006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
47231
47232 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
47233 top.
47234 (grub_hfsplus_btree_recptr): Likewise.
47235 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
47236 FILEBLOCK both to pass a block number and store next block
47237 number.
47238 (grub_hfsplus_read_block): Rewritten heavily to support an extent
47239 overflow file correctly. Specify errors appropriately, because
47240 fshelp expects that GRUB_ERRNO is set when fails. Reuse
47241 grub_hfsplus_btree_recptr to get the pointer to a found key.
47242 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
47243 is found.
47244
47245 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
47246 linux.mod.
47247 (_linux_mod_SOURCES): New variable.
47248 (_linux_mod_CFLAGS): Likewise.
47249 (_linux_mod_LDFLAGS): Likewise.
47250 (linux_mod_SOURCES): Likewise.
47251 (linux_mod_CFLAGS): Likewise.
47252 (linux_mod_LDFLAGS): Likewise.
47253
47254 * DISTLIST: Added loader/i386/efi/linux.c,
47255 loader/i386/efi/linux_normal.c and
47256 include/grub/i386/efi/loader.h.
47257
47258 * loader/i386/efi/linux.c: New file.
47259 * loader/i386/efi/linux_normal.c: Likewise.
47260 * include/grub/i386/efi/loader.h: Likewise.
47261
89a7d726 472622006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
47263
47264 * commands/blocklist.c: New file.
47265
47266 * DISTLIST: Added commands/blocklist.c.
47267
47268 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 47269 color for the background, and a darker color for the foreground.
89a7d726 47270 (grub_console_checkkey): Return READ_KEY.
47271 (grub_console_cls): Set the background to
47272 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
47273
47274 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
47275
47276 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
47277 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
47278
47279 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
47280 prototype.
47281
47282 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
47283 BG. The spec is wrong again.
47284
47285 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
47286 prototype.
47287 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
47288
47289 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
47290 commands/blocklist.c.
47291 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 47292
89a7d726 47293 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
47294 (blocklist_mod_SOURCES): New variable.
47295 (blocklist_mod_CFLAGS): Likewise.
47296 (blocklist_mod_LDFLAGS): Likewise.
47297
75c8f258 472982006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
47299
47300 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
47301 duplication.
47302 (lba_mode): Use %eax more intensively to reduce the code size.
47303
da2eb181 473042006-05-20 Marco Gerards <marco@gnu.org>
47305
47306 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
47307
47308 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
47309 for `menuentry'.
47310 (script): Accept leading newlines.
47311 (newlines): New rule to describe 0 or more newlines.
47312 (commands): Accept `command' with trailing newline. Fixed the
47313 order in which arguments were passed to `grub_script_add_cmd'.
47314 Accept commands separated by newlines.
47315 (function): Changed to accept newlines.
47316 (menuentry) Rewritten.
47317
47318 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
47319 front of the list, instead of to the end.
47320
577b4050 473212006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
47322
47323 * util/i386/pc/grub-install.in (bindir): New variable.
47324 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
47325 Shaver <lbgwjl@gmail.com>.
47326
0d6e1189 473272006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
47328
47329 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
47330 grub/machine/linux.h
47331 * loader/i386/pc/linux.c: Likewise.
47332
47333 * include/grub/i386/pc/linux.h: Moved to ...
47334 * include/grub/i386/linux.h: ... here.
47335
47336 * include/grub/i386/linux.h (struct linux_kernel_params): New
47337 struct.
f19dbdb7 47338
31b86e9f 473392006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
47340
47341 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
47342 checking.
47343 (grub_video_vbe_blit_glyph): Likewise.
47344 (grub_video_vbe_blit_bitmap): Likewise.
47345 (grub_video_vbe_blit_render_target): Likewise.
47346
83b984de 473472006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
47348
47349 * configure.ac (--with-platform): Properly quote the square
47350 brackets.
47351
5f0413bd 473522006-05-08 Marco Gerards <marco@gnu.org>
47353
47354 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
47355 this...
47356 (kernel_elf_HEADERS): ...to this. Updated all users.
47357 (grubof_symlist.c): Renamed from this...
47358 (kernel_elf_symlist.c): ...to this. Updated all users.
47359 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
47360 (grubof_SOURCES): Renamed from this...
47361 (kernel_elf_SOURCES): ...to this.
47362 (grubof_HEADERS): Renamed from this...
47363 (kernel_elf_HEADERS): ...to this.
47364 (grubof_CFLAGS): Renamed from this...
47365 (kernel_elf_CFLAGS): ...to this.
47366 (grubof_ASFLAGS): Renamed from this...
47367 (kernel_elf_ASFLAGS): ...to this.
47368 (grubof_LDFLAGS): Renamed from this...
47369 (kernel_elf_LDFLAGS): ...to this.
47370
47371 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
47372 this...
47373 (kernel_elf_HEADERS): ...to this. Updated all users.
47374 (grubof_symlist.c): Renamed from this...
47375 (kernel_elf_symlist.c): ...to this. Updated all users.
47376 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
47377 (grubof_SOURCES): Renamed from this...
47378 (kernel_elf_SOURCES): ...to this.
47379 (grubof_HEADERS): Renamed from this...
47380 (kernel_elf_HEADERS): ...to this.
47381 (grubof_CFLAGS): Renamed from this...
47382 (kernel_elf_CFLAGS): ...to this.
47383 (grubof_ASFLAGS): Renamed from this...
47384 (kernel_elf_ASFLAGS): ...to this.
47385 (grubof_LDFLAGS): Renamed from this...
47386 (kernel_elf_LDFLAGS): ...to this.
47387
47388 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
47389 `kernel.elf' instead of `grubof'.
47390
05568c2e 473912006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
47392
47393 Add --with-platform to configure. Use pkglibdir instead of
47394 pkgdatadir. This is reported by Roger Leigh.
47395
47396 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
47397 (host_vendor): Likewise.
47398 (host_os): Likewise.
47399 (pkgdatadir): Likewise.
47400 (platform): New variable.
47401 (pkglibdir): Likewise.
47402 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 47403
05568c2e 47404 * util/i386/pc/grub-install.in (datadir): Removed.
47405 (host_vendor): Likewise.
47406 (host_os): Likewise.
47407 (pkgdatadir): Likewise.
47408 (platform): New variable.
47409 (pkglibdir): Likewise.
47410 Use PKGLIBDIR instead of PKGDATADIR.
47411
47412 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
47413 instead of GRUB_DATADIR.
47414 (main): Likewise.
47415 * util/i386/pc/grub-mkimage.c (usage): Likewise.
47416 (main): Likewise.
47417 * util/i386/efi/grub-mkimage.c (usage): Likewise.
47418 (main): Likewise.
47419
47420 * configure.ac (--with-platform): New option.
47421 Use PLATFORM instead of HOST_VENDOR to specify a platform.
47422
47423 * Makefile.in: Include a makefile based on PLATFORM instead of
47424 HOST_VENDOR.
47425 (pkgdatadir): Not appended by the machine type.
47426 (pkglibdir): Appended by the machine type.
47427 (host_vendor): Removed.
47428 (platform): New variable.
47429 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
47430 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
47431 (uninstall): Likewise.
47432
4e93851c 474332006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
47434
47435 Use the environment context in the menu. Remove the commands
47436 "default" and "timeout", and use variables instead.
f19dbdb7 47437
4e93851c 47438 * normal/menu.c: Include grub/env.h.
47439 (print_entry): Cast TITLE to silence gcc.
47440 (get_timeout): New function.
47441 (set_timeout): Likewise.
47442 (get_entry_number): Likewise.
47443 (run_menu): Use a default entry, a fallback entry and a timeout
47444 in the environment variables "default", "fallback" and
47445 "timeout". Also, tweak the default entry if it is not within the
47446 current menu entries.
47447 (grub_menu_run): Use a fallback entry in the environment variable
47448 "fallback".
47449
47450 * normal/main.c (read_config_file): Do not initialize
47451 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
47452 NEWMENU->TIMEOUT.
47453 (grub_normal_execute): Use a data slot to store the menu.
47454
47455 * include/grub/normal.h (struct grub_menu): Removed default_entry,
47456 fallback_entry and timeout.
47457 (struct grub_menu_list): Removed.
47458 (grub_menu_list_t): Likewise.
47459 (struct grub_context): Likewise.
47460 (grub_context_t): Likewise.
47461 (grub_context_get): Likewise.
47462 (grub_context_get_current_menu): Likewise.
47463 (grub_context_push_menu): Likewise.
47464 (grub_context_pop_menu): Likewise.
47465 (grub_default_init): Likewise.
47466 (grub_default_fini): Likewise.
47467 (grub_timeout_init): Likewise.
47468 (grub_timeout_fini): Likewise.
47469
47470 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
47471 and timeout.mod.
47472 (normal_mod_SOURCES): Removed normal/context.c.
47473
47474 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
47475 commands/default.c, commands/timeout.c and normal/context.c.
47476 (normal_mod_SOURCES): Removed normal/context.c.
47477
47478 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
47479 commands/timeout.c and normal/context.c.
47480 (normal_mod_SOURCES): Removed normal/context.c.
47481
47482 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
47483 commands/default.c, commands/timeout.c and normal/context.c.
47484 (normal_mod_SOURCES): Removed normal/context.c.
47485
47486 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
47487 timeout.mod.
47488 (default_mod_SOURCES): Removed.
47489 (default_mod_CFLAGS): Likewise.
47490 (default_mod_LDFLAGS): Likewise.
47491 (timeout_mod_SOURCES): Removed.
47492 (timeout_mod_CFLAGS): Likewise.
47493 (timeout_mod_LDFLAGS): Likewise.
47494
47495 * DISTLIST: Removed commands/default.c, commands/timeout.c and
47496 normal/context.c.
47497
47498 * commands/default.c: Removed.
47499 * commands/timeout.c: Likewise.
47500 * normal/context.c: Likewise.
47501
1eb9cc1d 475022006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
47503
47504 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
47505
385bd9c1 475062006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
47507
47508 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
47509 "next" to "prev" for readability.
47510 (struct grub_env_sorted_var): New struct.
47511 (grub_env_context): Renamed to ...
47512 (initial_context): ... this.
47513 (grub_env_var_context): Renamed to ...
47514 (current_context): ... this.
47515 (grub_env_find): Look only at CURRENT_CONTEXT.
47516 (grub_env_context_open): Rewritten to copy exported variables from
47517 previous context.
47518 (grub_env_context_close): Rewritten according to the new
47519 scheme. Also, add an assertion to prevent the initial context from
47520 removed.
47521 (grub_env_insert): Removed the code for the sorted list.
47522 (grub_env_remove): Likewise.
47523 (grub_env_export): Simply mark the variable with
47524 GRUB_ENV_VAR_GLOBAL.
47525 (grub_env_set): A cosmetic change for naming consistency.
47526 (grub_env_get): Likewise.
47527 (grub_env_unset): Likewise.
47528 (grub_env_iterate): Rewritten to sort variables within this
47529 function.
47530 (grub_register_variable_hook): Fixed for naming consistency. Call
47531 grub_env_find again, only if NAME is not found at the first time.
47532 (mangle_data_slot_name): New function.
47533 (grub_env_set_data_slot): Likewise.
47534 (grub_env_get_data_slot): Likewise.
47535 (grub_env_unset_data_slot): Likewise.
47536
47537 * include/grub/env.h (grub_env_var_type): New enum.
47538 (GRUB_ENV_VAR_LOCAL): New constant.
47539 (GRUB_ENV_VAR_GLOBAL): Likewise.
47540 (GRUB_ENV_VAR_DATA): Likewise.
47541 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
47542 "type".
47543 (grub_env_set): Replace VAR with NAME for consistency.
47544 (grub_register_variable_hook): Likewise.
47545 (grub_env_export): Specify the name of the argument.
47546 (grub_env_set_data_slot): New prototype.
47547 (grub_env_get_data_slot): Likewise.
47548 (grub_env_unset_data_slot): Likewise.
47549
7f362539 475502006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
47551
47552 Extend the loader so that GRUB can accept a loader which comes
47553 back to GRUB when a loaded image exits. Also, this change adds
47554 support for a chainloader on EFI.
f19dbdb7 47555
7f362539 47556 * term/efi/console.c: Include grub/misc.h.
47557 (grub_console_checkkey): Display a scan code on the top for
47558 debugging. This will be removed once the EFI port gets stable.
47559 Correct the scan code mapping.
47560
47561 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
47562 allocate memory from larger regions, in order to reduce the number
47563 of allocated regions. Otherwise, the MacOSX loader panics.
47564 (filter_memory_map): Avoid less than 1MB for compatibility with
47565 other loaders.
47566 (add_memory_regions): Allocate from the tail of a region, if
47567 possible, to avoid allocating a region near to 1MB, for the MacOSX
47568 loader.
47569
47570 * kern/efi/init.c (grub_efi_set_prefix): Specify
47571 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
47572
47573 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
47574 argument IMAGE_HANDLE and specify it to get a loaded image.
47575 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
47576 grub_efi_get_loaded_image.
fe6b695a 47577 (grub_efi_get_filename): Divide the length by the size of
7f362539 47578 grub_efi_char16_t.
47579 (grub_efi_get_device_path): New function.
47580 (grub_efi_print_device_path): Print End Device Path nodes. Divide
47581 the length by the size of grub_efi_char16_t for a file path device
47582 path node.
47583
47584 * kern/loader.c (grub_loader_noreturn): New variable.
47585 (grub_loader_set): Accept a new argument NORETURN. Set
47586 GRUB_LOADER_NORETURN to NORETURN.
47587 All callers changed.
47588 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
47589 grub_machine_fini.
47590
47591 * include/grub/efi/efi.h (grub_efi_get_device_path): New
47592 prototype.
47593 (grub_efi_get_loaded_image): Take an argument to specify an image
47594 handle.
47595
47596 * include/grub/loader.h (grub_loader_set): Added one more argument
47597 NORETURN.
47598
47599 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
47600 instead of grub_efi_open_protocol.
47601 (grub_efidisk_get_device_name): Likewise.
47602 (grub_efidisk_close): Print a newline.
47603 (grub_efidisk_get_device_handle): Fixed to use
47604 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
47605 GRUB_EFI_DEVICE_PATH_TYPE.
47606
47607 * disk/efi/efidisk.c (device_path_guid): Moved to ...
47608 * kern/efi/efi.c (device_path_guid): ... here.
47609
47610 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
47611 chain.mod.
47612 (kernel_mod_HEADERS): Added efi/disk.h.
47613 (_chain_mod_SOURCES): New variable.
47614 (_chain_mod_CFLAGS): Likewise.
47615 (_chain_mod_LDFLAGS): Likewise.
47616 (chain_mod_SOURCES): Likewise.
47617 (chain_mod_CFLAGS): Likewise.
47618 (chain_mod_LDFLAGS): Likewise.
47619
47620 * DISTLIST: Added include/grub/efi/chainloader.h,
47621 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
47622
47623 * include/grub/efi/chainloader.h: New file.
47624 * loader/efi/chainloader.c: Likewise.
47625 * loader/efi/chainloader_normal.c: Likewise.
47626
c0111d6e 476272006-04-30 Marco Gerards <marco@gnu.org>
47628
47629 * commands/configfile.c (grub_cmd_source): New function.
47630 (GRUB_MOD_INIT): Register the commands `source' and `.'.
47631 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
47632
df5341da 476332006-04-30 Marco Gerards <marco@gnu.org>
47634
47635 * normal/execute.c (grub_script_execute_cmd): Change the return
47636 type to `grub_err_t'. Correctly return the error.
47637 (grub_script_execute_cmdline): In case a command line is not a
47638 command or a function, try to interpret it as an assignment.
47639
f85934bd 476402006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
47641
47642 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
47643 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
47644 skip a node whose name is obviously invalid as UTF-16,
47645 i.e. contains a NUL character. Stop the iteration when the last
47646 directory entry is found. Instead of using the return value of
47647 grub_hfsplus_btree_iterate_node, store the value in RET and use
47648 it, because the iterator can be stopped by the last directory
47649 entry.
47650
8f8a2cf8 476512006-04-30 Marco Gerards <marco@gnu.org>
47652
47653 * include/grub/env.h (grub_env_export): New prototype. Reported
47654 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
47655
a27e84ce 476562006-04-30 Marco Gerards <marco@gnu.org>
47657
47658 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
47659 size of the extents in a catalog file record.
47660
eaef0553 476612006-04-29 Marco Gerards <marco@gnu.org>
47662
47663 * commands/configfile.c (grub_cmd_configfile): Execute the
47664 configfile within its own context.
47665
47666 * include/grub/env.h (grub_env_context_open): New prototype.
47667 (grub_env_context_close): Likewise.
47668
47669 * kern/env.c (grub_env): Removed.
47670 (grub_env_sorted): Likewise.
47671 (grub_env_context): New variable.
47672 (grub_env_var_context): Likewise.
47673 (grub_env_find): Search both the active context and the global
47674 context.
47675 (grub_env_context_open): New function.
47676 (grub_env_context_close): Likewise.
47677 (grub_env_insert): Likewise.
47678 (grub_env_remove): Likewise.
47679 (grub_env_export): Likewise.
47680 (grub_env_set): Changed to use helper functions to avoid code
47681 duplication.
47682 (grub_env_iterate): Rewritten so both the current context and the
47683 global context are being used.
47684
47685 * normal/command.c (export_command): New function.
47686 (grub_command_init): Register the `export' function.
47687
7b455f4d 476882006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
47689
47690 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
47691 explicitly to suppress gcc's warnings.
47692 * fs/fat.c (grub_fat_find_dir): Likewise.
47693 (grub_fat_label): Likewise.
47694 * fs/xfs.c (grub_xfs_read_inode): Likewise.
47695 (grub_xfs_mount): Likewise.
47696 (grub_xfs_label): Likewise.
47697 * fs/affs.c (grub_affs_mount): Likewise.
47698 (grub_affs_label): Likewise.
47699 (grub_affs_iterate_dir): Likewise.
47700 * fs/sfs.c (grub_sfs_mount): Likewise.
47701 (grub_sfs_iterate_dir): Likewise.
47702 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
47703 * fs/hfs.c (grub_hfs_mount): Likewise.
47704 (grub_hfs_cmp_catkeys): Likewise.
47705 (grub_hfs_find_dir): Likewise.
47706 (grub_hfs_dir): Likewise.
47707 (grub_hfs_label): Likewise.
47708 * fs/jfs.c (grub_jfs_mount): Likewise.
47709 (grub_jfs_opendir): Likewise.
47710 (grub_jfs_getent): Likewise.
47711 (grub_jfs_lookup_symlink): Likewise.
47712 (grub_jfs_label): Likewise.
47713 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
47714 (grub_hfsplus_iterate_dir): Likewise.
47715 (grub_hfsplus_btree_iterate_node): Made static.
47716
47717 * util/grub-emu.c (prefix): New variable.
47718 (grub_machine_set_prefix): New function.
47719 (main): Do not set the environment variable "prefix" here. Only
47720 set PREFIX, which is used later by grub_machine_set_prefix.
47721
47722 * include/grub/video.h: Do not include grub/symbol.h.
47723 (grub_video_register): Not exported. This symbol is not defined in
47724 the kernel.
47725 (grub_video_unregister): Likewise.
47726 (grub_video_iterate): Likewise.
47727 (grub_video_setup): Likewise.
47728 (grub_video_restore): Likewise.
47729 (grub_video_get_info): Likewise.
47730 (grub_video_get_blit_format): Likewise.
47731 (grub_video_set_palette): Likewise.
47732 (grub_video_get_palette): Likewise.
47733 (grub_video_set_viewport): Likewise.
47734 (grub_video_get_viewport): Likewise.
47735 (grub_video_map_color): Likewise.
47736 (grub_video_map_rgb): Likewise.
47737 (grub_video_map_rgba): Likewise.
47738 (grub_video_fill_rect): Likewise.
47739 (grub_video_blit_glyph): Likewise.
47740 (grub_video_blit_bitmap): Likewise.
47741 (grub_video_blit_render_target): Likewise.
47742 (grub_video_scroll): Likewise.
47743 (grub_video_swap_buffers): Likewise.
47744 (grub_video_create_render_target): Likewise.
47745 (grub_video_delete_render_target): Likewise.
47746 (grub_video_set_active_render_target): Likewise.
47747
47748 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
47749 Undefined.
47750 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
47751
47752 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
47753 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
47754 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
47755 instead of $(srcdir)/genkernsyms.sh.
47756
47757 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
47758 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
47759 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
47760 instead of $(srcdir)/genkernsyms.sh.
47761
47762 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
47763 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
47764 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
47765 instead of $(srcdir)/genkernsyms.sh.
47766
47767 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
47768 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
47769 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
47770 instead of $(srcdir)/genkernsyms.sh.
47771
47772 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
47773 genkernsyms.sh.
47774
47775 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
47776 genkernsyms.sh.
47777 (gensymlist.sh): New target.
47778 (genkernsyms.sh): Likewise.
47779
47780 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
47781 genkernsyms.sh.in and gensymlist.sh.in.
47782
47783 * genkernsyms.sh: Removed.
47784 * gensymlist.sh: Likewise.
f19dbdb7 47785
7b455f4d 47786 * genkernsyms.sh.in: New file.
47787 * gensymlist.sh.in: Likewise.
47788
1885bb27 477892006-04-25 Hollis Blanchard <hollis@penguinppc.org>
47790
47791 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
47792 clobber "prefix", since we may have already set it manually.
47793
71538dff 477942006-04-25 Hollis Blanchard <hollis@penguinppc.org>
47795
47796 * kern/misc.c (abort): New alias for grub_abort.
47797
2965c7cc 477982006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
47799
47800 A new machine-specific function "grub_machine_set_prefix" is
47801 defined. This is called after loading modules, so that a prefix
47802 initialization can use modules. Also, this change adds an
47803 intensive debugging feature for the memory manager via the
47804 configure option "--enable-mm-debug".
f19dbdb7 47805
2965c7cc 47806 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
47807 PART.LEN.
47808
47809 * kern/sparc64/ieee1275/init.c (abort): Removed.
47810 (grub_stop): Likewise.
47811 (grub_exit): New function.
47812 (grub_set_prefix): Renamed to ...
47813 (grub_machine_set_prefix): ... this.
47814 (grub_machine_init): Do not call grub_set_prefix.
47815
47816 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
47817 (grub_machine_set_prefix): ... this.
47818 (grub_machine_init): Do not call grub_set_prefix.
47819
47820 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
47821 (grub_machine_init): Do not set the prefix here.
47822
47823 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
47824
47825 * kern/efi/init.c: Include grub/mm.h.
47826 (grub_efi_set_prefix): New function.
47827
47828 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
47829 (grub_efi_get_filename): New function.
47830 (grub_print_device_path): Renamed to ...
47831 (grub_efi_print_device_path): ... this.
47832
47833 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
47834 [MM_DEBUG] (grub_realloc): Likewise.
47835 [MM_DEBUG] (grub_free): Likewise.
47836 [MM_DEBUG] (grub_memalign): Likewise.
47837 [MM_DEBUG] (grub_mm_debug): New variable.
47838 [MM_DEBUG] (grub_debug_malloc): New function.
47839 [MM_DEBUG] (grub_debug_free): New function.
47840 [MM_DEBUG] (grub_debug_realloc): New function.
47841 [MM_DEBUG] (grub_debug_memalign): New function.
47842
47843 * kern/misc.c (grub_abort): Print a newline to distinguish
47844 the message.
47845
47846 * kern/main.c (grub_main): Call grub_machine_set_prefix and
47847 grub_set_root_dev after loading modules. This is necessary when
47848 setting a prefix depends on modules.
47849
47850 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
47851 (grub_efi_print_device_path): ... this.
47852 (grub_efi_get_filename): New prototype.
47853 (grub_efi_set_prefix): Likewise.
47854
47855 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
47856 and grub/disk.h.
47857 (grub_efidisk_get_device_handle): New prototype.
47858 (grub_efidisk_get_device_name): Likewise.
47859
47860 * include/grub/mm.h: Include config.h.
47861 (MM_DEBUG): Removed.
47862 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
47863 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
47864 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
47865 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
47866 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
47867 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
47868 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
47869 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
47870 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
47871
47872 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
47873
47874 * disk/efi/efidisk.c: Include grub/partition.h.
47875 (iterate_child_devices): New function.
47876 (add_device): First, compare only last device path nodes, so that
47877 devices are sorted by the types.
47878 (grub_efidisk_get_device_handle): New function.
47879 (grub_efidisk_get_device_name): Likewise.
47880
47881 * configure.ac (--enable-mm-debug): New option to enable the
47882 memory manager debugging feature. This makes the binary much
47883 bigger, so is disabled by default.
47884
9cacaa17 478852006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
47886
47887 Use grub_abort instead of grub_stop, and grub_exit must be
47888 define in each architecture now. Also, this change adds support
47889 for EFI disks.
f19dbdb7 47890
9cacaa17 47891 * util/i386/pc/grub-probefs.c: Include grub/term.h.
47892 (grub_getkey): New function.
47893 (grub_term_get_current): Likewise.
47894
47895 * util/i386/pc/grub-setup.c: Include grub/term.h.
47896 (grub_getkey): New function.
47897 (grub_term_get_current): Likewise.
47898
47899 * util/misc.c (grub_stop): Renamed to ...
47900 (grub_exit): ... this.
47901
47902 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
47903 (grub_exit): ... this.
47904 (grub_machine_init): Use grub_abort instead of abort.
47905 (grub_stop): Removed.
47906
47907 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
47908 abort.
47909
47910 * kern/i386/pc/startup.S (grub_exit): New function.
47911 (cold_reboot): New label.
47912
47913 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
47914 (grub_efi_init): Call grub_efidisk_init.
47915 (grub_efi_fini): Call grub_efidisk_fini.
47916
47917 * kern/efi/efi.c: Include grub/mm.h.
47918 (grub_efi_console_control_guid): Renamed to ...
47919 (console_control_guid): ... this.
47920 (grub_efi_loaded_image_guid): Renamed to ...
47921 (loaded_image_guid): ... this.
47922 (grub_efi_locate_handle): New function.
47923 (grub_efi_open_protocol): Likewise.
47924 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
47925 GRUB_EFI_CONSOLE_CONTROL_GUID.
47926 (grub_efi_exit): Removed.
47927 (grub_stop): Likewise.
47928 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
47929 (grub_exit): New function.
47930 (grub_print_device_path): Likewise.
47931
47932 * kern/rescue.c (grub_rescue_cmd_exit): New function.
47933 (grub_enter_rescue_mode): Register "exit".
47934
47935 * kern/misc.c (grub_real_dprintf): A cosmetic change.
47936 (grub_abort): New function.
47937
47938 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
47939
47940 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
47941
47942 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
47943
47944 * include/grub/efi/efi.h (grub_efi_exit): Removed.
47945 (grub_print_device_path): New prototype.
47946 (grub_efi_locate_handle): Likewise.
47947 (grub_efi_open_protocol): Likewise.
47948
47949 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
47950 * disk/efi/efidisk.c: Likewise.
47951
47952 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
47953
47954 * include/grub/efi/console_control.h
47955 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
47956
47957 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
47958 last 8 bytes as an array.
47959 (GRUB_EFI_DISK_IO_GUID): New macro.
47960 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
47961 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
47962 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
47963 grub_uint8_t.
47964 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
47965 (struct grub_efi_device_path): Rename the member "sub_type" to
47966 "subtype".
47967 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
47968 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
47969 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
47970 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
47971 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
47972 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
47973 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
47974 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
47975 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
47976 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
47977 (struct grub_efi_pci_device_path): New structure.
47978 (grub_efi_pci_device_path_t): New type.
47979 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
47980 (struct grub_efi_pccard_device_path): New structure.
47981 (grub_efi_pccard_device_path_t): New type.
47982 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
47983 (struct grub_efi_memory_mapped_device_path): New structure.
47984 (grub_efi_memory_mapped_device_path_t): New type.
47985 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
47986 (struct grub_efi_vendor_device_path): New structure.
47987 (grub_efi_vendor_device_path_t): New type.
47988 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
47989 (struct grub_efi_controller_device_path): New structure.
47990 (grub_efi_controller_device_path_t): New type.
47991 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
47992 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
47993 (struct grub_efi_acpi_device_path): New structure.
47994 (grub_efi_acpi_device_path_t): New type.
47995 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
47996 (struct grub_efi_expanded_acpi_device_path): New structure.
47997 (grub_efi_expanded_acpi_device_path_t): New type.
47998 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
47999 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
48000 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
48001 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
48002 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
48003 (struct grub_efi_atapi_device_path): New structure.
48004 (grub_efi_atapi_device_path_t): New type.
48005 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
48006 (struct grub_efi_fibre_channel_device_path): New structure.
48007 (grub_efi_fibre_channel_device_path_t): New type.
48008 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
48009 (struct grub_efi_1394_device_path): New structure.
48010 (grub_efi_1394_device_path_t): New type.
48011 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
48012 (struct grub_efi_usb_device_path): New structure.
48013 (grub_efi_usb_device_path_t): New type.
48014 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
48015 (struct grub_efi_usb_class_device_path): New structure.
48016 (grub_efi_usb_class_device_path_t): New type.
48017 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
48018 (struct grub_efi_i2o_device_path): New structure.
48019 (grub_efi_i2o_device_path_t): New type.
48020 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
48021 (struct grub_efi_mac_address_device_path): New structure.
48022 (grub_efi_mac_address_device_path_t): New type.
48023 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
48024 (struct grub_efi_ipv4_device_path): New structure.
48025 (grub_efi_ipv4_device_path_t): New type.
48026 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
48027 (struct grub_efi_ipv6_device_path): New structure.
48028 (grub_efi_ipv6_device_path_t): New type.
48029 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
48030 (struct grub_efi_infiniband_device_path): New structure.
48031 (grub_efi_infiniband_device_path_t): New type.
48032 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
48033 (struct grub_efi_uart_device_path): New structure.
48034 (grub_efi_uart_device_path_t): New type.
48035 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
48036 (struct grub_efi_vendor_messaging_device_path): New structure.
48037 (grub_efi_vendor_messaging_device_path_t): New type.
48038 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
48039 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
48040 (struct grub_efi_hard_drive_device_path): New structure.
48041 (grub_efi_hard_drive_device_path_t): New type.
48042 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
48043 (struct grub_efi_cdrom_device_path): New structure.
48044 (grub_efi_cdrom_device_path_t): New type.
48045 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
48046 (struct grub_efi_vendor_media_device_path): New structure.
48047 (grub_efi_vendor_media_device_path_t): New type.
48048 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
48049 (struct grub_efi_file_path_device_path): New structure.
48050 (grub_efi_file_path_device_path_t): New type.
48051 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
48052 (struct grub_efi_protocol_device_path): New structure.
48053 (grub_efi_protocol_device_path_t): New type.
48054 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
48055 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
48056 (struct grub_efi_bios_device_path): New structure.
48057 (grub_efi_bios_device_path_t): New type.
48058 (struct grub_efi_disk_io): New structure.
48059 (grub_efi_disk_io_t): New type.
48060 (struct grub_efi_block_io_media): New structure.
48061 (grub_efi_block_io_media_t): New type.
48062 (struct grub_efi_block_io): New structure.
48063 (grub_efi_block_io_t): New type.
48064
48065 * include/grub/misc.h (grub_stop): Removed.
48066 (grub_exit): New prototype.
48067 (grub_abort): Likewise.
48068
48069 * include/grub/disk.h (enum grub_disk_dev_id): Added
48070 GRUB_DISK_DEVICE_EFIDISK_ID.
48071
48072 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
48073 disk/efi/efidisk.c.
48074 (kernel_syms.lst): Remove the target if an error occurs.
48075
49986a9f 480762006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
48077
48078 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
48079 as it was simply too buggy.
48080
970d3b8a 480812006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
48082
48083 * kern/misc.c (grub_lltoa): New function.
48084 (grub_vsprintf): Added support for the long long suffix,
48085 i.e. "ll".
48086
ff04ec24 480872006-04-20 Hollis Blanchard <hollis@penguinppc.org>
48088
48089 * Makefile.in (LDFLAGS): Add variable.
48090 (LD): Remove variable.
48091 * configure.ac: Add -m32 to LDFLAGS.
48092 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
48093 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
48094 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
48095 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
48096 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
48097 variables.
48098 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
48099 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
48100 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
48101
37e5e1a4 481022006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
48103
48104 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
48105 length for unknown glyph.
48106
c352d8dd 481072006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
48108
2eab1c0d 48109 Add support for pre-loaded modules into the EFI port.
f19dbdb7 48110
2eab1c0d 48111 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
48112 completely. Accept one more argument DIR. The caller has changed.
48113
48114 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
48115
48116 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
48117 (grub_efi_loaded_image_guid): New variable.
48118 (grub_efi_get_loaded_image): New function.
48119 (grub_arch_modules_addr): Likewise.
48120
48121 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
48122 prototype.
48123
48124 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
48125 (struct grub_efi_loaded_image): New structure.
48126 (grub_efi_loaded_image_t): New type.
48127
481282006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 48129
c352d8dd 48130 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
48131 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
48132 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
48133
6d01d6b4 481342006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
48135
48136 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
48137
976a4ea0 481382006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
48139
48140 * DISTLIST: Added include/grub/efi/console.h,
48141 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
48142 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
48143
48144 * include/grub/efi/console.h: New file.
48145 * include/grub/efi/time.h: Likewise.
48146 * include/grub/i386/efi/kernel.h: Likewise.
48147 * kern/efi/init.c: Likewise.
48148 * kern/efi/mm.c: Likewise.
48149 * term/efi/console.c: Likewise.
f19dbdb7 48150
976a4ea0 48151 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
48152 (grub_stop): Removed.
48153 (grub_get_rtc): Likewise.
48154 (grub_machine_init): Simply call grub_efi_init.
48155 (grub_machine_fini): Call grub_efi_fini.
48156
48157 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
48158 (grub_efi_output_string): Removed.
48159 (grub_efi_stall): New function.
48160 (grub_stop): Likewise.
48161 (grub_get_rtc): Likewise.
48162
48163 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
48164 (grub_efi_stall): New prototype.
48165 (grub_efi_allocate_pages): Likewise.
48166 (grub_efi_free_pages): Likewise.
48167 (grub_efi_get_memory_map): Likewise.
48168 (grub_efi_mm_init): Likewise.
48169 (grub_efi_mm_fini): Likewise.
48170 (grub_efi_init): Likewise.
48171 (grub_efi_fini): Likewise.
48172
48173 * include/grub/i386/efi/time.h: Do not include
48174 grub/symbol.h. Include grub/efi/time.h.
48175 (GRUB_TICKS_PER_SECOND): Removed.
48176 (grub_get_rtc): Likewise.
48177
48178 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
48179 Added padding. The EFI spec is buggy.
48180 (GRUB_EFI_BLACK): New macro.
48181 (GRUB_EFI_BLUE): Likewise.
48182 (GRUB_EFI_GREEN): Likewise.
48183 (GRUB_EFI_CYAN): Likewise.
48184 (GRUB_EFI_RED): Likewise.
48185 (GRUB_EFI_MAGENTA): Likewise.
48186 (GRUB_EFI_BROWN): Likewise.
48187 (GRUB_EFI_LIGHTGRAY): Likewise.
48188 (GRUB_EFI_BRIGHT): Likewise.
48189 (GRUB_EFI_DARKGRAY): Likewise.
48190 (GRUB_EFI_LIGHTBLUE): Likewise.
48191 (GRUB_EFI_LIGHTGREEN): Likewise.
48192 (GRUB_EFI_LIGHTCYAN): Likewise.
48193 (GRUB_EFI_LIGHTRED): Likewise.
48194 (GRUB_EFI_LIGHTMAGENTA): Likewise.
48195 (GRUB_EFI_YELLOW): Likewise.
48196 (GRUB_EFI_WHITE): Likewise.
48197 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
48198 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
48199 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
48200 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
48201 (GRUB_EFI_BACKGROUND_RED): Likewise.
48202 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
48203 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
48204 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
48205 (GRUB_EFI_TEXT_ATTR): Likewise.
48206
48207 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
48208 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
48209 (kernel_mod_HEADERS): Added efi/time.h.
48210
83709125 482112006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
48212
48213 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
48214 include/grub/efi/api.h, include/grub/efi/console_control.h,
48215 include/grub/efi/efi.h, include/grub/efi/pe32.h,
48216 include/grub/i386/efi/time.h, kern/efi/efi.c,
48217 kern/i386/efi/init.c, kern/i386/efi/startup.S,
48218 and util/i386/efi/grub-mkimage.c.
48219
48220 * Makefile.in (RMKFILES): Added i386-efi.rmk.
48221
48222 * genmk.rb (PModule#rule): Do not export symbols if
48223 #{prefix}_EXPORTS is set to "no".
48224
48225 * conf/i386-efi.mk: New file.
48226 * conf/i386-efi.rmk: Likewise.
48227 * include/grub/efi/api.h: Likewise.
48228 * include/grub/efi/console_control.h: Likewise.
48229 * include/grub/efi/efi.h: Likewise.
48230 * include/grub/efi/pe32.h: Likewise.
48231 * include/grub/i386/efi/time.h: Likewise.
48232 * kern/efi/efi.c: Likewise.
48233 * kern/i386/efi/init.c: Likewise.
48234 * kern/i386/efi/startup.S: Likewise.
48235 * util/i386/efi/grub-mkimage.c: Likewise.
48236
482372006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 48238
48239 * include/grub/script.h: Include <grub/parser.h> and
48240 "grub_script.tab.h".
48241 (struct grub_lexer_param): New struct.
48242 (struct grub_parser_param): Likewise.
48243 (grub_script_create_arglist): Pass the state in an argument.
48244 (grub_script_add_arglist): Likewise.
48245 (grub_script_create_cmdline): Likewise.
48246 (grub_script_create_cmdblock): Likewise.
48247 (grub_script_create_cmdif): Likewise.
48248 (grub_script_create_cmdmenu): Likewise.
48249 (grub_script_add_cmd): Likewise.
48250 (grub_script_arg_add): Likewise.
48251 (grub_script_lexer_ref): Likewise.
48252 (grub_script_lexer_deref): Likewise.
48253 (grub_script_lexer_record_start): Likewise.
48254 (grub_script_lexer_record_stop): Likewise.
48255 (grub_script_mem_record): Likewise.
48256 (grub_script_mem_record_stop): Likewise.
48257 (grub_script_malloc): Likewise.
48258 (grub_script_yylex): Likewise.
48259 (grub_script_yyparse): Likewise.
48260 (grub_script_yyerror): Likewise.
48261 (grub_script_yylex): Likewise.
48262 (grub_script_lexer_init): Return the state.
48263
48264 * normal/lexer.c (grub_script_lexer_state): Removed variable.
48265 (grub_script_lexer_done): Likewise.
48266 (grub_script_lexer_getline): Likewise.
48267 (grub_script_lexer_refs): Likewise.
48268 (script): Likewise.
48269 (newscript): Likewise.
48270 (record): Likewise.
48271 (recording): Likewise.
48272 (recordpos): Likewise.
48273 (recordlen): Likewise.
48274 (grub_script_lexer_init): Return the state instead of setting
48275 global variables.
48276 (grub_script_lexer_ref): Use the newly added argument for state
48277 instead of globals.
48278 (grub_script_lexer_deref): Likewise.
48279 (grub_script_lexer_record_start): Likewise.
48280 (grub_script_lexer_record_stop): Likewise.
48281 (recordchar): Likewise.
48282 (nextchar): Likewise.
48283 (grub_script_yylex2): Likewise.
48284 (grub_script_yylex): Likewise.
48285 (grub_script_yyerror): Likewise.
48286
48287 * normal/parser.y (func_mem): Removed variable.
48288 (menu_entry): Likewise.
48289 (err): Likewise.
48290 (%lex-param): New parser option.
48291 (%parse-param): Likewise.
48292 (script): Always return the AST.
48293 (argument): Pass the state around.
48294 (arguments): Likewise.
48295 (grubcmd): Likewise.
48296 (commands): Likewise.
48297 (function): Likewise.
48298 (menuentry): Likewise.
48299 (if_statement): Likewise.
48300 (if): Likewise.
48301
48302 * normal/script.c (grub_script_memused): Removed variable.
48303 (grub_script_parsed): Likewise.
48304 (grub_script_malloc): Added a state argument. Use that instead of
48305 global variables.
48306 (grub_script_mem_record): Likewise.
48307 (grub_script_mem_record_stop): Likewise.
48308 (grub_script_arg_add): Likewise.
48309 (grub_script_add_arglist): Likewise.
48310 (grub_script_create_cmdline): Likewise.
48311 (grub_script_create_cmdif): Likewise.
48312 (grub_script_create_cmdmenu): Likewise.
48313 (grub_script_add_cmd): Likewise.
48314 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 48315
e2a8c904 483162006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 48317
48318 * normal/command.c (grub_command_init): Remove the title command.
48319
48320 * normal/lexer.c (grub_script_yylex): Renamed from this...
48321 (grub_script_yylex2): ... to this.
48322 (grub_script_yylex): New function. Temporary
48323 introduced to filter some tokens.
48324 (grub_script_yyerror): Print a newline.
48325
48326 * normal/main.c (read_config_file): Output information about the
48327 lines that contain errors. Wait for a key after all lines have
48328 been processed. Don't return an empty menu.
48329
48330 * normal/parser.y (func_mem): Don't initialize.
48331 (menu_entry): Likewise.
48332 (err): New variable.
48333 (script): Don't return anything when an error was encountered.
48334 (ws, returns): Removed rules.
48335 (argument): Disabled concatenated variable support.
48336 (arguments): Remove explicit separators.
48337 (grubcmd): Likewise.
48338 (function): Likewise.
48339 (menuentry): Likewise.
48340 (if): Likewise.
48341 (commands): Likewise. Add error handling.
48342
48343 * normal/script.c (grub_script_create_cmdline): If
48344 `grub_script_parsed' is 0, assume the parser encountered an error.
48345
c9a86192 483462006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
48347
48348 * configure.ac: Add support for EFI. Fix the typo
48349 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
48350
70f3b243 483512006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
48352
48353 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
48354 foreign multibyte characters should be shown correctly.
48355
65f201ad 483562006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
48357
48358 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
48359 calculation.
48360 (read_config_file): Made it to close file before returning.
48361
b4b93674 483622006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
48363
48364 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
48365 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
48366 video/i386/pc/vbefill.c.
48367
48368 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
48369 video/i386/pc/vbefill.c.
48370
48371 * include/grub/video.h (grub_video_blit_format): New enum.
48372 (grub_video_mode_info): Added new member blit_format.
48373 (grub_video_get_blit_format): New function prototype.
48374
48375 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
48376 function prototype.
48377 (grub_video_vbe_map_rgb): Likewise.
48378 (grub_video_vbe_unmap_color): Likewise.
48379
48380 * include/grub/i386/pc/vbeblit.h: New file.
48381
48382 * include/grub/i386/pc/vbefill.h: New file.
48383
48384 * video/video.c (grub_video_get_blit_format): New function.
48385 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
48386 (grub_video_vbe_map_rgb): Likewise.
48387 (grub_video_vbe_unmap_color): Likewise.
48388
48389 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
48390 optimized fills.
48391 (grub_video_vbe_blit_render_target): Changed to use more optimized
48392 blits.
48393 (grub_video_vbe_setup): Added detection for optimized settings.
48394 (grub_video_vbe_create_render_target): Likewise.
48395
48396 * video/i386/pc/vbeblit.c: New file.
48397
48398 * video/i386/pc/vbefill.c: New file.
48399
c2379b9c 484002006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
48401
48402 * font/manager.c (grub_font_get_glyph): Removed font fixup from
48403 here...
48404
48405 * util/unifont2pff.rb: ... and moved it to here. Improved argument
48406 parsing to support both hex and dec ranges. If filename was missing
48407 show usage information.
48408
bd0d7896 484092006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
48410
48411 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
48412 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
48413
48414 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
48415 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
48416 (video_mod_SOURCES): Added.
48417 (video_mod_CFLAGS): Likewise.
48418 (video_mod_LDFLAGS): Likewise.
48419 (gfxterm_mod_SOURCES): Likewise.
48420 (gfxterm_mod_CFLAGS): Likewise.
48421 (gfxterm_mod_LDFLAGS): Likewise.
48422 (videotest_mod_SOURCES): Likewise.
48423 (videotest_mod_CFLAGS): Likewise.
48424 (videotest_mod_LDFLAGS): Likewise.
48425 (vesafb_mod_SOURCES): Removed.
48426 (vesafb_mod_CFLAGS): Likewise.
48427 (vesafb_mod_LDFLAGS): Likewise.
48428 (vga_mod_SOURCES): Likewise.
48429 (vga_mod_CFLAGS): Likewise.
48430 (vga_mod_LDFLAGS): Likewise.
48431
48432 * commands/videotest.c: New file.
48433
48434 * font/manager.c (fill_with_default_glyph): Modified to use
48435 grub_font_glyph.
48436 (grub_font_get_glyph): Likewise.
48437 (fontmanager): Renamed from this...
48438 (font_manager): ... to this.
48439
48440 * include/grub/font.h (grub_font_glyph): Added new structure.
48441 (grub_font_get_glyph): Modified to use grub_font_glyph.
48442
48443 * include/grub/misc.h (grub_abs): Added as inline function.
48444
48445 * include/grub/video.h: New file.
48446
48447 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
48448 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
48449 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
48450 (grub_vbe_get_controller_info): Renamed from this...
48451 (grub_vbe_bios_get_controller_info): ... to this.
48452 (grub_vbe_get_mode_info): Renamed from this...
48453 (grub_vbe_bios_get_mode_info): ... to this.
48454 (grub_vbe_set_mode): Renamed from this...
48455 (grub_vbe_bios_set_mode): ... to this.
48456 (grub_vbe_get_mode): Renamed from this...
48457 (grub_vbe_bios_get_mode): ... to this.
48458 (grub_vbe_set_memory_window): Renamed from this...
48459 (grub_vbe_bios_set_memory_window): ... to this.
48460 (grub_vbe_get_memory_window): Renamed from this...
48461 (grub_vbe_bios_get_memory_window): ... to this.
48462 (grub_vbe_set_scanline_length): Renamed from this...
48463 (grub_vbe_set_scanline_length): ... to this.
48464 (grub_vbe_get_scanline_length): Renamed from this...
48465 (grub_vbe_bios_get_scanline_length): ... to this.
48466 (grub_vbe_set_display_start): Renamed from this...
48467 (grub_vbe_bios_set_display_start): ... to this.
48468 (grub_vbe_get_display_start): Renamed from this...
48469 (grub_vbe_bios_get_display_start): ... to this.
48470 (grub_vbe_set_palette_data): Renamed from this...
48471 (grub_vbe_bios_set_palette_data): ... to this.
48472 (grub_vbe_set_pixel_rgb): Removed.
48473 (grub_vbe_set_pixel_index): Likewise.
48474
48475 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
48476 from this...
48477 (grub_vbe_bios_get_controller_info): ... to this.
48478 (grub_vbe_get_mode_info): Renamed from this...
48479 (grub_vbe_bios_get_mode_info): ... to this.
48480 (grub_vbe_set_mode): Renamed from this...
48481 (grub_vbe_bios_set_mode): ... to this.
48482 (grub_vbe_get_mode): Renamed from this...
48483 (grub_vbe_bios_get_mode): ... to this.
48484 (grub_vbe_set_memory_window): Renamed from this...
48485 (grub_vbe_bios_set_memory_window): ... to this.
48486 (grub_vbe_get_memory_window): Renamed from this...
48487 (grub_vbe_bios_get_memory_window): ... to this.
48488 (grub_vbe_set_scanline_length): Renamed from this...
48489 (grub_vbe_set_scanline_length): ... to this.
48490 (grub_vbe_get_scanline_length): Renamed from this...
48491 (grub_vbe_bios_get_scanline_length): ... to this.
48492 (grub_vbe_set_display_start): Renamed from this...
48493 (grub_vbe_bios_set_display_start): ... to this.
48494 (grub_vbe_get_display_start): Renamed from this...
48495 (grub_vbe_bios_get_display_start): ... to this.
48496 (grub_vbe_set_palette_data): Renamed from this...
48497 (grub_vbe_bios_set_palette_data): ... to this.
48498 (grub_vbe_bios_get_controller_info): Fixed problem with registers
48499 getting corrupted after calling it. Added more pushes and pops.
48500 (grub_vbe_bios_set_mode): Likewise.
48501 (grub_vbe_bios_get_mode): Likewise.
48502 (grub_vbe_bios_get_memory_window): Likewise.
48503 (grub_vbe_bios_set_scanline_length): Likewise.
48504 (grub_vbe_bios_get_scanline_length): Likewise.
48505 (grub_vbe_bios_get_display_start): Likewise.
48506 (grub_vbe_bios_set_palette_data): Likewise.
48507
48508 * normal/cmdline.c (cl_set_pos): Refresh the screen.
48509 (cl_insert): Likewise.
48510 (cl_delete): Likewise.
48511
48512 * term/gfxterm.c: New file.
48513
48514 * term/i386/pc/vesafb.c: Removed file.
48515
48516 * video/video.c: New file.
48517
48518 * video/i386/pc/vbe.c (real2pm): Added new function.
48519 (grub_video_vbe_draw_pixel): Likewise.
48520 (grub_video_vbe_get_video_ptr): Likewise.
48521 (grub_video_vbe_get_pixel): Likewise
48522 (grub_video_vbe_init): Likewise.
48523 (grub_video_vbe_fini): Likewise.
48524 (grub_video_vbe_setup): Likewise.
48525 (grub_video_vbe_get_info): Likewise.
48526 (grub_video_vbe_set_palette): Likewise.
48527 (grub_video_vbe_get_palette): Likewise.
48528 (grub_video_vbe_set_viewport): Likewise.
48529 (grub_video_vbe_get_viewport): Likewise.
48530 (grub_video_vbe_map_color): Likewise.
48531 (grub_video_vbe_map_rgb): Likewise.
48532 (grub_video_vbe_map_rgba): Likewise.
48533 (grub_video_vbe_unmap_color): Likewise.
48534 (grub_video_vbe_fill_rect): Likewise.
48535 (grub_video_vbe_blit_glyph): Likewise.
48536 (grub_video_vbe_blit_bitmap): Likewise.
48537 (grub_video_vbe_blit_render_target): Likewise.
48538 (grub_video_vbe_scroll): Likewise.
48539 (grub_video_vbe_swap_buffers): Likewise.
48540 (grub_video_vbe_create_render_target): Likewise.
48541 (grub_video_vbe_delete_render_target): Likewise.
48542 (grub_video_vbe_set_active_render_target): Likewise.
48543 (grub_vbe_set_pixel_rgb): Remove function.
48544 (grub_vbe_set_pixel_index): Likewise.
48545 (index_color_mode): Remove static variable.
48546 (active_mode): Likewise.
48547 (framebuffer): Likewise.
48548 (bytes_per_scan_line): Likewise.
48549 (grub_video_vbe_adapter): Added new static variable.
48550 (framebuffer): Likewise.
48551 (render_target): Likewise.
48552 (initial_mode): Likewise.
48553 (mode_in_use): Likewise.
48554 (mode_list): Likewise.
48555
5f97350b 485562006-03-10 Marco Gerards <marco@gnu.org>
48557
48558 * configure.ac (AC_INIT): Bumped to 1.93.
48559
48560 * DISTLIST: Added `include/grub/hfs.h'.
48561
a3c5c6f8 485622006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
48563
48564 * boot/i386/pc/boot.S (general_error): Before looping, try INT
48565 18H, which might help the BIOS falling back to next boot media.
48566
6de53d26 485672006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
48568
48569 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
48570 Poe Chen <poe.poechen@gmail.com>.
48571
77c4a393 485722006-01-17 Marco Gerards <marco@gnu.org>
48573
48574 * include/grub/normal.h: Include <grub/script.h>.
48575 (grub_command_list): Removed struct.
48576 (grub_command_list_t): Removed type.
48577 (grub_menu_entry): Remove members `num' and `command_list'. Add
48578 members `commands' and `sourcecode'.
48579 * include/grub/script.h: Add inclusion guards.
48580 (grub_script_cmd_menuentry): New struct.
48581 (grub_script_execute_menuentry): New prototype.
48582 (grub_script_lexer_record_start): Likewise.
48583 (grub_script_lexer_record_stop): Likewise.
48584 * normal/execute.c (grub_script_execute_menuentry): New function.
48585 * normal/lexer.c (record, recording, recordpos, recordlen): New
48586 variables.
48587 (grub_script_lexer_record_start): New function.
48588 (grub_script_lexer_record_stop): Likewise.
48589 (recordchar): Likewise.
48590 (nextchar): Likewise.
48591 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
48592 2048 as the buffer size. Add the tokens `menuentry' and `@'.
48593 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
48594 (current_menu): New variable.
48595 (free_menu): Mainly rewritten.
48596 (grub_normal_menu_addentry): New function.
48597 (read_config_file): Rewritten.
48598 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 48599 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 48600 the menu entry.
48601 (run): Mainly rewritten.
48602 * normal/parser.y (menu_entry): New variable.
48603 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
48604 (menuentry): New rule.
48605 (command): Add `menuentry'.
48606 (if_statement): Allow additional returns before `fi'.
48607 * normal/script.c (grub_script_create_cmdmenu): New function.
48608
144f1f98 486092006-01-03 Marco Gerards <marco@gnu.org>
48610
48611 * INSTALL: GNU Bison is required.
48612 * configure.ac: Rewritten the test to detect Bison.
48613 * Makefile.in (YACC): New variable. Reported by Xun Sun
48614 <xun.sun.cn@gmail.com>.
48615
af4b2d89 486162006-01-03 Marco Gerards <marco@gnu.org>
48617
48618 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
48619 the HFS+ filesystem to filesystem blocks.
48620 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
48621 GCC warning is silenced.
48622
15643b71 486232006-01-03 Marco Gerards <marco@gnu.org>
48624
48625 * partmap/apple.c (apple_partition_map_iterate): Convert the data
48626 read from disk from big endian to host byte order.
48627
00905879 486282006-01-03 Hollis Blanchard <hollis@penguinppc.org>
48629
48630 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
48631 documentation.
48632 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
48633 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
48634 embedded HFS+ filesystem.
48635 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
48636 (grub_hfs_sblock): Move from here...
48637 * include/grub/hfs.h: To here... New file.
48638 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
48639 documentation.
48640 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
48641 New macros.
48642 (grub_hfsplus_volheader): Change type of member `magic' to
48643 `grub_uint16_t'.
48644 (grub_hfsplus_data): Add new member `embedded_offset'.
48645 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
48646 returned block.
48647 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
48648 Calculate the offset.
48649
8899bc3e 486502005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
48651
48652 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
48653 Removed.
48654 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
48655
ae8c0277 486562005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
48657
48658 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
48659 ENV->NAME is NULL after allocating ENV->VALUE.
48660
07084456 486612005-12-25 Marco Gerards <marco@gnu.org>
48662
48663 * kern/env.c (grub_env_set): Rewritten the error handling code.
48664
4750f5f1 486652005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
48666
48667 * geninit.sh: Made more robust, and more portable.
48668
50214199 486692005-12-25 Marco Gerards <marco@gnu.org>
48670
48671 Add support for Apple HFS+ filesystems.
f19dbdb7 48672
50214199 48673 * fs/hfsplus.c: New file.
48674
48675 * DISTLIST: Added `fs/hfsplus.c'.
48676
48677 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
48678 (hfsplus_mod_SOURCES): New variable.
48679 (hfsplus_mod_CFLAGS): Likewise.
48680 (hfsplus_mod_LDFLAGS): Likewise.
48681 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
48682 (grub_setup_SOURCES): Likewise.
48683 (grub_mkdevicemap_SOURCES): Likewise.
48684 (grub_emu_SOURCES): Likewise.
48685 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
48686
48687 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
48688
48689 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
48690
befaed6c 486912005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
48692
48693 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
48694 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
48695 include/grub/parser.h, include/grub/script.h, kern/parser.c,
48696 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
48697 normal/lexer.c, normal/parser.y, normal/script.c, and
48698 partmap/gpt.c.
48699 Removed kern/sparc64/cache.c.
48700
48701 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
48702 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
48703 grub_emu_init.c.
48704
48705 * configure.ac (AC_INIT): Bumped to 1.92.
48706
6a124103 487072005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
48708
48709 * kern/err.c (grub_error_push): Added new function to support error
48710 stacks.
48711 (grub_error_pop): Likewise.
48712 (grub_error_stack_items): New local variable to support error stacks.
48713 (grub_error_stack_pos): Likewise.
48714 (grub_error_stack_assert): Likewise.
48715 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
48716 stack depth.
48717 (grub_print_error): Added support to print errors from error stack.
48718
48719 * include/grub/err.h (grub_error_push): Added function prototype.
48720 (grub_error_pop): Likewise.
48721
be973c1b 487222005-12-09 Hollis Blanchard <hollis@penguinppc.org>
48723
48724 * configure.ac: Accept `powerpc64' as host_cpu.
48725 (amd64): Rename to `biarch32'.
48726
48727 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
48728 non-cacheline-aligned addresses.
48729
48730 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
48731 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
48732 if `size' is non-zero.
48733
b04216ab 487342005-12-03 Marco Gerards <mgerards@xs4all.nl>
48735
48736 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
48737 and `cd' to make sure the filename is not prefixed with a
48738 directory name.
48739 (pkgdata_MODULES): Add `gpt.mod'.
48740 (gpt_mod_SOURCES): New variable.
48741 (gpt_mod_CFLAGS): Likewise.
48742 (gpt_mod_LDFLAGS): Likewise.
48743
48744 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
48745
48746 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
48747 New macro.
48748
48749 * partmap/gpt.c: New file.
48750
48751 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
48752 GPT partition map is detected.
48753
41730ed9 487542005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
48755
48756 * commands/i386/pc/play.c: New file.
48757 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
48758 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
48759 macros.
f19dbdb7 48760
95dc3643 487612005-11-27 Marco Gerards <mgerards@xs4all.nl>
48762
48763 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
48764 ((unused))' to silence gcc warning.
48765
1569ec51 487662005-11-26 Hollis Blanchard <hollis@penguinppc.org>
48767
48768 * configure.ac: Correct `AC_PROG_YACC' test.
48769
9abde152 487702005-11-22 Hollis Blanchard <hollis@penguinppc.org>
48771
48772 * util/powerpc/ieee1275/grub-install.in: Run the mount point
48773 check before installing files.
48774
44b83271 487752005-11-22 Mike Small <smallm@panix.com>
48776
48777 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
48778 number regex so multidigit numbers are recognized correctly.
48779
487802005-11-22 Mike Small <smallm@panix.com>
48781
48782 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
48783 debugging message before attempting to claim memory.
48784 (grub_rescue_cmd_initrd): Add a claim debugging message and try
48785 multiple addresses in case of failure.
48786
9c12956b 487872005-11-22 Hollis Blanchard <hollis@penguinppc.org>
48788
48789 * term/tparm.c (get_space): Remove empty `if' statement.
48790
48791 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
48792
48793 * kern/parser.c (check_varstate): Rename `state' to 's'.
48794
aeaf81d9 487952005-11-22 Hollis Blanchard <hollis@penguinppc.org>
48796
48797 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
48798 variable definitions to the beginning of each function. Sort stack
48799 variables by size.
48800 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
48801 `buf' argument to `char *'.
48802
79bbb63f 488032005-11-22 Hollis Blanchard <hollis@penguinppc.org>
48804
48805 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
48806 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 48807 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 48808 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
48809 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
48810 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
48811 configfile.mod, search.mod, gzio.mod and test.mod.
48812 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
48813 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
48814 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
48815 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
48816 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
48817 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
48818 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
48819 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
48820 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
48821 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
48822 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
48823 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
48824 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
48825 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
48826 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
48827 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
48828 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
48829 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
48830 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
48831 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
48832 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
48833 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
48834 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
48835
48836 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
48837 `grep --include'.
48838 (pkgdata_MODULES): Add test.mod.
48839
233b1628 488402005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
48841
48842 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
48843 appending to variables with "+=".
48844 (PModule): Use full pathname to generate *.lst filenames.
48845
48846 * Makefile.in: Fixed list rules moved from genmk.rb.
48847 (.DELETE_ON_ERROR): New special target.
48848 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
48849
48850 * conf/i386-pc.rmk: Include conf/common.mk.
48851 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 48852 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 48853 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
48854 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
48855 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
48856 configfile.mod, search.mod, gzio.mod and test.mod.
48857 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
48858 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
48859 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
48860 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
48861 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
48862 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
48863 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
48864 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
48865 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
48866 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
48867 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
48868 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
48869 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
48870 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
48871 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
48872 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
48873 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
48874 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
48875 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
48876 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
48877 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
48878 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
48879 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
48880 here...
48881 * conf/common.rmk: ... to here. New file.
48882
48883 * conf/common.mk: New file.
48884
16f820c8 488852005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
48886
48887 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
48888 (grub_script.tab.c): ... here.
48889
48890 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
48891 (grub_script.tab.c): ... here.
48892
48893 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
48894 (grub_script.tab.c): ... here.
48895
48896 * normal/command.c (grub_command_find): Fixed a memory leak of
48897 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
48898
63ba1554 488992005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
48900
48901 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
48902 "@" which marks the start of a comment on ARM.
48903 (VARIABLE): Likewise.
48904
7f67dc13 489052005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
48906
79bbb63f 48907 Add support for Linux/ADFS partition tables.
7f67dc13 48908
48909 * partmap/acorn.c: New file.
48910
48911 * include/grub/acorn_filecore.h: Likewise.
48912
48913 * DISTLIST: Added `partmap/acorn.c' and
48914 `include/grub/acorn_filecore.h'.
f19dbdb7 48915
7f67dc13 48916 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
48917 `partmap/acorn.c'.
48918 (pkgdata_MODULES): Add `acorn.mod'.
48919 (acorn_mod_SOURCES): New variable.
48920 (acorn_mod_CFLAGS): Likewise.
48921
48922 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
48923 `partmap/acorn.c'.
48924 (pkgdata_MODULES): Add `acorn.mod'.
48925 (acorn_mod_SOURCES): New variable.
48926 (acorn_mod_CFLAGS): Likewise.
48927
48928 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
48929 (pkgdata_MODULES): Add `acorn.mod'.
48930 (acorn_mod_SOURCES): New variable.
48931 (acorn_mod_CFLAGS): Likewise.
48932 (acorn_mod_LDFLAGS): Likewise.
48933
48934 * include/types.h (grub_disk_addr_t): New typedef.
48935
6d099807 489362005-11-13 Marco Gerards <mgerards@xs4all.nl>
48937
48938 * geninit.sh: New file.
48939
48940 * geninitheader.sh: Likewise.
48941
48942 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
48943 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
48944 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
48945 * commands/configfile.c (grub_configfile_init)
48946 (grub_configfile_fini): Likewise.
48947 * commands/default.c (grub_default_init, grub_default_fini):
48948 Likewise.
48949 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
48950 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
48951 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
48952 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
48953 Likewise.
48954 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
48955 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
48956 Likewise.
48957 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 48958 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 48959 Likewise.
48960 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
48961 Likewise.
fe6b695a 48962 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 48963 Likewise.
48964 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
48965 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
48966 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
48967 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
48968 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
48969 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
48970 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
48971 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
48972 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
48973 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
48974 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
48975 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
48976 * partmap/amiga.c (grub_amiga_partition_map_init)
48977 (grub_amiga_partition_map_fini): Likewise.
48978 * partmap/apple.c (grub_apple_partition_map_init)
48979 (grub_apple_partition_map_fini): Likewise.
48980 * partmap/pc.c (grub_pc_partition_map_init)
48981 (grub_pc_partition_map_fini): Likewise.
48982 * partmap/sun.c (grub_sun_partition_map_init,
48983 grub_sun_partition_map_fini): Likewise.
48984 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
48985 Likewise.
48986
48987 * util/grub-emu.c: Include <grub_modules_init.h>.
48988 (main): Don't initialize and de-initialize any modules directly,
48989 use `grub_init_all' and `grub_fini_all' instead.
48990
48991 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
48992 `grub_vesafb_mod_init'.
48993 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
48994 all users.
48995 * term/i386/pc/vga.c (grub_vga_init): Renamed to
48996 `grub_vga_mod_init'. Updated all users.
48997 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 48998
6d099807 48999 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
49000 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
49001 rules.
49002
49003 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
49004 Generate a function to initialize the module in utilities.
49005 Updated all callers.
49006 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
49007 initialize the module in utilities. Updated all callers.
49008
9046bcf0 490092005-11-09 Hollis Blanchard <hollis@penguinppc.org>
49010
49011 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
49012 escape sequence and a literal ^L to clear the screen.
49013
49014 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
49015 when returning from Open Firmware.
49016
d13ea639 490172005-11-09 Hollis Blanchard <hollis@penguinppc.org>
49018
49019 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
49020 (grub_ofconsole_height): Likewise.
49021 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
49022 manually insert a '\n'.
49023 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
49024 `grub_ofconsole_height'. Return early if these are already set.
49025
a8fcf206 490262005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
49027
49028 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
49029 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
49030 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
49031 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
49032 and `normal/script.c'.
49033 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
49034 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
49035 (test_mod_SOURCES): New variable.
49036 (test_mod_CFLAGS): Likewise.
49037 (test_mod_LDFLAGS): Likewise.
49038 (pkgdata_MODULES): Add `test.mod'.
49039 (grub_script.tab.c): New rule.
49040 (grub_script.tab.h): Likewise.
49041
b6b32745 490422005-11-07 Marco Gerards <mgerards@xs4all.nl>
49043
49044 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
49045 `commands/test.c', `normal/execute.c', `normal/lexer.c',
49046 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
49047 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
49048 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
49049 (test_mod_SOURCES): New variable.
49050 (test_mod_CFLAGS): Likewise.
49051 (pkgdata_MODULES): Add `test.mod'.
49052 (grub_script.tab.c): New rule.
49053 (grub_script.tab.h): Likewise.
49054
daac212a 490552005-11-06 Marco Gerards <mgerards@xs4all.nl>
49056
49057 Add initial scripting support.
49058
49059 * commands/test.c: New file.
49060 * include/grub/script.h: Likewise.
49061 * normal/execute.c: Likewise.
49062 * normal/function.c: Likewise.
49063 * normal/lexer.c: Likewise.
49064 * normal/parser.y: Likewise.
49065 * normal/script.c: Likewise.
49066
49067 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 49068
daac212a 49069 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
49070 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
49071 `normal/function.c' and `normal/script.c'.
49072 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
49073 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 49074 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
49075 variables.
daac212a 49076 (pkgdata_MODULES): Add `test.mod'.
49077 (grub_script.tab.c): New rule.
49078 (grub_script.tab.h): Likewise.
49079
49080 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
49081
49082 * include/grub/normal.h (grub_test_init): New prototype.
49083 (grub_test_fini): Likewise.
f19dbdb7 49084
daac212a 49085 * normal/command.c: Include <grub/script.h>.
49086 (grub_command_execute): Rewritten.
f19dbdb7 49087
daac212a 49088 * util/grub-emu.c (main): Call `grub_test_init' and
49089 `grub_test_fini'.
49090
77500b2b 490912005-11-03 Hollis Blanchard <hollis@penguinppc.org>
49092
49093 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
49094 to 0.
49095 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
49096 there are no pending characters.
49097
e45deb9e 490982005-11-03 Hollis Blanchard <hollis@penguinppc.org>
49099
49100 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
49101 `grub_strndup' to drop device arguments. Replace unnecessary
49102 `grub_strndup' with `grub_strdup'.
49103
4ce32619 491042005-11-03 Hollis Blanchard <hollis@penguinppc.org>
49105
49106 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
49107 `debug' environment variable has been set.
49108
491092005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 49110
4ce32619 49111 * Makefile.in (install-local): Use $(DATA).
49112 (uninstall): Likewise.
49113 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
49114 (sbin_UTILITIES): ... to here.
49115 (sbin_SCRIPTS): New variable.
49116 (grub_install_SOURCES): New variable.
49117 * util/powerpc/ieee1275/grub-install.in: New file.
49118 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
49119 variable.
49120 (add_segments): Call `grub_util_get_path'.
49121
25fe6f03 491222005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
49123
49124 From Timothy Baldwin:
49125 * commands/ls.c (grub_ls_list_files): Close FILE with
49126 grub_file_close.
49127 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
49128
04ccf3ec 491292005-10-24 Marco Gerards <mgerards@xs4all.nl>
49130
49131 * include/grub/parser.h: New file.
49132
49133 * kern/parser.c: Likewise.
49134
49135 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
49136 (grub_setup_SOURCES): Likewise.
49137 (grub_probefs_SOURCES): Likewise.
49138 (grub_emu_SOURCES): Likewise.
49139 (kernel_img_HEADERS): Add `parser.h'.
49140
49141 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
49142 (grub_emu_SOURCES): Add `kern/parser.c'.
49143 (grubof_SOURCES): Likewise.
49144
49145 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
49146 (grubof_SOURCES): Add `kern/parser.c'.
49147
49148 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
49149
49150 * kern/misc.c (grub_split_cmdline): Removed function.
49151
49152 * kern/rescue.c: Include <grub/parser.h>.
49153 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
49154 of `grub_split_cmdline'.
49155
49156 * normal/command.c: Include <grub/parser.h>.
49157 (grub_command_execute): Use `grub_parser_split_cmdline' instead
49158 of `grub_split_cmdline'.
49159
49160 * normal/completion.c: Include <grub/parser.h>.
49161 (cmdline_state): New variable.
49162 (iterate_dir): End the filename with a quote depending on the
49163 command line state.
49164 (get_state): new function.
49165 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
49166 split the arguments and determine the current argument. When the
49167 argument string is not quoted, escape all spaces.
49168
6d8f4b0e 491692005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
49170
49171 * normal/sparc64/setjmp.S: New file.
49172
15cf03ed 491732005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
49174
49175 * include/grub/sparc64/libgcc.h: New file.
49176 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
49177 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
49178 normal/sparc64/setjmp.c.
49179
03e8661a 491802005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
49181
49182 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
49183 * kern/sparc64/cache.S: New file.
49184 * kern/sparc64/cache.c: Removed.
49185 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
49186 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
49187 -mtune=ultrasparc.
49188 (COMMON_LDFLAGS): Add -melf64_sparc.
49189 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
49190 (grubof_SOURCES): Use cache.S instead of cache.c.
49191 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
49192 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
49193 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
49194 commented though.
49195 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
49196 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
49197 (linux_mod_CFLAGS): Commented out.
49198 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
49199 out because module isn't built.
49200 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
49201 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
49202 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
49203 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
49204 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
49205 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
49206 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
49207 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
49208 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
49209 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
49210 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
49211 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
49212 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
49213 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
49214
34eeec8a 492152005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
49216
49217 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
49218 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
49219 longer, because HFS should not be used on PC.
49220
708367a3 492212005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49222
49223 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
49224 consistently within the loop.
49225
6fa1251a 492262005-10-15 Marco Gerards <mgerards@xs4all.nl>
49227
49228 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
49229 directory can not be read.
49230
4801580b 492312005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
49232
49233 * configure.ac (AC_INIT): Increase the version number to 1.91.
49234
49235 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
49236 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
49237 term/i386/pc/serial.c.
49238
219ad426 492392005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
49240
49241 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
49242 file size must be permitted.
49243
49244 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
49245 between %ah and %al.
49246
688e5699 492472005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
49248
49249 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
49250 grub_uint64_t.
49251 Call the hook with a NUL-terminated filename.
49252 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
49253 grub_cpu_to_be32.
49254
49255 * kern/term.c (cursor_state): New variable.
49256 (grub_term_set_current): Reset the cursor state on a new
49257 terminal.
49258 (grub_setcursor): Rewritten to use CURSOR_STATE.
49259 (grub_getcursor): New function.
49260
49261 * include/grub/term.h (grub_getcursor): New prototype.
49262
49263 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
49264 integers on ARM. Reported by Timothy Baldwin
49265 <T.E.Baldwin99@members.leeds.ac.uk>.
49266
bb34586c 492672005-10-11 Marco Gerards <mgerards@xs4all.nl>
49268
49269 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
49270 allocated.
49271 (grub_sfs_dir): Likewise.
49272
9a909877 492732005-10-09 Marco Gerards <mgerards@xs4all.nl>
49274
49275 Add support for the SFS filesystem.
49276
49277 * fs/sfs.c: New file.
49278
49279 * DISTLIST: Added `fs/sfs.c'.
49280
49281 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
49282 (grub_probefs_SOURCES): Likewise.
49283 (grub_emu_SOURCES): Likewise.
49284 (pkgdata_MODULES): Add `sfs.mod'.
49285 (sfs_mod_SOURCES): New variable.
49286 (sfs_mod_CFLAGS): Likewise.
49287 (sfs_mod_LDFLAGS): Likewise.
49288
49289 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
49290 (pkgdata_MODULES): Add `sfs.mod'.
49291 (sfs_mod_SOURCES): New variable.
49292 (sfs_mod_CFLAGS): Likewise.
49293
49294 * util/grub-emu.c (main): Call `grub_sfs_init' and
49295 `grub_sfs_fini'.
49296
49297 * include/grub/fs.h (grub_sfs_init): New prototype.
49298 (grub_sfs_fini): Likewise.
49299
57bdbde3 493002005-10-07 Marco Gerards <mgerards@xs4all.nl>
49301
49302 Add support for the AFFS filesystem.
49303
49304 * fs/affs.c: New file.
49305
49306 * DISTLIST: Added `fs/affs.c'.
49307
49308 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
49309 (grub_probefs_SOURCES): Likewise.
49310 (grub_emu_SOURCES): Likewise.
49311 (pkgdata_MODULES): Add `affs.mod'.
49312 (affs_mod_SOURCES): New variable.
49313 (affs_mod_CFLAGS): Likewise.
49314 (affs_mod_LDFLAGS): Likewise.
49315
49316 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
49317 (pkgdata_MODULES): Add `affs.mod'.
49318 (affs_mod_SOURCES): New variable.
49319 (affs_mod_CFLAGS): Likewise.
49320
49321 * util/grub-emu.c (main): Call `grub_affs_init' and
49322 `grub_affs_fini'.
49323
49324 * include/grub/fs.h (grub_affs_init): New prototype.
49325 (grub_affs_fini): Likewise.
49326
047b67e0 493272005-10-01 Marco Gerards <mgerards@xs4all.nl>
49328
49329 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
49330
59b8208a 493312005-10-01 Marco Gerards <mgerards@xs4all.nl>
49332
49333 * configure.ac: Accept `x86_64' as host_cpu. In that case add
49334 `-m32' to CFLAGS.
49335
49336 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
49337 linking.
f19dbdb7 49338
59b8208a 49339 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
49340 (COMMON_LDFLAGS): New variable.
49341 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
49342 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
49343 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
49344 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
49345 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
49346 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
49347 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
49348 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
49349 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
49350 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
49351 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
49352 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
49353 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
49354 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
49355 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
49356 variables.
49357 (normal_mod_ASFLAGS): Add `-m32'.
49358
49359 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
49360 (grub_host_size_t, grub_host_ssize_t): New types.
49361 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 49362 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 49363 `GRUB_HOST_SIZEOF_VOID_P'.
49364
49365 * include/grub/kernel.h (struct grub_module_header): Type of
49366 member offset changed to `grub_host_off_t'. Type of member size
49367 changed to `grub_host_size_t'.
49368 (struct grub_module_info): Type of member offset changed to
49369 `grub_host_off_t'. Type of member size changed to
49370 `grub_host_size_t'.
49371
b4093103 493722005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
49373
49374 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 49375
b4093103 49376 * kern/i386/pc/startup.S (multiboot_header): New label.
49377 (multiboot_entry): Likewise.
49378 (multiboot_trampoline): Likewise.
49379
49380 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
49381 Increased to 0x4A0.
49382
49383 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
49384 put parentheses after a question mark.
49385 [!GRUB_UTIL] (my_mod): New variable.
49386
49387 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
49388
b2499b29 493892005-09-28 Marco Gerards <mgerards@xs4all.nl>
49390
49391 Adds support for the XFS filesystem. Btrees are not supported
49392 yet.
49393
49394 * fs/xfs.c: New file.
49395
49396 * DISTLIST: Added `fs/xfs.c'.
49397
49398 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
49399 (grub_probefs_SOURCES): Likewise.
49400 (grub_emu_SOURCES): Likewise.
49401 (pkgdata_MODULES): Add `xfs.mod'.
49402 (xfs_mod_SOURCES): New variable.
49403 (xfs_mod_CFLAGS): Likewise.
49404
49405 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
49406 (pkgdata_MODULES): Add `xfs.mod'.
49407 (xfs_mod_SOURCES): New variable.
49408 (xfs_mod_CFLAGS): Likewise.
49409
49410 * util/grub-emu.c (main): Call `grub_xfs_init' and
49411 `grub_xfs_fini'.
49412
49413 * include/grub/fs.h (grub_xfs_init): New prototype.
49414 (grub_xfs_fini): Likewise.
49415
f19dbdb7 49416
83d37a62 494172005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
49418
49419 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
49420 color modes, allow greater than 16 colors to be configured as
49421 a default palette.
49422
47d2d65e 494232005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
49424
49425 * normal/completion.c (complete_arguments): Add the qualifier
49426 const into OPTIONS.
49427
49428 From Omniflux <omniflux+lists@omniflux.com>:
49429 * include/grub/terminfo.h: New file.
49430 * include/grub/tparm.h: Likewise.
49431 * include/grub/i386/pc/serial.h: Likewise.
49432 * term/terminfo.c: Likewise.
49433 * term/tparm.c: Likewise.
49434 * term/i386/pc/serial.c: Likewise.
49435 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
49436 serial.mod.
49437 (terminfo_mod_SOURCES): New variable.
49438 (terminfo_mod_CFLAGS): Likewise.
49439 (serial_mod_SOURCES): Likewise.
49440 (serial_mod_CFLAGS): Likewise.
49441
48b671ff 494422005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
49443
49444 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
49445 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
49446 and kern/powerpc/ieee1275/cmain.c, respectively.
49447
49448 * boot/powerpc/ieee1275/crt0.S: Moved to ...
49449 * kern/powerpc/ieee1275/crt0.S: ... here.
49450
49451 * boot/powerpc/ieee1275/cmain.c: Moved to ...
49452 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 49453
48b671ff 49454 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
49455 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
49456 instead of boot/powerpc/ieee1275/crt0.S and
49457 boot/powerpc/ieee1275/cmain.c, respectively.
49458
49459 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
49460 sectors. It was not used anyway.
49461
09fc77a7 494622005-08-30 Hollis Blanchard <hollis@penguinppc.org>
49463
49464 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
49465 `unused parameter' warning.
49466
003789c7 494672005-08-30 Hollis Blanchard <hollis@penguinppc.org>
49468
49469 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
49470 function.
49471 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
49472 getcharwidth.
49473
67f44c86 494742005-08-28 Marco Gerards <metgerards@student.han.nl>
49475
49476 * include/grub/normal.h (enum grub_completion_type): Added
49477 `GRUB_COMPLETION_TYPE_ARGUMENT'.
49478
49479 * normal/cmdline.c (print_completion): Handle
49480 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
49481 * normal/menu_entry.c (store_completion): Likewise.
49482
49483 * normal/completion.c (complete_arguments): New function.
49484 (grub_normal_do_completion): Call `complete_arguments' when the
49485 current words start with a dash.
49486
0b5abe02 494872005-08-27 Marco Gerards <metgerards@student.han.nl>
49488
49489 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
49490 `gzio.mod' instead of `io.mod').
49491
d9864ee1 494922005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
49493
49494 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
49495 (DISTDIRS): Added io and video.
49496 Rewrite the search routine to make an output consistently.
49497
49498 * DISTLIST: Added conf/sparc64-ieee1275.mk,
49499 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
49500 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
49501 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
49502 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
49503 util/powerpc/ieee1275/misc.c.
f19dbdb7 49504
d9864ee1 49505 * include/grub/gzio.h: New file.
49506 * io/gzio.c: Likewise.
f19dbdb7 49507
d9864ee1 49508 * kern/file.c (grub_file_close): Call grub_device_close only if
49509 FILE->DEVICE is not NULL.
49510
49511 * include/grub/mm.h [!NULL] (NULL): New macro.
49512
49513 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
49514
49515 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
49516 (pkgdata_MODULES): Added gzio.mod.
49517 (gzio_mod_SOURCES): New variable.
49518 (gzio_mod_CFLAGS): Likewise.
49519
49520 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
49521 (pkgdata_MODULES): Added gzio.mod.
49522 (gzio_mod_SOURCES): New variable.
49523 (gzio_mod_CFLAGS): Likewise.
49524
49525 * commands/cat.c: Include grub/gzio.h.
49526 (grub_cmd_cat): Use grub_gzfile_open instead of
49527 grub_file_open.
f19dbdb7 49528
d9864ee1 49529 * commands/cmp.c: Include grub/gzio.h.
49530 (grub_cmd_cmp): Use grub_gzfile_open instead of
49531 grub_file_open.
49532
49533 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
49534 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
49535 grub_file_open.
49536 (grub_rescue_cmd_module): Likewise.
49537
fa46f4b5 495382005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
49539
49540 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
49541 kern/sparc64/ieee1275/init.c because it contains _start.
49542 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
49543
e9211b5d 495442005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
49545
49546 * configure.ac: Add support for sparc64 host with ieee1275
49547 firmware.
49548 * configure: Generated from configure.ac.
49549 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
49550 instead of int.
49551 (grub_ofdisk_read): Likewise.
49552 (grub_ofdisk_open): Use %p to print pointer values, and cast the
49553 pointers as (void *) to remove a warning.
49554 (grub_ofdisk_close): Likewise.
49555 (grub_ofdisk_read): Likewise.
49556 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
49557 returns, so make it return void to remove a warning.
49558 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
49559 Corresponding prototype change.
49560 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
49561 values, and cast the pointers as (void *) to remove a warning.
49562 (grub_mm_dump): Likewise.
49563 * conf/sparc64-ieee1275.mk: New file.
49564 * conf/sparc64-ieee1275.rmk: Likewise.
49565 * include/grub/sparc64/setjmp.h: Likewise.
49566 * include/grub/sparc64/types.h: Likewise.
49567 * include/grub/sparc64/ieee1275/console.h: Likewise.
49568 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
49569 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
49570 * include/grub/sparc64/ieee1275/time.h: Likewise.
49571 * kern/sparc64/cache.c: Likewise.
49572 * kern/sparc64/dl.c: Likewise.
49573 * kern/sparc64/ieee1275/init.c: Likewise.
49574 * kern/sparc64/ieee1275/openfw.c: Likewise.
49575
385c6a92 495762005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
49577
49578 * util/console.c (grub_ncurses_putchar): If C is greater than
49579 0x7f, set C to a question mark.
49580 (grub_ncurses_getcharwidth): New function.
49581 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
49582 getcharwidth.
49583
49584 * normal/menu.c (print_entry): Made aware of Unicode. First,
49585 convert TITLE to UCS-4, and predict the cursor position by
49586 grub_getcharwidth.
49587
49588 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
49589 const to SRC.
49590 * kern/misc.c (grub_utf16_to_utf8): Likewise.
49591
16ccb8b1 495922005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
49593
49594 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
49595 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
49596 grub_strcat.
49597
49598 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
49599 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
49600 grub_strcpy and grub_strlen. Take it into account that a space
49601 character is inserted as a delimiter.
49602
6a85ce79 496032005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
49604
49605 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 49606 invalid magic in the error.
6a85ce79 49607
49608 * commands/search.c: New file.
f19dbdb7 49609
6a85ce79 49610 * util/grub-emu.c (main): Call grub_search_init and
49611 grub_search_fini.
49612
49613 * kern/rescue.c (grub_rescue_print_disks): Removed.
49614 (grub_rescue_print_devices): New function.
49615 (grub_rescue_cmd_ls): Use grub_device_iterate with
49616 grub_rescue_print_devices instead of grub_disk_dev_iterate with
49617 grub_rescue_print_disks.
49618
49619 * kern/partition.c (grub_partition_iterate): Return the result of
49620 PARTMAP->ITERATE instead of GRUB_ERRNO.
49621
49622 * kern/device.c: Include grub/partition.h.
49623 (grub_device_iterate): New function.
49624
49625 * include/grub/partition.h (grub_partition_iterate): Return int
49626 instead of grub_err_t.
49627
49628 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
49629 prototype.
49630 [GRUB_UTIL] (grub_search_fini): Likewise.
49631
49632 * include/grub/device.h (grub_device_iterate): New prototype.
49633
49634 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
49635 commands/search.c.
49636 (pkgdata_MODULES): Added search.mod.
49637 (search_mod_SOURCES): New variable.
49638 (search_mod_CFLAGS): Likewise.
49639
49640 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
49641 (pkgdata_MODULES): Added search.mod.
49642 (search_mod_SOURCES): New variable.
49643 (search_mod_CFLAGS): Likewise.
49644
49645 * commands/ls.c (grub_ls_list_disks): Renamed to ...
49646 (grub_ls_list_devices): ... this, and use grub_device_iterate.
49647 All callers changed.
49648
49649 * DISTLIST: Added commands/search.c.
49650
ef095434 496512005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
49652
49653 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
49654 conversion.
49655 (grub_getcharwidth): New function.
49656
49657 * kern/misc.c (grub_utf8_to_ucs4): New function.
49658
49659 * include/grub/term.h (struct grub_term): Added a new member
49660 "getcharwidth".
49661 (grub_getcharwidth): New prototype.
49662
49663 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
49664
49665 * term/i386/pc/console.c (map_char): New function. Segregated from
49666 grub_console_putchar.
49667 (grub_console_putchar): Use map_char.
49668 (grub_console_getcharwidth): New function.
49669 (grub_console_term): Specified grub_console_getcharwidth as
49670 getcharwidth.
49671
49672 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
49673 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
49674
49675 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
49676 GRUB_ERRNO.
49677 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
49678 on grub_strtoul completely.
49679 (write_char): Declare local variables in the beginning of the
49680 function.
49681 (grub_vesafb_getcharwidth): New function.
49682 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
49683 getcharwidth.
49684
1f0a95e4 496852005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
49686
49687 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
49688 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
49689 commands/i386/pc/vbetest.c.
49690
49691 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
49692 call grub_vbe_get_controller_info again, because the returned
49693 information is volatile.
49694 (grub_vbe_set_video_mode): Mostly rewritten.
49695 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
49696 grub_vbe_status_t correctly.
49697 (grub_vbe_get_video_mode_info): Likewise.
49698 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
49699 several if statements.
49700
49701 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
49702 * commands/i386/pc/vbeinfo.c: ... this.
49703
49704 * commands/i386/pc/vbe_test.c: Renamed to ...
49705 * commands/i386/pc/vbetest.c: ... this.
49706
49707 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
49708 ...
49709 (grub_cmd_vbeinfo): ... this. Save video modes before
49710 iterating. Skip a video mode, if it is not available, not enough
49711 information is given or it is monochrome. Show the memory
49712 model. Leave the interpretation of MODEVAR to grub_strtoul
49713 completely.
49714 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
49715 (GRUB_MOD_FINI): Likewise.
49716
49717 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
49718 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
49719 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
49720 duplicated grub_env_get. Leave the interpretation of MODEVAR to
49721 grub_strtoul completely.
49722 (real2pm): Removed.
49723 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
49724 (GRUB_MOD_FINI): Likewise.
49725
49726 * normal/misc.c: Include grub/mm.h.
49727
49728 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
49729 vbe_list_modes with vbetest.mod and vbeinfo.mod.
49730 (vbe_list_modes_mod_SOURCES): Removed.
49731 (vbe_list_modes_mod_CFLAGS): Likewise.
49732 (vbe_test_mod_SOURCES): Likewise.
49733 (vbe_test_mod_CFLAGS): Likewise.
49734 (vbeinfo_mod_SOURCES): New variable.
49735 (vbeinfo_mod_CFLAGS): Likewise.
49736 (vbetest_mod_SOURCES): Likewise.
49737 (vbetest_mod_CFLAGS): Likewise.
49738
992ffbbe 497392005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
49740
49741 * normal/misc.c: New file.
49742
49743 * DISTLIST: Added normal/misc.c.
f19dbdb7 49744
992ffbbe 49745 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
49746 DISK to HOOK. Call HOOK with DISK.
49747 * partmap/apple.c (apple_partition_map_iterate): Likewise.
49748 * partmap/pc.c (pc_partition_map_iterate): Likewise.
49749 * partmap/sun.c (sun_partition_map_iterate): Likewise.
49750
49751 * normal/menu_entry.c (struct screen): Added a new member
49752 "completion_shown".
49753 (completion_buffer): New global variable.
49754 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
49755 (store_completion): New function.
49756 (complete): Likewise.
49757 (clear_completions): Likewise.
49758 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
49759 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
49760 a tab, call complete.
49761
49762 * normal/completion.c (disk_dev): Removed.
49763 (print_simple_completion): Likewise.
49764 (print_partition_completion): Likewise.
49765 (print_func): New global variable.
49766 (add_completion): Do not take the arguments WHAT or PRINT any
49767 longer. Added a new argument TYPE. Instead of printing directly,
49768 call PRINT_FUNC if not NULL.
49769 All callers changed.
49770 (complete_device): Use a local variable DEV instead of
49771 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
49772 (grub_normal_do_completion): Take a new argument HOOK. Do not
49773 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
49774 empty string, return NULL instead.
49775 All callers changed.
49776
49777 * normal/cmdline.c (print_completion): New function.
49778
49779 * kern/partition.c (grub_partition_iterate): Add an argument DISK
49780 to HOOK.
49781 All callers changed.
49782
49783 * kern/disk.c (grub_print_partinfo): Removed.
49784
49785 * include/grub/partition.h (struct grub_partition_map): Add a new
49786 argument DISK into HOOK of ITERATE.
49787 (grub_partition_iterate): Add a new argument DISK to HOOK.
49788
49789 * include/grub/normal.h (enum grub_completion_type): New enum.
49790 (grub_completion_type_t): New type.
49791 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
49792 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
49793 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
49794 (GRUB_COMPLETION_TYPE_FILE): Likewise.
49795 (grub_normal_do_completion): Added a new argument HOOK.
49796 (grub_normal_print_device_info): New prototype.
49797
49798 * include/grub/disk.h (grub_print_partinfo): Removed.
49799
49800 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
49801 (normal_mod_SOURCES): Likewise.
49802 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
49803 (normal_mod_SOURCES): Likewise.
49804
49805 * commands/ls.c (grub_ls_list_disks): Use
49806 grub_normal_print_device_info instead of grub_print_partinfo. Free
49807 PNAME.
49808 (grub_ls_list_files): Use grub_normal_print_device_info instead of
49809 duplicating the code.
49810
0bd41162 498112005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
49812
49813 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 49814 follow GCS more precisely.
49815 * commands/i386/pc/vbe_test.c: Likewise.
49816 * include/grub/i386/pc/vbe.h: Likewise.
49817 * term/i386/pc/vesafb.c: Likewise.
49818 * video/i386/pc/vbe.c: Likewise.
0bd41162 49819
6323696a 498202005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
49821
49822 * DISTLIST: Added term/i386/pc/vesafb.c
49823 DISTLIST: Added video/i386/pc/vbe.c
49824 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
49825 DISTLIST: Added commands/i386/pc/vbe_test.c.
49826 * commands/i386/pc/vbe_list_modes.c: New file.
49827 * commands/i386/pc/vbe_test.c: Likewise.
49828 * term/i386/pc/vesafb.c: Likewise.
49829 * video/i386/pc/vbe.c: Likewise.
49830 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
49831 (grub_vbe_probe) Added prototype.
49832 (grub_vbe_set_video_mode) Likewise.
49833 (grub_vbe_get_video_mode) Likewise.
49834 (grub_vbe_get_video_mode_info) Likewise.
49835 (grub_vbe_set_pixel_rgb) Likewise.
49836 (grub_vbe_set_pixel_index) Likewise.
49837 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
49838 (pkgdata_MODULES): Added vesafb.mod.
49839 (pkgdata_MODULES): Added vbe_list_modes.mod.
49840 (pkgdata_MODULES): Added vbe_test.mod.
49841 (vbe_mod_SOURCES): Added.
49842 (vbe_mod_CFLAGS): Likewise.
49843 (vesafb_mod_SOURCES): Likewise.
49844 (vesafb_mod_CFLAGS): Likewise.
49845 (vbe_list_modes_mod_SOURCES): Likewise.
49846 (vbe_list_modes_mod_CFLAGS): Likewise.
49847 (vbe_test_mod_SOURCES): Likewise.
49848 (vbe_test_mod_CFLAGS): Likewise.
49849
0a74e62f 498502005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
49851
0a74e62f 49852 * normal/command.c (grub_command_execute): If INTERACTIVE is
49853 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
49854 CMDLINE. Disable the pager if INTERACTIVE is true.
49855 All callers are changed.
49856
49857 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
49858 before reading a config file.
49859 * normal/main.c (read_config_file): Even if a command is not
49860 found, register it if it is within an entry.
49861
49862 * util/grub-emu.c: Include sys/types.h and unistd.h.
49863 (options): Added --hold.
49864 (struct arguments): Added a new member "hold".
49865 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
49866 missing.
49867 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
49868 cleared by a debugger, if it is not zero.
49869
49870 * include/grub/normal.h (grub_command_execute): Add an argument
49871 INTERACTIVE.
49872
e51f85ae 498732005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
49874
49875 * DISTLIST: Added include/grub/i386/pc/vbe.h.
49876
e9c6f39b 498772005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
49878
49879 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
49880 program with another one, because the old one didn't detect a bug
49881 in gcc-3.4. Always use regparm 2, because the new test is still
49882 not enough for gcc-4.0. Someone must investigate a simple test
49883 case which detects a bug in gcc-4.0.
49884
8de3495c 498852005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
49886
49887 * DISTLIST: Added normal/completion.c.
49888
49889 * normal/completion.c: New file.
f19dbdb7 49890
8de3495c 49891 * term/i386/pc/console.c (grub_console_getwh): New function.
49892 (grub_console_term): Assign grub_console_getwh to getwh.
49893
49894 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
49895 function is defined in normal/completion.c as
49896 grub_normal_do_completion.
49897 (grub_cmdline_get): Use grub_normal_do_completion instead of
49898 grub_tab_complete.
49899
49900 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
49901 returns non-zero, otherwise return 0.
49902 (grub_partition_iterate): First, probe the partition map. Then,
49903 call ITERATE only for this partition map.
49904
49905 * kern/misc.c (grub_strncmp): Rewritten.
49906
49907 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
49908 returns non-zero. Otherwise return 0.
49909
49910 * include/grub/partition.h (grub_partition_map_iterate): Return
49911 int instead of void.
49912
49913 * include/grub/normal.h (grub_normal_do_completion): New prototype.
49914
49915 * include/grub/misc.h (grub_strncmp): Change the type of N to
49916 grub_size_t.
49917
49918 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
49919 of void.
49920
49921 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 49922 unsigned explicitly before comparing it with I.
8de3495c 49923
49924 * kern/main.c (grub_env_write_root): Add the attribute unused into
49925 VAR.
49926
49927 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
49928 normal/completion.c.
49929 (normal_mod_SOURCES): Likewise.
49930 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
49931 (normal_mod_SOURCES): Likewise.
49932
49933 * normal/command.c (grub_iterate_commands): If ITERATE returns
49934 non-zero, return one immediately.
49935
e85e144b 499362005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
49937
49938 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
49939 * kern/i386/pc/startup.S: Updated Global Descriptor table's
49940 descriptions.
49941 (grub_vbe_get_controller_info): New function.
49942 (grub_vbe_get_mode_info): Likewise.
49943 (grub_vbe_set_mode): Likewise.
49944 (grub_vbe_get_mode): Likewise.
49945 (grub_vbe_set_memory_window): Likewise.
49946 (grub_vbe_get_memory_window): Likewise.
49947 (grub_vbe_set_scanline_length): Likewise.
49948 (grub_vbe_get_scanline_length): Likewise.
49949 (grub_vbe_set_display_start): Likewise.
49950 (grub_vbe_get_display_start): Likewise.
49951 (grub_vbe_set_palette_data): Likewise.
49952 * include/grub/i386/pc/vbe.h: New file.
49953
c46153d2 499542005-08-08 Hollis Blanchard <hollis@penguinppc.org>
49955
49956 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
49957 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
49958 * DISTLIST: Likewise.
49959 * kern/ieee1275/of.c: Moved to ...
49960 * kern/ieee1275/ieee1275.c: ... here.
49961
0cb90c45 499622005-08-08 Hollis Blanchard <hollis@penguinppc.org>
49963
49964 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
49965 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
49966 Pass 0 as `end' parameter to grub_strtoul().
49967
a19fb360 499682005-08-08 Hollis Blanchard <hollis@penguinppc.org>
49969
49970 * include/grub/powerpc/ieee1275/console.h: Do not include
49971 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
49972 ifdef.
49973 (grub_console_cur_color): Remove i386-specific prototype.
49974 (grub_console_real_putchar): Likewise.
49975 (grub_console_checkkey): Likewise.
49976 (grub_console_getkey): Likewise.
49977 (grub_console_getxy): Likewise.
49978 (grub_console_gotoxy): Likewise.
49979 (grub_console_cls): Likewise.
49980 (grub_console_setcursor): Likewise.
49981 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
49982 Include <grub/machine/console.h>.
49983 * term/ieee1275/ofconsole.c: Likewise.
49984
4ac9bd04 499852005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
49986
49987 * Makefile.in (LIBLZO): New variable.
49988
49989 * configure.ac: Check for LZO version 2.
49990
49991 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
49992 lzo/lzo1x.h instead of lzo1x.h.
49993
49994 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
49995 of -llzo.
49996
49997 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
49998 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
49999
50000 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
50001 copying the data from PARTITION to P.
50002
f4917dfd 500032005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
50004
50005 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
50006 negative, unload the module.
50007
50008 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
50009 map is "pc_partition_map" but not "pc".
50010 (usage): Fix the description. The options are --boot-image and
50011 --core-image but not --boot-file or --core-file.
50012 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
50013 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
50014 DEFAULT_DIRECTORY.
50015
50016 * util/i386/pc/grub-install.in: Do not specify --boot-file or
50017 --core-file. Specify INSTALL_DEVICE as an argument.
50018
50019 * util/console.c: Include config.h.
50020 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
50021 [HAVE_NCURSES_H]: Include ncurses.h.
50022 [HAVE_CURSES_H]: Include curses.h.
50023 [!A_NORMAL] (A_NORMAL): Defined as zero.
50024 [!A_STANDOUT] (A_STANDOUT): Likewise.
50025
50026 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
50027 -lncurses.
50028 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
50029
50030 * configure.ac: Check for curses libraries and headers.
50031
50032 * Makefile.in (LIBCURSES): New variable.
50033
50034 * genmk.rb (Script::rule): Set the executable bits.
50035
50036 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
50037 name of the PC partition map is "pc_partition_map" but not "pc".
50038
0e143073 500392005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
50040
50041 * util/i386/pc/grub-install.in (grub_probefs): New variable.
50042 (modules): Likewise.
50043 (usage): Added descriptions for --modules and --grub-probefs.
50044 Handle --modules and --grub-probefs. Save the arguments in MODULES
50045 and GRUB_PROBEFS, respectively.
50046 Auto-detect a filesystem module against GRUBDIR. If the result is
50047 empty and modules are not specified explicitly, abort the
50048 installation. Add the result to MODULES.
50049
50050 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
50051 disk/powerpc/ieee1275/ofdisk.c,
50052 include/grub/powerpc/ieee1275/init.h and
50053 term/powerpc/ieee1275/ofconsole.c.
50054 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
50055 term/ieee1275/ofconsole.c.
50056
50057 * include/grub/powerpc/ieee1275/console.h: Resurrected.
50058
50059 * COPYING: Upgraded to the latest version. Only the address of the
50060 FSF office has changed.
f19dbdb7 50061
efd6e6d5 500622005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
50063
50064 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
50065 kern/ieee1275.c with kern/ieee1275/of.c.
50066
50067 * kern/ieee1275.c: Moved to ...
50068 * kern/ieee1275/of.c: ... here.
50069
8ceafda2 500702005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
50071
50072 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 50073 readability.
8ceafda2 50074
50075 * config.guess: Updated to the latest version from gnulib.
50076 * config.sub: Likewise.
50077 * install.sh: Likewise.
50078 * mkinstalldirs: Likewise.
50079
50080 * include/grub/console.h: Removed. This file is arch-specific. Do
50081 not put this in include/grub.
50082
50083 * include/grub/i386/pc/console.h: Resurrected.
50084
50085 * util/console.c: Include grub/machine/console.h instead of
50086 grub/console.h.
50087 * util/grub-emu.c: Likewise.
50088
267f6cd9 500892005-08-04 Marco Gerards <metgerards@student.han.nl>
50090
50091 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
50092 hardcoded value.
f19dbdb7 50093
267f6cd9 50094 From Vincent Pelletier <subdino2004@yahoo.fr>
50095 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
50096 Redefined to use grub_getwh.
50097 (grub_term): New member named getwh.
50098 (grub_getwh): New prototype.
50099 * kern/term.c (grub_getwh): New function.
50100 * term/i386/pc/console.c (grub_console_getwh): New function.
50101 (grub_console_term): New member `getwh'.
50102 * term/i386/pc/vga.c (grub_vga_getwh): New function.
50103 (grub_vga_term): New member `getwh'.
0b5abe02 50104 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 50105 grub_ssize_t.
50106 (grub_ofconsole_getw): New function.
50107 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
50108 (grub_ofconsole_term): New field named getwh and new initial
50109 value.
50110
3be7266d 501112005-08-03 Hollis Blanchard <hollis@penguinppc.org>
50112
50113 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
50114 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
50115 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
50116 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
50117 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
50118 of <grub/machine/ieee1275.h>.
50119 * commands/ieee1275/reboot.c: Likewise.
50120 * boot/powerpc/ieee1275/ieee1275.c: Move ...
50121 * kern/ieee1275.c: ... to here. All users updated. Change all
50122 parameter structs to use new type `grub_ieee1275_cell_t'.
50123 * term/powerpc/ieee1275/ofconsole.c: Move ...
50124 * term/ieee1275/ofconsole.c: ... to here. All users updated.
50125 * disk/powerpc/ieee1275/ofdisk.c: Move ...
50126 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
50127 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
50128 to return int.
50129 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
50130 Remove unused prototypes. All users updated.
50131 * include/grub/powerpc/ieee1275/console.h: Removed.
50132 * include/grub/powerpc/ieee1275/ieee1275.h: Define
50133 `grub_ieee1275_cell_t'.
50134 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
50135 Cast comparisons with -1 to the correct type.
50136 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
50137 type to match `grub_ieee1275_entry_fn'.
50138
8b5f3938 501392005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
50140
50141 * DISTLIST: Added util/i386/pc/grub-probefs.c.
50142
50143 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
50144 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
50145 partmap/sun.c.
50146 (grub_probefs_SOURCES): New variable.
50147
50148 * util/i386/pc/grub-probefs.c: New file.
50149
50150 * util/i386/pc/grub-setup.c (main): Call
50151 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
50152 grub_hfs_init and grub_jfs_init to initialize the system. Call
50153 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
50154 grub_pc_partition_map_fini to finish the system.
50155
ea409713 501562005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
50157
50158 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
50159 function.
50160 (grub_multiboot_load_elf32): Likewise.
50161 (grub_multiboot_is_elf64): Likewise.
50162 (grub_multiboot_load_elf64): Likewise.
50163 (grub_multiboot_load_elf): Likewise.
50164 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
50165 an ELF32 or ELF64 file.
50166 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
50167
50168 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
50169 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
50170 NULL before calling FS->LABEL.
50171 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
50172 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
50173 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
50174 before calling FS->LABEL.
50175
141a288b 501762005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
50177
50178 * util/i386/pc/grub-install.in (datadir): New variable.
50179 (libdir): Removed.
50180 (pkgdatadir): New variable.
50181 (pkglibdir): Removed.
50182
0d5f8a54 501832005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
50184
50185 * DISTLIST: Added util/i386/pc/grub-install.in.
50186
50187 * util/i386/pc/grub-install.in: New file.
50188
50189 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
50190 (grub_install_SOURCES): Likewise.
50191
50192 * genmk.rb: Added support for scripts.
50193 (Script): New class.
50194 (scripts): New variable.
50195
50196 * Makefile.in (install-local): Install sbin_SCRIPTS by
50197 INSTALL_SCRIPT.
50198 (uninstall): Remove sbin_SCRIPTS.
50199
50200 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
50201 device, try to get a GRUB device by
50202 grub_util_biosdisk_get_grub_dev.
50203 Free DEST_DEV.
50204
50205 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
50206 description for --device-map.
50207
5f968e1e 502082005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
50209
50210 Change the semantics of variable hooks. They now return strings
50211 instead of error values.
f19dbdb7 50212
5f968e1e 50213 * util/i386/pc/grub-setup.c: Include grub/env.h.
50214 (setup): Use grub_device_set_root instead of grub_env_set.
50215
50216 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
50217 grub_env_get instead of grub_device_set_root and
50218 grub_device_get_root, respectively.
50219
50220 * kern/main.c (grub_env_write_root): New function.
50221 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
50222 grub_env_set instead of grub_device_set_root.
50223
50224 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
50225 many variables.
50226 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
50227 rather than calling ENV->WRITE_HOOK afterwards.
50228 (grub_env_get): Return the result of ENV->READ_HOOK rather than
50229 passing a pointer of a pointer.
50230 (grub_register_variable_hook): Change the types of "read_hook" and
50231 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
50232 respectively.
50233 Allocate the default empty string on the heap, because this string
50234 may be freed later.
50235
50236 * kern/device.c: Include grub/env.h.
50237 (grub_device_set_root): Removed.
50238 (grub_device_get_root): Likewise.
50239 (grub_device_open): Use grub_env_get instead of
50240 grub_device_get_root.
50241
50242 * include/grub/env.h (grub_env_read_hook_t): New type.
50243 (grub_env_write_hook_t): Likewise.
50244 (grub_env_var): Change the types of "read_hook" and "write_hook"
50245 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
50246 (grub_register_variable_hook): Likewise.
50247
50248 * include/grub/device.h (grub_device_set_root): Removed.
50249 (grub_device_set_root): Likewise.
50250
50251 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
50252 make sure that DIRNAME terminates with '/', so that
50253 grub_fat_find_dir will fail if PATH is not a directory.
50254
50255 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
50256 from DIRNAME.
50257 Use the qualifier auto for print_files and print_files_long.
50258 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
50259 as a regular file.
50260 Put a newline only if there is no error.
50261 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
50262 used.
50263
896f0afd 502642005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
50265
50266 * kern/partition.c (grub_partition_probe): Initialize PART to
50267 NULL. Otherwise, when no partition map is registered, this returns
50268 a garbage.
50269
b28b81b2 502702005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
50271
50272 * partmap/apple.c (apple_partition_map_iterate): Check if POS
50273 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
50274 valid.
50275
5f3607e0 502762005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
50277
50278 * commands/ls.c (grub_ls_list_disks): Print the filesystem
50279 information on each device, if it does not have partitions. Print
50280 "Device" instead of "Disk", because this function is not specific
50281 to disk devices.
50282
50283 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
50284 static to ensure that it is put on the memory rather than a
50285 register.
50286
502c87e8 502872005-07-17 Yoshinori Okuji <okuji@enbug.org>
50288
50289 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
50290 (grub_cat_init): Likewise.
50291 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
50292 (options): Likewise.
50293 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
50294 (grub_configfile_init): Likewise.
50295 * font/manager.c (GRUB_MOD_INIT): Likewise.
50296 * commands/help.c (GRUB_MOD_INIT): Likewise.
50297 (grub_help_init): Likewise.
50298 * normal/command.c (grub_command_init): Likewise.
50299 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
50300 * disk/loopback.c (grub_loop_init): Likewise.
50301 (GRUB_MOD_INIT): Likewise.
50302 * commands/ls.c (grub_ls_init): Likewise.
50303 (GRUB_MOD_INIT): Likewise.
50304 (options): Likewise.
50305 * commands/boot.c (grub_boot_init): Likewise.
50306 (GRUB_MOD_INIT): Likewise.
50307 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
50308 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
50309 (GRUB_MOD_INIT): Likewise.
50310 * commands/cmp.c (grub_cmp_init): Likewise.
50311 (GRUB_MOD_INIT): Likewise.
50312
50313 * normal/arg.c: Use <> instead of "" to include header files.
50314 (SHORT_ARG_HELP): New macro.
50315 (SHORT_ARG_USAGE): Likewise.
50316 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
50317 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
50318 descriptions.
50319 (find_short): Check if C is 'h' or 'u' explicitly.
50320 (grub_arg_show_help): Use space characters instead of tabs. Treat
50321 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
50322 are shown with --help and --usage only if they are not used for
50323 the command itself.
50324 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
50325 'h' and 'u'.
50326
50327 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
50328 const into "longarg". Change the type of "shortarg" to int.
50329
f806d18e 503302005-07-17 Yoshinori Okuji <okuji@enbug.org>
50331
50332 * boot/i386/pc/boot.S (boot_drive_check): New label.
50333
50334 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
50335 macro.
50336
50337 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
50338 which do not pass a boot drive correctly. Copied from GRUB Legacy.
50339
e293232b 503402005-07-17 Yoshinori Okuji <okuji@enbug.org>
50341
50342 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
50343 When turning off Gate A20, skip the check and return immediately,
50344 because this is not fatal usually.
50345
ebedfd00 503462005-07-17 Yoshinori Okuji <okuji@enbug.org>
50347
50348 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
50349 be 0x7C00 instead of 0x8000.
50350
50351 * boot/i386/pc/pxeboot.S: Rewritten.
50352
50353 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
50354 EXT_C.
50355 (gate_a20_check_state): Read a byte from 0x108000. Invert the
50356 result.
50357
654fc59f 503582005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
50359
50360 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
50361 robustness. This routine now supports a BIOS call and System
50362 Control Port A to modify the gate A20.
50363
50364 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
50365 Increased to 0x440.
50366
09f9923f 503672005-07-12 Hollis Blanchard <hollis@penguinppc.org>
50368
50369 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
50370 device path and resulting ihandle.
50371 (grub_ofdisk_close): dprintf the ihandle being closed.
50372 (grub_ofdisk_read): dprintf function parameters.
50373 * kern/mm.c (grub_mm_init_region): Likewise.
50374 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
50375 (grub_linux_boot): dprintf the Linux entry point, initrd address and
50376 size, and boot arguments.
50377 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
50378 before loading into memory.
50379 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
50380 before loading into memory.
50381
7ef504d8 503822005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
50383
50384 * kern/mm.c: Added much documentation.
50385 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
50386 8, set to 5 instead of 8.
50387
e0f050c2 503882005-07-10 Yoshinori Okuji <okuji@enbug.org>
50389
50390 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
50391
50392 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
50393 (grub_mkdevicemap_SOURCES): New variable.
50394
50395 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
50396 lib/device.c of GRUB Legacy.
50397
7224189a 503982005-07-10 Yoshinori Okuji <okuji@enbug.org>
50399
50400 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
50401 instead of PATH is NULL.
50402
68c864eb 504032005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
50404
50405 * commands/cmp.c (BUFFER_SIZE): New macro.
50406 (grub_cmd_cmp): Close the right file at the right time. Compare
50407 only data just read. Don't report files of different size as
50408 identical. Dynamically allocate buffers. Move variable
50409 declarations at the beginning of function.
50410
e6f3e614 504112005-07-09 Yoshinori Okuji <okuji@enbug.org>
50412
50413 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
50414 reverse.
50415
f8f1559a 504162004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
50417
50418 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
50419 when backspace is pressed at beginning of line.
50420
39c9d41d 504212005-07-03 Yoshinori Okuji <okuji@enbug.org>
50422
50423 * DISTLIST: Added genfslist.sh.
50424
50425 * normal/main.c (fs_module_list): New variable.
50426 (autoload_fs_module): New function.
50427 (read_fs_list): Likewise.
50428 (grub_normal_execute): Call read_fs_list.
50429
50430 * kern/fs.c (grub_fs_autoload_hook): New variable.
50431 (grub_fs_probe): Added support for auto-loading.
50432
50433 * include/grub/normal.h (struct grub_fs_module_list): New struct.
50434 (grub_fs_module_list_t): New type.
50435
50436 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
50437 (grub_fs_autoload_hook): New prototype.
50438
50439 * genfslist.sh: New file.
f19dbdb7 50440
39c9d41d 50441 * genmk.rb: Added a rule to generate a filesystem list.
50442
121c1d83 504432005-06-30 Marco Gerards <metgerards@student.han.nl>
50444
50445 * configure.ac: Fix the test for cross-compiling.
50446
50447 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
50448 define GRUB_UTIL anymore.
50449
50450 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
50451 so this function works on other systems than just big endian.
50452 (load_modules): Likewise.
50453 (add_segments): Likewise.
50454
e75d76e1 504552005-06-23 Hollis Blanchard <hollis@penguinppc.org>
50456
50457 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
50458 contains `l' modifier, get a long from va_arg().
50459
50b5a0a7 504602005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
50461
50462 * kern/mm.c (grub_free): If the next free block which is being
50463 merged is the first free block, set the first block to the block
50464 being freed.
50465 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
50466
89371b20 504672005-05-08 Hollis Blanchard <hollis@penguinppc.org>
50468
50469 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
50470 `grub_ieee1275_chosen'.
50471
168d6e58 504722005-05-08 Hollis Blanchard <hollis@penguinppc.org>
50473
50474 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
50475 (grub_ieee1275_chosen): New variable.
50476 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
50477 `chosen'.
50478 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
50479 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
50480 Rename first argument to `phandle' for consistency.
50481 (grub_ieee1275_get_property_length): Likewise.
50482 (grub_ieee1275_next_property): Likewise. Change type of first argument
50483 to grub_ieee1275_phandle_t.
50484 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
50485 Move export next to declaration.
50486 (grub_ieee1275_chosen): New variable.
50487 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
50488 Correct cosmetic typo.
50489 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
50490 `grub_ieee1275_chosen'.
50491 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
50492 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
50493 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
50494 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
50495 `grub_ieee1275_chosen'.
50496
ca5baa3f 504972005-05-10 Hollis Blanchard <hollis@penguinppc.org>
50498
50499 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
50500 /chosen/bootargs.
50501 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
50502 /chosen/bootargs as "variable=value" pairs.
50503
708b345f 505042005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
50505
50506 * include/grub/misc.h (grub_dprintf): New macro.
50507 (grub_real_dprintf): New prototype.
50508 (grub_strword): Likewise.
50509 (grub_iswordseparator): Likewise.
50510 * kern/misc.c (grub_real_dprintf): New function.
50511 (grub_strword): Likewise.
50512 (grub_iswordseparator): Likewise.
50513
f4c5e67c 505142005-04-30 Hollis Blanchard <hollis@penguinppc.org>
50515
50516 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
50517 (roundup): Remove macro.
50518 (grub_ieee1275_flags): Make static.
50519 (grub_ieee1275_realmode): Remove.
50520 (grub_ieee1275_test_flag): New function.
50521 (grub_ieee1275_set_flag): Likewise.
50522 (find_options): Rename to `grub_ieee1275_find_options'; update
50523 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
50524 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
50525 (cmain): New prototype.
50526 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
50527 `grub_ieee1275_flags' directly.
50528 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
50529 machine/biosdisk.h.
50530 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
50531 Don't include grub/machine/init.h.
50532 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
50533 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
50534 Remove prototype.
50535 (grub_ieee1275_realmode): Likewise.
50536 (grub_ieee1275_flag): New enum.
50537 (grub_ieee1275_test_flag): New prototype.
50538 (grub_ieee1275_set_flag): New prototype.
50539 * include/grub/powerpc/ieee1275/init.h: Remove file.
50540 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
50541 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
50542 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
50543 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
50544 comment.
50545 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
50546 `grub_ieee1275_test_flag'.
50547 (grub_ieee1275_encode_devname): Likewise.
50548
ed16607e 505492005-04-21 Hollis Blanchard <hollis@penguinppc.org>
50550
50551 * include/grub/powerpc/ieee1275/ieee1275.h
50552 (grub_ieee1275_encode_devname): New prototype.
50553 (grub_ieee1275_get_filename): Likewise.
50554 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
50555 function.
50556 (grub_set_prefix): Likewise.
50557 (grub_machine_init): Call grub_set_prefix.
50558 * kern/powerpc/ieee1275/openfw.c: Fix typos.
50559 (grub_parse_type): New enum.
50560 (grub_ieee1275_get_devargs): New function.
50561 (grub_ieee1275_get_devname): Likewise.
50562 (grub_ieee1275_parse_args): Likewise.
50563 (grub_ieee1275_get_filename): Likewise.
50564 (grub_ieee1275_encode_devname): Likewise.
50565
be369920 505662005-03-30 Marco Gerards <metgerards@student.han.nl>
50567
50568 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
50569 `grub_loader_unset'.
50570
a5ce3a4a 505712005-03-26 Hollis Blanchard <hollis@penguinppc.org>
50572
50573 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
50574 instead of grub_ieee1275_interpret.
50575 (grub_halt_init): New function.
50576 (grub_halt_fini): Likewise.
50577 (GRUB_MOD_INIT): Correct message grammar.
50578 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
50579 instead of grub_ieee1275_interpret.
50580 (grub_reboot_init): New function.
50581 (grub_reboot_fini): Likewise.
50582 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
50583 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
50584 util/i386/pc/misc.c with commands/ieee1275/halt.c,
50585 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
50586 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
50587 function.
50588 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
50589 Add prototype.
50590 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
50591 prototype.
50592 (grub_halt): Likewise.
50593 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
50594 (cmain): Remove __attribute__((unused)).
50595 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
50596 (grub_heap_len): Likewise.
50597 (grub_machine_fini): New function.
50598 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
50599 (grub_halt): Likewise.
50600 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
50601 function.
50602 * util/powerpc/ieee1275/misc.c: New file.
50603
0058f771 506042005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
50605
50606 * DISTLIST: New file.
50607 * gendistlist.sh: Likewise.
f19dbdb7 50608
0058f771 50609 * Makefile.in (COMMON_DISTFILES): Removed.
50610 (BOOT_DISTFILES): Likewise.
50611 (CONF_DISTFILES): Likewise.
50612 (DISK_DISTFILES): Likewise.
50613 (FS_DISTFILES): Likewise.
50614 (INCLUDE_DISTFILES): Likewise.
50615 (KERN_DISTFILES): Likewise.
50616 (LOADER_DISTFILES): Likewise.
50617 (TERM_DISTFILES): Likewise.
50618 (UTIL_DISTFILES): Likewise.
50619 (DISTFILES): Likewise.
50620 (uninstall): Uninstall files in $(pkgdata_DATA).
50621 (DISTLIST): New target.
50622 (distdir): Use the contents of the file DISTLIST to get a list of
50623 distributed files.
50624
46b3b8a5 506252005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
50626
50627 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
50628 descriptor. This is ported from GRUB Legacy.
50629
50630 * gencmdlist.sh: Added an extra semicolon to make it work with
50631 old sed versions. Reported by Robert Bihlmeyer
50632 <robbe@orcus.priv.at>.
50633
5822ff87 506342005-03-08 Yoshinori Okuji <okuji@enbug.org>
50635
50636 Automatic loading of commands is supported.
f19dbdb7 50637
5822ff87 50638 * normal/main.c (read_command_list): New function.
50639 (grub_normal_execute): Call read_command_list.
50640
50641 * normal/command.c (grub_register_command): Return zero or CMD.
50642 Allocate CMD->NAME from the heap.
50643 Initialize CMD->MODULE_NAME to zero.
50644 Find the same name as well. If the same command is found and it is
50645 a dummy command, overwrite members. If it is not a dummy command,
50646 return zero.
50647 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
50648 (grub_command_find): If a dummy command is found, load a module
50649 and retry to find a command only once.
50650
50651 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
50652 make sure that each command is loaded.
50653
50654 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
50655 macro.
50656 (struct grub_command): Remove const from the member `name'.
50657 Add a new member `module_name'.
50658 (grub_register_command): Return grub_command_t.
50659
50660 * commands/help.c (grub_cmd_help): Call grub_command_find to make
50661 sure that each command is loaded.
50662
50663 * genmk.rb (PModule::rule): Specify a module name without the
50664 suffix ".mod" to gencmdlist.sh.
50665
7b1f4b57 506662005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
50667
50668 * gencmdlist.sh: New file.
f19dbdb7 50669
7b1f4b57 50670 * genmk.rb (PModule::rule): Generate a rule for a command list.
50671 Clean command.lst.
50672 Generate command.lst from $(COMMANDFILES).
50673
50674 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
50675 (DATA): Added $(pkgdata_DATA).
50676 (install-local): Install files in $(pkgdata_DATA).
50677
062aaf39 506782005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
50679
50680 * term/i386/pc/vga.c (debug_command): Removed.
50681 (GRUB_MOD_INIT): Do not register the command "debug".
50682
50683 From Hollis Blanchard:
50684 * commands/configfile.c: New file.
50685 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
50686 commands/configfile.c.
50687 (pkgdata_MODULES): Added configfile.mod.
50688 (configfile_mod_SOURCES): New variable.
50689 (configfile_mod_CFLAGS): Likewise.
50690 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
50691 commands/configfile.c.
50692 (pkgdata_MODULES): Added configfile.mod.
50693 (configfile_mod_SOURCES): New variable.
50694 (configfile_mod_CFLAGS): Likewise.
50695 * util/grub-emu.c (main): Call grub_configfile_init and
50696 grub_configfile_fini.
50697 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
50698 prototype.
50699 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 50700
cee01aa6 507012005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
50702
50703 * normal/arg.c (grub_arg_show_help): Do not show the bug report
50704 address.
50705
50706 * commands/help.c (grub_cmd_help): Do not print newlines after
50707 the last command in print_command_help.
50708
93f3a1d8 507092005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
50710
50711 * commands/default.h: New file.
50712 * commands/timeout.h: Likewise.
50713 * normal/context.c: Likewise.
f19dbdb7 50714
93f3a1d8 50715 * util/misc.c: Do not include sys/times.h.
50716 Include sys/time.h and grub/machine/time.h.
50717 (grub_get_rtc): Rewritten with gettimeofday.
50718
50719 * util/grub-emu.c (main): Call grub_default_init and
50720 grub_timeout_init before grub_normal_init, and call
50721 grub_timeout_fini and grub_default_fini after grub_main.
50722
50723 * util/console.c (grub_ncurses_checkkey): Return the read
50724 character or -1.
50725
50726 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
50727 timeouts.
50728
50729 * normal/main.c (read_config_file): Push MENU. If this fails,
50730 print an error and wait for a user input.
50731 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
50732 If a menu is empty or an error occurs, pop MENU.
50733 (grub_normal_execute): Pop and free MENU after grub_menu_run
50734 returns.
50735
50736 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
50737
50738 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
50739 include time.h.
50740 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
50741 without GRUB_UTIL.
50742 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
50743 time.h.
50744 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
50745 without GRUB_UTIL.
50746
50747 * include/grub/normal.h (struct grub_menu_list): New struct.
50748 (grub_menu_list_t): New type.
50749 (struct grub_context): New struct.
50750 (grub_context_t): New type.
50751 (grub_register_command): Got rid of EXPORT_FUNC.
50752 (grub_unregister_command): Likewise.
50753 (grub_context_get): New prototype.
50754 (grub_context_get_current_menu): Likewise.
50755 (grub_context_push_menu): Likewise.
50756 (grub_context_pop_menu): Likewise.
50757 [GRUB_UTIL] (grub_default_init): Likewise.
50758 [GRUB_UTIL] (grub_default_fini): Likewise.
50759 [GRUB_UTIL] (grub_timeout_init): Likewise.
50760 [GRUB_UTIL] (grub_timeout_fini): Likewise.
50761
50762 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
50763 commands/timeout.c and normal/context.c.
50764 (pkgdata_MODULES): Added default.mod and timeout.mod.
50765 (normal_mod_SOURCES): Added normal/context.c.
50766 (default_mod_SOURCES): New variable.
50767 (default_mod_CFLAGS): Likewise.
50768 (timeout_mod_SOURCES): Likewise.
50769 (timeout_mod_CFLAGS): Likewise.
50770 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
50771 conf/i386-pc.rmk.
50772 (pkgdata_MODULES): Added default.mod and timeout.mod.
50773 (normal_mod_SOURCES): Added normal/context.c.
50774 (default_mod_SOURCES): New variable.
50775 (default_mod_CFLAGS): Likewise.
50776 (timeout_mod_SOURCES): Likewise.
50777 (timeout_mod_CFLAGS): Likewise.
50778
50779 * Makefile.in (all-local): Added $(MKFILES).
50780
4ed2e1dd 507812005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
50782
50783 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
50784 (grub_emu_SOURCES): Likewise.
50785 (pkgdata_MODULES): Add `sun.mod'.
50786 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
50787 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
50788 `partmap/sun.c'.
50789 (pkgdata_MODULES): Add `sun.mod'.
50790 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
50791 * include/grub/partition.h (grub_sun_partition_map_init): New
50792 prototype.
50793 (grub_sun_partition_map_fini): Likewise.
50794 * partmap/sun.c: New file.
50795 * util/grub-emu.c (main): Initialize and de-initialize the sun
50796 partitionmap support.
50797
4d4e372e 507982005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
50799
50800 This implements an Emacs-like menu entry editor.
f19dbdb7 50801
4d4e372e 50802 * normal/menu_entry.c: New file.
f19dbdb7 50803
4d4e372e 50804 * util/console.c (grub_ncurses_putchar): Translate some Unicode
50805 characters to ASCII.
50806 (saved_char): New variable.
50807 (grub_ncurses_checkkey): Rewritten completely.
50808 (grub_ncurses_getkey): Likewise.
50809 (grub_ncurses_init): Call raw instead of cbreak.
50810
50811 * normal/menu.c (print_entry): Do not put a space.
50812 (init_page): Renamed to ...
50813 (grub_menu_init_page): ... this. All callers changed.
50814 (edit_menu_entry): Removed.
50815 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
50816
50817 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
50818
50819 * kern/misc.c (grub_vprintf): Call grub_refresh.
50820
50821 * normal/menu.c (DISP_LEFT): Renamed to ...
50822 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
50823 * normal/menu.c (DISP_UP): Renamed to ...
50824 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
50825 * normal/menu.c (DISP_RIGHT): Renamed to ...
50826 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
50827 * normal/menu.c (DISP_DOWN): Renamed to ...
50828 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
50829 * normal/menu.c (DISP_HLINE): Renamed to ...
50830 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
50831 * normal/menu.c (DISP_VLINE): Renamed to ...
50832 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
50833 * normal/menu.c (DISP_UL): Renamed to ...
50834 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
50835 * normal/menu.c (DISP_UR): Renamed to ...
50836 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
50837 * normal/menu.c (DISP_LL): Renamed to ...
50838 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
50839 * normal/menu.c (DISP_LR): Renamed to ...
50840 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
50841 * normal/menu.c (TERM_WIDTH): Renamed to ...
50842 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
50843 * normal/menu.c (TERM_HEIGHT): Renamed to ...
50844 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
50845 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
50846 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
50847 * normal/menu.c (TERM_MARGIN): Renamed to ...
50848 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
50849 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
50850 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
50851 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
50852 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
50853 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
50854 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
50855 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
50856 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
50857 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
50858 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
50859 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
50860 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
50861 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
50862 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
50863 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
50864 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
50865 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
50866 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
50867 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
50868 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
50869 All callers changed.
50870
50871 * include/grub/normal.h: New prototype.
50872
50873 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
50874 normal/menu_entry.c.
50875 (normal_mod_SOURCES): Likewise.
50876 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
50877 (normal_mod_SOURCES): Likewise.
50878
e6b92c8a 508792005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
50880
50881 * include/grub/normal.h (grub_halt_init): New prototype.
50882 (grub_halt_fini): Likewise.
50883 (grub_reboot_init): Likewise.
50884 (grub_reboot_fini): Likewise.
50885
50886 * util/grub-emu.c: Include signal.h.
50887 (main_env): New global variable.
50888 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
50889 catch C-c.
50890 (grub_machine_fini): New function.
50891 (main): Call grub_halt_init and grub_reboot_init before
50892 grub_main, and grub_reboot_fini and grub_halt_fini after it.
50893 Call setjmp with MAIN_ENV to go back afterwards.
50894 Call grub_machine_fini right before return.
50895
50896 * include/grub/util/misc.h: Include setjmp.h.
50897 (main_env): New prototype.
50898
50899 * include/grub/kernel.h (grub_machine_fini): New prototype.
50900 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
50901 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
50902
50903 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
50904 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
50905 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 50906
e6b92c8a 50907 * util/i386/pc/misc.c: New file.
f19dbdb7 50908
e6b92c8a 50909 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
50910 util/i386/pc/misc.c, commands/i386/pc/halt.c and
50911 commands/i386/pc/reboot.c.
50912
c642636f 509132005-02-14 Guillem Jover <guillem@hadrons.org>
50914
50915 * include/grub/dl.h (grub_dl_check_header): New prototype.
50916 (grub_arch_dl_check_header): Change return type to grub_err_t,
50917 remove size parameter and export function. Update all callers.
50918 * kern/dl.c (grub_dl_check_header): New function.
50919 (grub_dl_load_core): Use `grub_dl_check_header' instead of
50920 `grub_arch_dl_check_header'. Check ELF type. Check if sections
50921 are inside the core.
50922 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
50923 independent ELF header checks.
50924 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
50925 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
50926 `grub_dl_check_header' instead of explicit checks. Check for the
50927 ELF type.
50928 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
50929 `grub_dl_check_header' instead of explicit checks. Remove arch
50930 specific ELF header checks.
50931
e6b92c8a 50932 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
50933 argument SIZE.
50934
5eabe94b 509352005-02-13 Hollis Blanchard <hollis@penguinppc.org>
50936
50937 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
50938 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
50939
1b14a681 509402005-02-12 Hollis Blanchard <hollis@penguinppc.org>
50941
50942 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 50943 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 50944 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 50945 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 50946 * partmap/amiga.c (amiga_partition_map_iterate): Return
50947 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
50948 * partmap/apple.c (apple_partition_map_iterate): Likewise.
50949
aca108aa 509502005-02-01 Guillem Jover <guillem@hadrons.org>
50951
50952 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
50953 help info.
50954
c9f9c556 509552005-01-31 Marco Gerards <metgerards@student.han.nl>
50956
50957 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
50958 Removed prototype.
50959 (grub_rescue_cmd_linux): New prototype.
50960 (grub_rescue_cmd_initrd): Likewise.
50961 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
50962 `bi_rec'.
50963 (grub_linux_release_mem): Release the memory for the initrd.
50964 (grub_load_linux): Renamed from this...
50965 (grub_rescue_cmd_linux): ...To this. Changed all callers.
50966 Changed `entry' not to be static. Loop over memory regions to
50967 find another one when the default fails.
50968 (grub_rescue_cmd_initrd): New function.
50969 (grub_linux_init): Remove function.
50970 (grub_linux_fini): Likewise.
50971 (GRUB_MOD_INIT): Register `initrd'.
50972 (GRUB_MOD_FINI): Unregister `initrd'.
50973 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
50974 Function removed.
50975 (grub_linux_normal_fini): Likewise.
50976 (GRUB_MOD_INIT): Register `initrd'.
50977 (GRUB_MOD_FINI): Unregister `initrd'.
50978
990cf3aa 509792005-01-31 Marco Gerards <metgerards@student.han.nl>
50980
50981 * commands/help.c: New file.
50982 * normal/arg.c (show_help): Renamed to...
50983 (grub_arg_show_help): ... this.
50984 * commands/i386/pc/halt.c: New file.
50985 * commands/i386/pc/reboot.c: Likewise.
50986 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
50987 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
50988 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
50989 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
50990 variables.
50991 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
50992 `commands/help.c'.
50993 (pkgdata_MODULES): Add `help.mod'.
50994 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
50995 * grub/i386/pc/init.h (grub_reboot): New prototype.
50996 (grub_halt): Likewise.
50997 * include/grub/normal.h (grub_arg_show_help): New prototype.
50998 (grub_help_init): Likewise.
50999 (grub_help_fini): Likewise.
51000 * util/grub-emu.c (main): Initialize and deinitialize the help
51001 command.
51002
51003 * normal/cmdline.c (grub_cmdline_get): Doc fix.
51004
51005 * normal/command.c (grub_command_init): Fixed the description of
51006 the `set' and `unset' commands.
51007
510082005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 51009
51010 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
51011 function.
51012 * commands/ieee1275/halt.c: New file.
51013 * commands/ieee1275/reboot.c: Likewise.
51014 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
51015 `__attribute__ ((unused))'. Some GCS related fixed.
51016 (grub_suspend_init) [GRUB_UTIL]: Function removed.
51017 (grub_suspend_fini): Likewise.
51018 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
51019 and `halt.mod'.
51020 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
51021 (halt_mod_CFLAGS): New variables.
51022 * include/grub/powerpc/ieee1275/ieee1275.h
51023 (grub_ieee1275_interpret): New prototype.
51024
1ab09cc7 510252005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
51026
51027 * include/grub/misc.h (memmove): New prototype.
51028 (memcpy): Likewise.
51029
8b8cbdb2 510302005-01-22 Hollis Blanchard <hollis@penguinppc.org>
51031
51032 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
51033 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
51034
e3741a27 510352005-01-22 Marco Gerards <metgerards@student.han.nl>
51036
51037 * kern/misc.c (grub_strndup): Function rewritten.
51038
776bd780 510392005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
51040
51041 * normal/menu.c (TERM_WIDTH): Macro redefined.
51042 (TERM_TOP_BORDER_Y): Likewise.
51043 (draw_border): Replaced while-loop by a for-loop. Make the number
51044 of lines consistent with the number of lines displayed in
51045 print_entries. Added a margin below the rectangle.
51046 (print_entry): Make the entry fit in the rectangle.
51047 (print_entries): Display the scroll arrows next to the right
51048 border.
51049
78026bce 510502005-01-21 Marco Gerards <metgerards@student.han.nl>
51051
51052 * fs/minix.c (grub_minix_find_file): Reserve more space for
51053 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
51054 `grub_strncpy' to copy `path' into it.
51055
67bbaf0f 510562005-01-21 Marco Gerards <metgerards@student.han.nl>
51057
51058 Add the loopback device, a device via which files can be accessed
51059 as devices.
f19dbdb7 51060
67bbaf0f 51061 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
51062 (pkgdata_MODULES): Add loopback.mod.
51063 (loopback_mod_SOURCES): New variable.
51064 (loopback_mod_CFLAGS): Likewise.
51065 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
51066 `disk/loopback.c'.
51067 (pkgdata_MODULES): Add loopback.mod.
51068 (loopback_mod_SOURCES): New variable.
51069 (loopback_mod_CFLAGS): Likewise.
51070 * disk/loopback.c: new file.
51071 * include/grub/normal.h (grub_loop_init): New prototype.
51072 (grub_loop_fini): New prototype.
51073 * util/grub-emu.c (main): Initialize and de-initialize loopback
51074 support.
51075 * include/grub/disk.h (grub_disk_dev_id): Add
51076 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
51077
6f1c18bd 510782005-01-20 Hollis Blanchard <hollis@penguinppc.org>
51079
51080 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
51081 function.
51082 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
51083 (suspend_mod_SOURCES): New variable.
51084 (suspend_mod_CFLAGS): Likewise.
51085 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
51086 New prototype.
51087 * commands/ieee1275/suspend.c: New file.
51088
b38551da 510892005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
51090
51091 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 51092 ((unused))' to `__attribute__ ((used))'.
b38551da 51093 (GRUB_MOD_FINI): Likewise.
51094 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
51095 * genmk.rb (PModule): Assign space to common symbols when linking
51096 modules.
51097
777aff39 510982005-01-20 Marco Gerards <metgerards@student.han.nl>
51099
51100 * include/grub/mm.h (grub_mm_init_region): Change the type of the
51101 `unsigned' arguments to `grub_size_t'.
51102 (grub_malloc): Likewise.
51103 (grub_realloc): Likewise.
51104 (grub_memalign): Likewise.
51105 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
51106 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
51107 * util/misc.c (grub_malloc): Likewise.
51108 (grub_realloc): Likewise.
51109 * kern/mm.c (get_header_from_pointer): Change the casts to
51110 `unsigned' into a cast to `grub_size_t'.
51111
51112 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
51113 point to `currnode' when `currnode' is changed.
51114
51115 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
51116 Schottelius <nico-linux@schottelius.org>.
51117
d0ff18e1 511182005-01-09 Hollis Blanchard <hollis@penguinppc.org>
51119
51120 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
51121 (note_path): Remove variable.
51122 (GRUB_IEEE1275_NOTE_NAME): New macro.
51123 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
51124 (grub_ieee1275_note_hdr): New structure.
51125 (grub_ieee1275_note_desc): Likewise.
51126 (grub_ieee1275_note): Likewise.
51127 (load_note): Remove `dir' argument. All callers updated. Remove
51128 `note_img' and `path'. Do not load a file from `note_path'.
51129 Initialize a struct grub_ieee1275_note and write that to `out'.
51130 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
51131
4ca7004c 511322005-01-05 Marco Gerards <metgerards@student.han.nl>
51133
51134 * util/misc.c (grub_util_read_image): Revert last change. It
51135 called `grub_util_read_at', which seeks from the beginning of the
51136 file.
51137
0b412211 511382005-01-04 Hollis Blanchard <hollis@penguinppc.org>
51139
51140 * TODO: Add note about endianness in grub-mkimage.
51141 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
51142 section.
51143 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
51144 (grub_mkimage_SOURCES): New target.
51145 * include/grub/kernel.h (grub_start_addr): Remove variable.
51146 (grub_end_addr): Likewise.
51147 (grub_total_module_size): Likewise.
51148 (grub_kernel_image_size): Likewise.
51149 (GRUB_MODULE_MAGIC): New constant.
51150 (grub_module_info): New structure.
51151 (grub_arch_modules_addr): New prototype.
51152 (grub_get_end_addr): Remove prototype.
51153 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
51154 * include/grub/powerpc/ieee1275/kernel.h: New file.
51155 * include/grub/util/misc.h (grub_util_get_fp_size): New
51156 prototype.
51157 (grub_util_read_at): Likewise.
51158 (grub_util_write_image_at): Likewise.
51159 * kern/main.c (grub_get_end_addr): Remove function.
51160 (grub_load_modules): Call grub_arch_modules_addr instead of using
51161 grub_end_addr. Look for a grub_module_info struct in memory. Use
51162 the grub_module_info fields instead of calling grub_get_end_addr
51163 as loop conditions. Move grub_add_unused_region code here.
51164 (grub_add_unused_region): Remove function.
51165 * kern/i386/pc/init.c: Include grub/cache.h.
51166 (grub_machine_init): Remove call to grub_get_end_addr. Remove
51167 one call to add_mem_region.
51168 (grub_arch_modules_addr): New function.
51169 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
51170 (grub_total_module_size): Likewise.
51171 Include grub/machine/kernel.h.
51172 (grub_arch_modules_addr): New function.
51173 * util/grub-emu.c (grub_end_addr): Remove variable.
51174 (grub_total_module_size): Likewise.
51175 (grub_arch_modules_addr): New function.
51176 * util/misc.c: Include unistd.h.
51177 (grub_util_get_fp_size): New function.
51178 (grub_util_read_at): Likewise.
51179 (grub_util_write_image_at): Likewise.
51180 (grub_util_read_image): Call grub_util_read_at.
51181 (grub_util_write_image): Call grub_util_write_image_at.
51182 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
51183 additional memory in kernel_img for a struct grub_module_info.
51184 Fill in that grub_module_info.
51185 * util/powerpc/ieee1275/grub-mkimage.c: New file.
51186
458786f8 511872005-01-03 Hollis Blanchard <hollis@penguinppc.org>
51188
51189 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
51190 New function.
51191 * include/grub/powerpc/ieee1275/ieee1275.h
51192 (grub_ieee1275_milliseconds): New prototype.
51193 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
51194 Change to 1000.
51195 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
51196 grub_ieee1275_milliseconds.
51197
ac507d1b 511982005-01-03 Hollis Blanchard <hollis@penguinppc.org>
51199
51200 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
51201 variable.
51202 (find_options): New function.
51203 (cmain): Call find_options.
51204 * include/grub/powerpc/ieee1275/ieee1275.h
51205 (grub_ieee1275_realmode): New extern variable.
51206 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
51207 grub_map if grub_ieee1275_realmode is false.
51208
6b8fd1c4 512092004-12-29 Marco Gerards <metgerards@student.han.nl>
51210
51211 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
51212 lines are inserted and make it work like readline. Reported by
51213 Vincent Pelletier <subdino2004@yahoo.fr>.
51214
8514a1e0 512152004-12-28 Marco Gerards <metgerards@student.han.nl>
51216
51217 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
51218
51219 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
51220 `kern/powerpc/cache.S'.
51221
924b6140 512222004-12-27 Marco Gerards <metgerards@student.han.nl>
51223
51224 * genmk.rb: Handle the `Program' class in the main loop. Written
51225 by Johan Rydberg <jrydberg@gnu.org>.
51226 (Program): New class.
51227 (programs): New variable.
51228 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
51229 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
51230 instead of "grub/kernel.h". Include <grub/machine/init.h>.
51231 (help_arch): Function removed.
51232 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
51233 `powerpc/libgcc.h' and `loader.h'.
51234 (pkgdata_PROGRAMS): New variable.
51235 (sbin_UTILITIES): Variable removed.
51236 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
51237 (grubof_SOURCES): Variable re-defined so it only includes the
51238 core functionality.
51239 (grubof_CFLAGS): Remove `-DGRUBOF'.
51240 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
51241 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
51242 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
51243 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
51244 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
51245 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
51246 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
51247 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
51248 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
51249 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
51250 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
51251 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
51252 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
51253 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
51254 (pc_mod_CFLAGS): New variables.
51255 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
51256 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
51257 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
51258 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
51259 Moved from here...
51260 * include/grub/i386/pc/init.h (grub_os_area_addr)
51261 (rub_os_area_size): ... to here.
51262 * include/grub/powerpc/ieee1275/ieee1275.h
51263 (grub_ieee1275_entry_fn): Export symbol.
51264 * include/grub/powerpc/ieee1275/init.h: New file.
51265 * include/grub/powerpc/libgcc.h: Likewise.
51266 * include/grub/cache.h: Likewise.
51267 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
51268 <hollis@penguinppc.org>.
51269 * kern/dl.c: Include <grub/cache.h>.
51270 (grub_dl_flush_cache): New function.
51271 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
51272 for this module.
51273 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
51274 (grub_console_init): Removed prototypes.
51275 (grub_machine_init): Don't initialize the modules anymore.
51276 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
51277 static.
51278 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
51279 Macro undef removed.
51280 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
51281 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
51282 relocation `R_PPC_REL32'. Return an error when the relocation is
51283 unknown.
51284 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
51285 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
51286 * util/misc.c (grub_arch_sync_caches): Likewise.
51287
e4b47e0c 512882004-12-19 Marco Gerards <metgerards@student.han.nl>
51289
51290 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
51291 `symlist.c', add `grubof_symlist.c'.
51292 (symlist.c): Variable removed.
51293 (grubof_HEADERS): Variable added.
51294 (grubof_symlist.c): New target.
51295 (kernel_syms.lst): Use `grubof_HEADERS' instead of
51296 `kernel_img_HEADERS'.
51297 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
51298 * kern/powerpc/dl.c: New file.
51299 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
51300 Function removed.
51301 (grub_arch_dl_relocate_symbols): Likewise.
51302 (grub_register_exported_symbols): Likewise.
51303
4ceb3636 513042004-12-13 Marco Gerards <metgerards@student.han.nl>
51305
51306 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
51307 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
51308 to fail instead. Reported by Vincent Pelletier
51309 <subdino2004@yahoo.fr>.
51310
51311 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
51312 it is not allocated. Reported by Vincent Pelletier
51313 <subdino2004@yahoo.fr>.
51314
51315 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
51316 output so the output looks better.
f19dbdb7 51317
3f1578fe 513182004-12-04 Marco Gerards <metgerards@student.han.nl>
51319
51320 Modulize the partition map support and add support for the amiga
51321 partition map.
f19dbdb7 51322
3f1578fe 51323 * commands/ls.c: Include <grub/partition.h> instead of
51324 <grub/machine/partition.h>.
51325 * kern/disk.c: Likewise.
51326 * kern/rescue.c: Likewise.
51327 * loader/i386/pc/chainloader.c: Likewise.
51328 * normal/cmdline.c: Likewise.
51329 * kern/powerpc/ieee1275/init.c: Likewise.
51330 (grub_machine_init): Call `grub_pc_partition_map_init',
51331 `grub_amiga_partition_map_init' and
51332 `grub_apple_partition_map_init'.
51333 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
51334 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
51335 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
51336 `partition.h' and `pc_partition.h'.
51337 (grub_setup_SOURCES): Remove
51338 `disk/i386/pc/partition.c'. Add `kern/partition.c',
51339 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
51340 (grub_emu_SOURCES): Likewise.
51341 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
51342 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
51343 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
51344 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
51345 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
51346 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
51347 (grubof_SOURCES): Likewise.
51348 * disk/i386/pc/partition.c: File removed.
51349 * disk/powerpc/ieee1275/partition.c: Likewise.
51350 * include/grub/powerpc/ieee1275/partition.h: Likewise.
51351 * include/grub/i386/pc/partition.h: Likewise.
51352 * kern/partition.c: New file.
51353 * partmap/amiga.c: Likewise.
51354 * partmap/apple.c: Likewise.
51355 * partmap/pc.c: Likewise.
51356 * include/grub/partition.h: Likewise..
51357 * include/grub/pc_partition.h: Likewise.
51358 * util/grub-emu.c: Include <grub/partition.h> instead of
51359 <grub/machine/partition.h>.
51360 (main): Call `grub_pc_partition_map_init',
51361 `grub_amiga_partition_map_init' and
51362 `grub_apple_partition_map_init' and deinitialize afterwards.
51363 * util/i386/pc/biosdisk.c: Include `#include
51364 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
51365 `<grub/machine/partition.h>'.
51366 * util/i386/pc/grub-setup.c: Likewise.
51367 * util/i386/pc/biosdisk.c: Likewise.
51368 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
51369 partition information in case of a PC partition.
51370 * util/i386/pc/grub-setup.c: Include `#include
51371 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
51372 `<grub/machine/partition.h>'.
51373 (setup): Only access the PC specific partition information in case
51374 of a PC partition.
51375
0ef4ced9 513762004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 51377
0ef4ced9 51378 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
51379 (grub_longjmp): Likewise.
51380 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
51381 20.
51382 * normal/powerpc/setjmp.S: New file.
51383 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
51384 `normal/powerpc/setjmp.S'.
51385 (grubof_CFLAGS): Add `-DGRUBOF'.
51386 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
51387 [GRUB_UTIL && !GRUBOF].
f19dbdb7 51388
19950e29 513892004-11-16 Marco Gerards <metgerards@student.han.nl>
51390
51391 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
51392 property named `name'. Correctly handle the error returned by
51393 `grub_ieee1275_finddevice' if a device can not be opened.
51394
a2fea427 513952004-11-02 Hollis Blanchard <hollis@penguinppc.org>
51396
51397 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
51398 `actual' for negativity.
51399 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
51400 kern/fshelp.c.
51401
41ea0ea3 514022004-11-01 Marco Gerards <metgerards@student.han.nl>
51403
51404 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
51405 (PAGE_OFFSET): New macro.
51406 (CRTC_ADDR_PORT): Likewise.
51407 (CRTC_DATA_PORT): Likewise.
51408 (START_ADDR_HIGH_REGISTER): Likewise.
51409 (START_ADDR_LOW_REGISTER): Likewise.
51410 (GRAPHICS_ADDR_PORT): Likewise.
51411 (GRAPHICS_DATA_PORT): Likewise.
51412 (READ_MAP_REGISTER): Likewise.
51413 (INPUT_STATUS1_REGISTER): Likewise.
51414 (INPUT_STATUS1_VERTR_BIT): Likewise.
51415 (page): New variable.
51416 (wait_vretrace): New function.
51417 (set_read_map): Likewise.
51418 (set_start_address): Likewise.
51419 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
51420 the right page.
51421 (check_vga_mem): Take the page into account.
51422 (write_char): Likewise.
51423 (write_cursor): Likewise.
51424 (scroll_up): Likewise. Copy the page to the page that is not
51425 shown and switch between both pages.
51426 (grub_vga_putchar): Fix off by one error.
51427 (grub_vga_cls): Wait for the vertical retrace. Take the page into
51428 account.
51429
ad0bd20b 514302004-11-01 Marco Gerards <metgerards@student.han.nl>
51431
51432 Add support for iso9660 (including rockridge).
f19dbdb7 51433
ad0bd20b 51434 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
51435 (iso9660_mod_SOURCES): New variable.
51436 (iso9660_mod_CFLAGS): Likewise.
51437 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
51438 * include/grub/fs.h (grub_iso9660_init): New prototype.
51439 * util/grub-emu.c (main): Call `grub_iso9660_init'.
51440 * fs/iso9660.c: New file.
51441
51442 * include/grub/misc.h (grub_strncat): New prototype.
51443 * kern/misc.c (grub_strncat): New function.
f19dbdb7 51444
ad0bd20b 51445 * fs/hfs.c (grub_hfs_mount): Translate the error
51446 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
51447 * fs/jfs.c (grub_jfs_mount): Likewise.
51448 * fs/ufs.c (grub_ufs_mount): Likewise.
51449
a5477a59 514502004-10-28 Hollis Blanchard <hollis@penguinppc.org>
51451
51452 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
51453 which initialized BAT registers.
51454 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
51455 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
51456 Move from here...
51457 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
51458 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
51459 ... to here.
51460 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
51461 (grub_mapclaim): Likewise.
51462 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
51463 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
51464 hand.
51465
9304c1f8 514662004-10-19 Hollis Blanchard <hollis@penguinppc.org>
51467
51468 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
51469 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
51470 -ffreestanding and -msoft-float.
51471
86f4ae25 514722004-10-15 Hollis Blanchard <hollis@penguinppc.org>
51473
51474 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
51475 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
51476 set in grub_ieee1275_flags.
51477
38912228 514782004-10-14 Hollis Blanchard <hollis@penguinppc.org>
51479
51480 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
51481 prototype.
51482 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
51483 grub_console_init first.
51484 Change the memory range used for grub_ieee1275_claim and
51485 grub_mm_init_region.
51486 Print an error message if the claim fails.
51487 Include <grub/misc.h>.
51488
d1923dc8 514892004-10-13 Hollis Blanchard <hollis@penguinppc.org>
51490
51491 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
51492 Call grub_children_iterate for device nodes of type `scsi',
51493 `ide', or `ata'.
51494 (grub_ofdisk_open): Remove manual device alias resolution.
51495 Fix memory leak when device cannot be opened.
f19dbdb7 51496 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 51497 (grub_children_iterate): New prototype.
51498 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
51499 New function.
51500 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
51501 Return -1 if args.size was -1.
51502
4512e4f3 515032004-10-11 Hollis Blanchard <hollis@penguinppc.org>
51504
51505 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
51506 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
51507 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
51508 Open Firmware's memory for it; claim memory from _start to _end.
51509 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
51510 (_end): New extern.
51511 (_start): Zero BSS from __bss_start to _end.
51512 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
51513 New extern.
51514 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
51515
4d61feb0 515162004-10-11 Hollis Blanchard <hollis@penguinppc.org>
51517
ad0bd20b 51518 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
51519 -1 if args.base was -1.
4d61feb0 51520
026fa2f9 515212004-10-08 Hollis Blanchard <hollis@penguinppc.org>
51522
51523 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
51524 escape sequence instead of a literal ^L. Also call
51525 grub_ofconsole_gotoxy.
51526
9f2220ef 515272004-10-03 Hollis Blanchard <hollis@penguinppc.org>
51528
51529 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
51530 void * arguments to grub_addr_t. All callers updated. Also make
51531 the `result' argument optional.
51532 (grub_ieee1275_release): change void * arguments to grub_addr_t.
51533 All callers updated.
51534
8a572cd7 515352004-09-22 Hollis Blanchard <hollis@penguinppc.org>
51536
51537 * commands/ls.c (grub_ls_list_files): Use the string following the
51538 initial ')', if present, as the filesystem path.
51539 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
51540
51541 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
51542
18aa81f2 515432004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
51544
51545 Make the source code of the menu interface more readable.
f19dbdb7 51546
18aa81f2 51547 * normal/menu.c: Include grub/mm.h.
51548 (TERM_WIDTH): New macro.
51549 (TERM_HEIGHT): Likewise.
51550 (TERM_INFO_HEIGHT): Likewise.
51551 (TERM_MARGIN): Likewise.
51552 (TERM_SCROLL_WIDTH): Likewise.
51553 (TERM_TOP_BORDER_Y): Likewise.
51554 (TERM_LEFT_BORDER_X): Likewise.
51555 (TERM_BORDER_WIDTH): Likewise.
51556 (TERM_MESSAGE_HEIGHT): Likewise.
51557 (TERM_BORDER_HEIGHT): Likewise.
51558 (TERM_NUM_ENTRIES): Likewise.
51559 (TERM_FIRST_ENTRY_Y): Likewise.
51560 (TERM_ENTRY_WIDTH): Likewise.
51561 (TERM_CURSOR_X): Likewise.
51562 (draw_border): Use macros instead of magic numbers.
51563 (print_entry): Likewise.
51564 (print_entries): Likewise.
51565 (run_menu): Likewise. Also, handle the key 'e'.
51566 (run_menu_entry): Ignore empty command lines.
51567 (print_message): Added a new argument EDIT. If EDIT is true,
51568 print a different message.
51569 (init_page): Likewise.
51570 (edit_menu_entry): New function. Not implemented yet.
51571
b47efe30 515722004-09-17 Marco Gerards <metgerards@student.han.nl>
51573
51574 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
51575 can be loaded from normal mode.
f19dbdb7 51576
b47efe30 51577 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
51578 `multiboot.mod'.
51579 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
51580 (multiboot_mod_CFLAGS): New variables.
51581 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 51582 * loader/i386/pc/multiboot_normal.c: Likewise.
51583
b47efe30 51584 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
51585 attribute `unused'.
f19dbdb7 51586
b47efe30 51587 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
51588 `fdiro' to read the mode information from instead of `diro'.
51589
51590 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
51591 looking up a symlink.
51592
51593 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
51594 macro.
51595 * normal/command.c (grub_command_execute): Don't parse the
51596 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
51597 flags of the command.
51598
51599 * normal/menu.c (grub_menu_run): Fix typo.
51600
da75ac71 516012004-09-14 Hollis Blanchard <hollis@penguinppc.org>
51602
51603 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
51604
51605 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
51606 `y + 1' instead of `y - 1'.
51607
51608 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 51609
062b24c2 516102004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
51611
51612 From Hollis Blanchard <hollis@penguinppc.org>:
51613 * kern/misc.c (memmove): New alias for grub_memmove.
51614 (memcmp): New alias for grub_memcmp.
51615 (memset): New alias for grub_memset.
f19dbdb7 51616 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 51617 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 51618 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 51619 (grub_ieee1275_get_property): Likewise.
f19dbdb7 51620
8ddad845 516212004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
51622
51623 Added normal mode command `chainloader' as module chain.mod, which
51624 depends on normal.mod and _chain.mod.
f19dbdb7 51625
8ddad845 51626 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
51627 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
51628 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
51629 Deleted prototype.
51630 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
51631 but arguments parsing moved to ...
51632 (grub_chainloader_cmd): ... here. New function.
51633 * include/grub/i386/pc/chainloader.h: New file.
51634 * loader/i386/pc/chainloader_normal.c: Likewise.
51635
2c1f4ce3 516362004-09-11 Marco Gerards <metgerards@student.han.nl>
51637
51638 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
51639 (grub_mkimage_LDFLAGS): Likewise.
51640 (grub_emu_SOURCES): Likewise.
51641 (kernel_img_HEADERS): Added fshelp.h.
51642 * fs/ext2.c: Include <grub/fshelp.h>.
51643 (FILETYPE_REG): New macro.
51644 (FILETYPE_INO_REG): Likewise.
51645 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
51646 Changed all users.
51647 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
51648 all users.
51649 (grub_fshelp_node): New struct.
51650 (grub_ext2_data): Added member `diropen'. Changed member `inode'
51651 to a pointer.
51652 (grub_ext2_get_file_block): Removed function.
51653 (grub_ext2_read_block): New function.
51654 (grub_ext2_read_file): Replaced parameter `data' by `node'.
51655 This function was written.
51656 (grub_ext2_mount): Read the root inode. Create a diropen struct.
51657 (grub_ext2_find_file): Removed function.
51658 (grub_ext2_read_symlink): New function.
51659 (grub_ext2_iterate_dir): Likewise.
51660 (grub_ext2_open): Rewritten.
51661 (grub_ext2_dir): Rewritten.
51662 * include/grub/fshelp.h: New file.
51663 * fs/fshelp.c: Likewise.
51664
3c52136a 516652004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
51666
51667 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
51668 (print_message): Add a missing newline.
51669 (run_menu): Added timeout support.
51670 (run_menu_entry): New local function.
51671 (grub_menu_run): Added support for booting.
51672
51673 * kern/loader.c (grub_loader_is_loaded): New function.
51674
51675 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
51676 (grub_get_rtc): Exported.
51677
51678 * include/grub/i386/pc/time.h: Include grub/symbol.h.
51679 (grub_get_rtc): Exported.
51680
51681 * include/grub/normal.h (struct grub_command_list): Remove
51682 constant from the member `command'.
51683
51684 * include/grub/loader.h (grub_loader_is_loaded): Declared.
51685
51686 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
51687
51688 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
51689
aa033560 516902004-08-28 Marco Gerards <metgerards@student.han.nl>
51691
51692 Add support for the JFS filesystem.
51693
51694 * fs/jfs.c: New file.
51695 * include/grub/fs.h (grub_jfs_init): New prototype.
51696 (grub_jfs_fini): New prototype.
51697 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
51698 (grub_emu_SOURCES): Likewise.
51699 (pkgdata_MODULES): Add jfs.mod.
51700 (jfs_mod_SOURCES): New variable.
51701 (jfs_mod_CFLAGS): Likewise.
51702 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
51703 (grubof_SOURCES): Likewise.
51704 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
51705
51706 * fs/fat.c (grub_fat_find_dir): Convert the filename little
51707 endian to the host endian.
51708 (grub_fat_utf16_to_utf8): Move function from there...
51709 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 51710 the endianness of the source string anymore.
aa033560 51711 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
51712
94bc45af 517132004-08-24 Marco Gerards <metgerards@student.han.nl>
51714
51715 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
51716 (grub_boot_fini) [GRUB_UTIL]: Likewise.
51717 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
51718 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 51719
94bc45af 51720 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
51721 (grub_hfs_iterate_dir): Make the function static. Add prototypes
51722 for `node_found' and `it_dir'.
51723 (grub_hfs_dir): Add prototype for `dir_hook'.
51724
51725 * fs/minix.c (grub_minix_get_file_block): Add prototype for
51726 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
51727 and `indir32' to silence a gcc warning.
51728
51729 * include/grub/fs.h (grub_hfs_init): New prototype.
51730 (grub_hfs_fini): Likewise.
f19dbdb7 51731
51732
97543f08 517332004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
51734
51735 Each disk device has its own id now. This is useful to make use
51736 of multiple disk devices.
f19dbdb7 51737
97543f08 51738 * include/grub/disk.h (grub_disk_dev_id): New enum.
51739 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
51740 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
51741
51742 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
51743 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
51744
51745 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
51746 GRUB_DISK_DEVICE_OFDISK_ID as an id.
51747
51748 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
51749 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
51750
51751 * include/grub/disk.h (struct grub_disk_dev): Added a new member
51752 "id" which is used by the cache manager.
51753
51754 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
51755 of just "GRUB".
51756
64372eb4 517572004-08-18 Marco Gerards <metgerards@student.han.nl>
51758
51759 * fs/hfs.c: New file.
51760 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
51761 (grub_emu_SOURCES): Likewise.
51762 (pkgdata_MODULES): Add hfs.mod.
51763 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
51764 (grubof_SOURCES): Likewise.
51765 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
51766
51767 * include/grub/misc.h (grub_strncasecmp): Add prototype.
51768 * kern/misc.c (grub_strncasecmp): Add function.
51769
cc61b58f 517702004-08-14 Marco Gerards <metgerards@student.han.nl>
51771
51772 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
51773 with parentheses.
51774
51775 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
51776 (grub_ext2_dir): In case the directory entry type is unknown, read
51777 it from the inode.
51778
0ef123f6 517792004-08-02 Peter Bruin <pjbruin@dds.nl>
51780
51781 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
51782 grub_load_linux instead of grub_rescue_cmd_linux as second
51783 argument of grub_rescue_register_command.
51784
51785 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
51786
a447c5df 517872004-07-27 Marco Gerards <metgerards@student.han.nl>
51788
51789 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
51790 function.
51791 * commands/boot.c: Remove the check for `GRUB_UTIL'.
51792 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
51793 `loader/powerpc/ieee1275/linux.c',
51794 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
51795 * include/grub/powerpc/ieee1275/ieee1275.h
51796 (grub_ieee1275_release): New prototype.
51797 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
51798 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
51799 normal, boot, linux and linux_normal.
51800 * loader/powerpc/ieee1275/linux.c: New file.
51801 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
51802
5a9e3546 518032004-07-12 Marco Gerards <metgerards@student.han.nl>
51804
51805 * normal/arg.c (grub_arg_parse): Correct error handling after
51806 reallocating the argumentlist (check if `argl' is not null instead
51807 of checking if `args' is not null).
51808 * kern/mm.c (grub_realloc): Return the same pointer when using the
51809 same region, instead of returning the header address.
51810
e15199cb 518112004-07-11 Marco Gerards <metgerards@student.han.nl>
51812
51813 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
51814 one block instead of two when looking for the initial partition.
51815 (grub_partition_probe): Initialize the local variable `p' with 0.
51816 Use base 10 for the grub_strtoul call.
51817 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
51818 need for one local variable.
51819 (grub_strtoul): Don't add the new value to `num', instead of that
51820 just assign it.
51821
020616c2 518222004-07-11 Marco Gerards <metgerards@student.han.nl>
51823
51824 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
51825 (pxeboot_img_SOURCES): New variable.
51826 (pxeboot_img_ASFLAGS): Likewise.
51827 (pxeboot_img_LDFLAGS): Likewise.
51828 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
51829 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
51830 <lode_leroy@hotmail.com>.
51831
6c51eb64 518322004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
51833
51834 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
51835 there was no input.
51836
cfb12aff 518372004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
51838
51839 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
51840 the history buffer logic.
51841
6eabba74 518422004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
51843
51844 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
51845 (FILETYPE_INO_SYMLINK): New macros.
51846 (grub_ext2_find_file): Check if the node is a directory using the
51847 inode stat information instead of using the filetype in the
51848 dirent. Exclude the first character of an absolute symlink.
51849 (grub_ext2_dir): Mask out the filetype part of the mode member of
51850 the inode.
51851
66e19ef8 518522004-05-24 Marco Gerards <metgerards@student.han.nl>
51853
51854 Add support for UFS version 1 and 2. Add support for the minix
51855 filesystem version 1 and 2, both the variants with 14 and 30 long
51856 filenames.
f19dbdb7 51857
66e19ef8 51858 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
51859 fs/minix.c.
51860 (grub_emu_SOURCES): Likewise.
51861 (pkgdata_MODULES): Add ufs.mod and minix.mod.
51862 (ufs_mod_SOURCES): New variable.
51863 (ufs_mod_CFLAGS): Likewise.
51864 (minix_mod_SOURCES): Likewise.
51865 (minix_mod_CFLAGS): Likewise.
51866 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
51867 fs/minix.c.
51868 (grubof_SOURCES): Likewise.
51869 * fs/ufs.c: New file.
51870 * fs/minix.c: New file.
51871 * include/grub/fs.h (grub_ufs_init): New prototype.
51872 (grub_ufs_fini): Likewise.
51873 (grub_minix_init): Likewise.
51874 (grub_minix_fini): Likewise.
51875 * util/grub-emu.c (main): Initialize and deinitialize UFS and
51876 minix fs.
51877
cc2e748a 518782004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
51879
51880 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
51881 commands/ls.c, commands/terminal.c, commands/boot.c,
51882 commands/cmp.c and commands/cat.c.
51883 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
51884
51885 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
51886 "env.h"
51887
4b13b216 518882004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
51889
51890 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
51891 and grub_, respectively. Because the conversion is trivial and
51892 mechanical, I omit the details here. Please refer to the CVS
51893 if you need more information.
51894
6a142551 518952004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
51896
51897 * include/pupa: Renamed to ...
51898 * include/grub: ... this.
51899 * util/i386/pc/pupa-mkimage.c: Renamed to ...
51900 * util/i386/pc/grub-mkimage.c: ... this.
51901 * util/i386/pc/pupa-setup.c: Renamed to ...
51902 * util/i386/pc/grub-setup.c: ... this.
51903 * util/pupa-emu.c: Renamed to ...
51904 * util/grub-emu.c: ... this.
51905
e56cdf21 519062004-03-29 Marco Gerards <metgerards@student.han.nl>
51907
51908 Add support for the newworld apple macintosh (PPC). This has been
51909 tested on the powerbook 2000 only. It only adds support for
51910 generic ieee1275 functions, console and disk support. This should
51911 be easy to port to other architectures with support for Open
51912 Firmware.
f19dbdb7 51913
e56cdf21 51914 * configure.ac: Accept the powerpc as host_cpu. In the case of
51915 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
51916 specific tests are only executed while building for the i386.
51917 Inverse test for crosscompile.
51918 * genmk.rb (Utility): Allow assembler files.
51919 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
51920 * conf/powerpc-ieee1275.rmk: New file.
51921 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
51922 * disk/powerpc/ieee1275/partition.c: Likewise.
51923 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
51924 * include/pupa/powerpc/ieee1275/console.h: Likewise.
51925 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
51926 * include/pupa/powerpc/ieee1275/time.h: Likewise.
51927 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
51928 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
51929 * include/pupa/powerpc/ieee1275/loader.h
51930 * include/pupa/powerpc/setjmp.h: Likewise.
51931 * include/pupa/powerpc/types.h: Likewise.
51932 * kern/powerpc/ieee1275/init.c: Likewise.
51933 * kern/powerpc/ieee1275/openfw.c: Likewise.
51934 * term/powerpc/ieee1275/ofconsole.c: Likewise.
51935
51936 These files were written by Johan Rydberg
51937 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 51938
e56cdf21 51939 * boot/powerpc/ieee1275/cmain.c: New file.
51940 * boot/powerpc/ieee1275/crt0.S: Likewise.
51941 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
51942 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
51943
8c8cc205 519442004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
51945
51946 * Makefile.in: Update copyright.
51947 * genmodsrc.sh: Likewise.
51948 * gensymlist.sh: Likewise.
51949 * term/i386/pc/vga.c: Indent correctly.
51950
51951 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
51952 bugreporting address.
51953 * util/i386/pc/pupa-setup.c (usage): Likewise,
51954 (main): Call pupa_ext2_init and pupa_ext2_fini.
51955
f19dbdb7 51956 * fs/fat.c (log2): Renamed to ...
8c8cc205 51957 (fat_log2): ... this.
51958 All callers changed.
51959 * kern/misc.c (memcpy): Alias to pupa_memmove.
51960 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
51961 lvalue cast.
51962 * util/console.c (pupa_ncurses_fini): Return 0.
51963
51964 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
51965 Move fail label here.
51966 [__GNU__]: Don't warn when using stat.
51967 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
51968 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
51969 long int. Use strtol instead of strtoul.
f19dbdb7 51970
db1771cf 519712004-03-14 Marco Gerards <metgerards@student.han.nl>
51972
51973 * commands/boot.c: New file.
51974 * commands/cat.c: Likewise.
51975 * commands/cmp.c: Likewise.
51976 * commands/ls.c: Likewise.
51977 * commands/terminal.c: Likewise.
51978 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
51979 (pupa_register_command): Changed interface to match the new
51980 argument parser.
51981 (pupa_command_execute): Changed (almost rewritten) so it uses
51982 pupa_split_command. Added support for setting variables using the
51983 syntax `foo=bar'.
51984 (rescue_command): Changed to work with the new argument parser.
51985 (terminal_command): Moved from here to commands/terminal.c.
51986 (set_command): New function.
51987 (unset_command): New function.
51988 (insmod_command): New function.
51989 (rmmod_command): New function.
51990 (lsmod_command): New function.
51991 (pupa_command_init): Don't initialize the command terminal
51992 anymore. Initialize the commands set, unset, insmod, rmmod and
51993 lsmod.
51994 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
51995 (kernel_img_HEADERS): Add arg.h and env.h.
51996 (pupa_mkimage_LDFLAGS): Add kern/env.c.
51997 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
51998 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
51999 normal/arg.c.
52000 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
52001 terminal.mod.
52002 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
52003 (boot_mod_SOURCES): New variable.
52004 (terminal_mod_SOURCES): Likewise.
52005 (ls_mod_SOURCES): Likewise.
52006 (cmp_mod_SOURCES): Likewise.
52007 (cat_mod_SOURCES): Likewise.
52008
52009 * normal/arg.c: New file.
52010 * kern/env.c: Likewise.
52011 * include/pupa/arg.h: Likewise.
52012 * include/pupa/env.h: Likewise.
52013 * font/manager.c (font_command): Changed to match argument parsing
52014 interface changes.
52015 (PUPA_MOD_INIT): Likewise.
52016 * hello/hello.c (pupa_cmd_hello): Likewise.
52017 (PUPA_MOD_INIT): Likewise.
52018 * include/pupa/disk.h: Include <pupa/device.h>.
52019 (pupa_print_partinfo): New prototype.
52020 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
52021 (pupa_dl_get_prefix): Likewise.
52022 * include/pupa/misc.h: Include <pupa/err.h>.
52023 (pupa_isgraph): New prototype.
52024 (pupa_isdigit): Likewise.
52025 (pupa_split_cmdline): Likewise.
52026 * include/pupa/normal.h: Include <pupa/arg.h>.
52027 (pupa_command): Changed the prototype of the member `func' to
52028 match the argument parsing interface. Added member `options'.
52029 (pupa_register_command): Updated to match function.
52030 (pupa_arg_parse): New prototype.
52031 (pupa_hello_init) [PUPA_UTIL]: New prototype.
52032 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
52033 (pupa_ls_init) [PUPA_UTIL]: Likewise.
52034 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
52035 (pupa_cat_init) [PUPA_UTIL]: Likewise.
52036 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
52037 (pupa_boot_init) [PUPA_UTIL]: Likewise.
52038 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
52039 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
52040 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
52041 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
52042 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
52043 * kern/disk.c: Include <pupa/file.h>.
52044 (pupa_print_partinfo): New function.
52045 * kern/dl.c: Include <pupa/env.h>.
52046 (pupa_dl_dir): Variable removed.
52047 (pupa_dl_load): Use the environment variable `prefix' instead of
52048 the variable pupa_dl_dir.
52049 (pupa_dl_set_prefix): Function removed.
52050 (pupa_dl_get_prefix): Likewise.
52051 * kern/i386/pc/init.c: Include <pupa/env.h>.
52052 (pupa_machine_init): Use the environment variable `prefix' instead of
52053 using pupa_dl_set_prefix to set the prefix.
52054 * kern/main.c: Include <pupa/env.h>.
52055 (pupa_set_root_dev): Use the environment variable `prefix' instead of
52056 using pupa_dl_get_prefix to get the prefix.
52057 * kern/misc.c: Include <pupa/env.h>.
52058 (pupa_isdigit): New function.
52059 (pupa_isgraph): Likewise.
52060 (pupa_ftoa): Likewise.
52061 (pupa_vsprintf): Added support for printing values of the type
52062 `double'. Make it possible to format variable output when using
52063 formatting like `%1.2%f'.
52064 (pupa_split_cmdline): New function.
52065 * kern/rescue.c: Include <pupa/env.h>.
52066 (next_word): Removed function.
52067 (pupa_rescue_cmd_prefix): Likewise.
52068 (pupa_rescue_cmd_set): New function.
52069 (pupa_rescue_cmd_unset): New function.
52070 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
52071 split the command line instead of splitting it here. Added
52072 support for setting variables using the syntax `foo=bar'. Don't
52073 initialize the prefix command anymore. Initialized the set and
52074 unset commands.
52075 * normal/cmdline.c: Include <pupa/env.h>.
52076 (pupa_tab_complete): Added prototypes for print_simple_completion,
52077 print_partition_completion, add_completion, iterate_commands,
52078 iterate_dev, iterate_part and iterate_dir. Moved code to print
52079 partition information from here to kern/disk.c.
fe6b695a 52080 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 52081 * normal/main.c: Include <pupa/env.h>.
52082 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
52083 instead of using pupa_dl_get_prefix to get the prefix.
52084 * term/i386/pc/vga.c: Include <pupa/arg.h>.
52085 (check_vga_mem): Cast pointers to `void *' to silence a gcc
52086 warning.
52087 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
52088 (pupa_vga_setcolor): Declare unused variables with `__attribute__
52089 ((unused))' to silence a gcc warning.
52090 (pupa_vga_setcolor): Likewise.
52091 (debug_command): Changed to match argument parsing
52092 interface changes.
52093 * util/pupa-emu.c: Include <pupa/env.h>.
52094 (options): Added 0's for unused fields to silence a gcc warning.
52095 (argp): Likewise.
52096 (main): Use the environment variable `prefix' instead of using
52097 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
52098 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
52099 and terminal.
52100
52101 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
52102 * util/misc.c: Include <malloc.h>.
52103 (pupa_malloc): Rewritten so errors are correctly reported.
52104 (pupa_realloc): Likewise.
52105 (pupa_memalign): Likewise.
52106 (pupa_mm_init_region): Declare unused variables with
52107 `__attribute__ ((unused))' to silence a gcc warning.
52108 * normal/i386/setjmp.S: Remove tab at the end of the file to
52109 silence a gcc warning.
52110 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
52111 variables with `__attribute__ ((unused))' to silence a gcc
52112 warning.
52113 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
52114 local variable i unsigned to silence a gcc warning.
52115
52116 * kern/term.c: Include <pupa/misc.h>.
52117 (pupa_more_lines): New variable.
52118 (pupa_more): Likewise.
52119 (pupa_putcode): When the pager is active pause at the end of every
52120 screen.
52121 (pupa_set_more): New function.
52122 * include/pupa/term.h (pupa_set_more): New prototype.
52123
52124
3b1139cb 521252004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
52126
52127 Now this project is GRUB 2 rather than PUPA. The location of
52128 the CVS repository was moved to GRUB's.
f19dbdb7 52129
3b1139cb 52130 * configure.ac: Use bug-grub as the reporting address.
52131 Use GRUB instead of PUPA.
52132 Change the version number to 1.90.
52133
8367695c 521342004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
52135
52136 * genkernsyms.sh: Updated copyright information.
52137 * genmk.rb: Likewise.
52138 * genmodsrc.sh: Likewise.
52139 * gensymlist.sh: Likewise.
52140 * boot/i386/pc/boot.S: Likewise.
52141 * boot/i386/pc/diskboot.S: Likewise.
52142 * disk/i386/pc/biosdisk.c: Likewise.
52143 * disk/i386/pc/partition.c: Likewise.
52144 * font/manager.c: Likewise.
52145 * fs/ext2.c: Likewise.
52146 * fs/fat.c: Likewise.
52147 * include/pupa/boot.h: Likewise.
52148 * include/pupa/device.h: Likewise.
52149 * include/pupa/disk.h: Likewise.
52150 * include/pupa/dl.h: Likewise.
52151 * include/pupa/elf.h: Likewise.
52152 * include/pupa/err.h: Likewise.
52153 * include/pupa/file.h: Likewise.
52154 * include/pupa/font.h: Likewise.
52155 * include/pupa/fs.h: Likewise.
52156 * include/pupa/kernel.h: Likewise.
52157 * include/pupa/loader.h: Likewise.
52158 * include/pupa/misc.h: Likewise.
52159 * include/pupa/mm.h: Likewise.
52160 * include/pupa/net.h: Likewise.
52161 * include/pupa/normal.h: Likewise.
52162 * include/pupa/rescue.h: Likewise.
52163 * include/pupa/setjmp.h: Likewise.
52164 * include/pupa/symbol.h: Likewise.
52165 * include/pupa/term.h: Likewise.
52166 * include/pupa/types.h: Likewise.
52167 * include/pupa/i386/setjmp.h: Likewise.
52168 * include/pupa/i386/types.h: Likewise.
52169 * include/pupa/i386/pc/biosdisk.h: Likewise.
52170 * include/pupa/i386/pc/boot.h: Likewise.
52171 * include/pupa/i386/pc/console.h: Likewise.
52172 * include/pupa/i386/pc/init.h: Likewise.
52173 * include/pupa/i386/pc/kernel.h: Likewise.
52174 * include/pupa/i386/pc/linux.h: Likewise.
52175 * include/pupa/i386/pc/loader.h: Likewise.
52176 * include/pupa/i386/pc/memory.h: Likewise.
52177 * include/pupa/i386/pc/multiboot.h: Likewise.
52178 * include/pupa/i386/pc/partition.h: Likewise.
52179 * include/pupa/i386/pc/time.h: Likewise.
52180 * include/pupa/i386/pc/vga.h: Likewise.
52181 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
52182 * include/pupa/util/getroot.h: Likewise.
52183 * include/pupa/util/misc.h: Likewise.
52184 * include/pupa/util/resolve.h: Likewise.
52185 * kern/device.c: Likewise.
52186 * kern/disk.c: Likewise.
52187 * kern/dl.c: Likewise.
52188 * kern/err.c: Likewise.
52189 * kern/file.c: Likewise.
52190 * kern/fs.c: Likewise.
52191 * kern/loader.c: Likewise.
52192 * kern/main.c: Likewise.
52193 * kern/misc.c: Likewise.
52194 * kern/mm.c: Likewise.
52195 * kern/rescue.c: Likewise.
52196 * kern/term.c: Likewise.
52197 * kern/i386/dl.c: Likewise.
52198 * kern/i386/pc/init.c: Likewise.
52199 * kern/i386/pc/lzo1x.S: Likewise.
52200 * kern/i386/pc/startup.S: Likewise.
52201 * loader/i386/pc/chainloader.c: Likewise.
52202 * loader/i386/pc/linux.c: Likewise.
52203 * loader/i386/pc/multiboot.c: Likewise.
52204 * normal/cmdline.c: Likewise.
52205 * normal/command.c: Likewise.
52206 * normal/main.c: Likewise.
52207 * normal/menu.c: Likewise.
52208 * normal/i386/setjmp.S: Likewise.
52209 * term/i386/pc/console.c: Likewise.
52210 * term/i386/pc/vga.c: Likewise.
52211 * util/console.c: Likewise.
52212 * util/genmoddep.c: Likewise.
52213 * util/misc.c: Likewise.
52214 * util/pupa-emu.c: Likewise.
52215 * util/resolve.c: Likewise.
52216 * util/unifont2pff.rb: Likewise.
52217 * util/i386/pc/biosdisk.c: Likewise.
52218 * util/i386/pc/getroot.c: Likewise.
52219 * util/i386/pc/pupa-mkimage.c: Likewise.
52220 * util/i386/pc/pupa-setup.c: Likewise.
52221
e6eced71 522222004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
52223
52224 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
52225 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
52226 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
52227 reading and reset it after reading.
52228 (pupa_ext2_close): Return PUPA_ERR_NONE.
52229
52230 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
52231 Correct value.
52232 (struct linux_kernel_header): Add kernel_version and
52233 initrd_addr_max.
52234 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
52235 pupa_file_read succeeds.
52236 (pupa_rescue_cmd_initrd): Implement.
52237
5aded270 522382003-12-03 Marco Gerards <metgerards@student.han.nl>
52239
52240 * fs/ext2.c (pupa_ext2_label): New function.
52241 (pupa_ext2_fs): Added label.
52242 * fs/fat.c (pupa_fat_label): New function.
52243 (pupa_fat_fs): Added label.
52244 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
52245
52246 * kern/misc.c (pupa_strndup): New function.
52247 * include/pupa/misc.h (pupa_strndup): New prototype.
52248
52249 * include/pupa/normal.h: Include <pupa/err.h>.
52250 (pupa_set_history): New prototype.
52251 (pupa_iterate_commands): New prototype.
52252 * normal/cmdline.c: Include <pupa/machine/partition.h>,
52253 <pupa/disk.h>, <pupa/file.h>.
52254 (hist_size): New variable.
52255 (hist_lines): Likewise.
52256 (hist_end): Likewise.
52257 (hist_used): Likewise.
52258 (pupa_set_history): New function.
52259 (pupa_history_get): Likewise.
52260 (pupa_history_add): Likewise.
52261 (pupa_history_replace): Likewise.
52262 (pupa_tab_complete): Likewise.
52263 (pupa_cmdline_run): Added tab completion and history buffer. Tab
52264 completion shows partitionnames while completing partitions, this
52265 feature was suggested by Jeff Bailey.
52266 * normal/command.c (pupa_iterate_commands): New function.
52267 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
52268 (pupa_normal_init): Initialize history buffer.
52269 (PUPA_MOD_INIT): Likewise.
52270 (pupa_normal_fini): Free the history buffer.
52271 (PUPA_MOD_FINI): Likewise.
52272
52273 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
52274 key.
52275
52276 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
52277 * configure.ac [i386]: Check for regparam bug.
52278 (NESTED_FUNC_ATTR) [! i386]: Defined.
52279
1f7315a3 522802003-11-17 Marco Gerards <metgerards@student.han.nl>
52281
52282 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
52283 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
52284 (pupa_emu_SOURCES): New variable.
52285 (pupa_emu_LDFLAGS): Likewise.
52286 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
52287 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
52288 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
52289 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
52290 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
52291 (pupa_jmp_buf): New typedef.
52292 (pupa_setjmp) [PUPA_UTIL]: New macro.
52293 (pupa_longjmp) [PUPA_UTIL]: Likewise.
52294 * include/pupa/term.h (struct pupa_term): New member `refresh'.
52295 (pupa_refresh): New prototype.
52296 * include/pupa/util/getroot.h: New file.
52297 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
52298 it.
52299 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
52300 (pupa_rescue_cmd_cat): Likewise.
52301 (pupa_rescue_cmd_ls): Likewise.
52302 (pupa_rescue_cmd_testload): Likewise.
52303 (pupa_rescue_cmd_lsmod): Likewise.
52304 * normal/cmdline.c (pupa_cmdline_get): Likewise.
52305 * normal/menu.c (run_menu): Likewise.
52306 * kern/term.c (pupa_cls): Likewise.
52307 (pupa_refresh): New function.
52308 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
52309 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
52310 * util/console.c: New file.
f19dbdb7 52311
1f7315a3 52312 * util/i386/pc/getroot.c: New file.
52313 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
52314 (pupa_putchar): New function.
52315 (pupa_refresh): Likewise.
52316 (xgetcwd): Function moved to ...
52317 (strip_extra_slashes): Likewise.
52318 (get_prefix): Likewise.
f19dbdb7 52319 * util/i386/pc/getroot.c: ... here.
1f7315a3 52320 (find_root_device): Function moved and renamed to...
52321 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
52322 Changed all callers.
52323 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
52324 and renamed to...
52325 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
52326 Changed all callers.
52327 * util/misc.c (pupa_memalign): New function.
52328 (pupa_mm_init_region): Likewise.
52329 (pupa_register_exported_symbols): Likewise.
52330 (pupa_putchar): Function removed.
52331 * util/pupa-emu.c: New file.
52332
9a5c1ade 523332003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
52334
52335 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
52336 (_multiboot_mod_SOURCES): New variable.
52337 (_multiboot_mod_CFLAGS): Likewise.
52338 * loader/i386/pc/multiboot.c: New file.
52339 * include/pupa/i386/pc/multiboot.h: Likewise.
52340 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
52341 (pupa_multiboot_real_boot): New function.
52342 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
52343 (pupa_multiboot_real_boot): New prototype.
52344 (pupa_rescue_cmd_multiboot): Likewise
52345 (pupa_rescue_cmd_module): Likewise.
52346
52347 * kern/loader.c (pupa_loader_set): Continue when
52348 pupa_loader_unload_func() fails.
52349 (pupa_loader_unset): New function.
52350 * include/pupa/loader.h (pupa_loader_unset): New prototype.
52351
52352 * kern/misc.c (pupa_stpcpy): New function.
52353 * include/pupa/misc.h (pupa_stpcpy): New prototype.
52354
8e72a9c0 523552003-11-12 Marco Gerards <metgerards@student.han.nl>
52356
52357 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
52358 for available extensions.
52359
52360 * include/pupa/i386/pc/time.h: New file.
52361 * kern/disk.c: Include <pupa/machine/time.h>.
52362 (PUPA_CACHE_TIMEOUT): New macro.
52363 (pupa_last_time): New variable.
52364 (pupa_disk_open): Flush the cache when there was a timeout.
52365 (pupa_disk_close): Reset the timer.
52366 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
52367 pupa_currticks.
52368 * util/misc.c: Include <sys/times.h>
52369 (pupa_get_rtc): New function.
52370
c4adbd32 523712003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
52372
52373 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
52374 as blocks.
52375 (pupa_ext2_get_file_block): Use blocks member.
52376
52377 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
52378 first block. Return -1 instead of pupa_errno on error.
52379
bfd30f06 523802003-10-27 Marco Gerards <metgerards@student.han.nl>
52381
52382 * README: In the pupa-mkimage example use _chain instead of chain
52383 and ext2 instead of fat.
52384 * TODO: Replace ext2fs with jfs as an example. Add an item for
52385 adding journal playback for ext2fs.
52386 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
52387 (pkgdata_MODULES): Added ext2.mod.
52388 (ext2_mod_SOURCES): New variable.
52389 (ext2_mod_CFLAGS): Likewise.
52390 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
52391 * include/pupa/misc.h (pupa_strncpy): New prototype.
52392 (pupa_strcat): Likewise.
52393 (pupa_strncmp): Likewise.
52394 * kern/misc.c (pupa_strcat): Enable function.
52395 (pupa_strncpy): New function.
52396 (pupa_strncmp): Likewise.
52397 * fs/ext2.c: New file.
f19dbdb7 52398
bfd30f06 52399 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
52400 when the read failed before retrying.
52401 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
52402 (_FILE_OFFSET_BITS): Likewise.
52403 * configure.ac: Added AC_SYS_LARGEFILE.
52404
98d15063 524052003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
52406
52407 * genmk.rb (PModule#rule): Make sure to get only symbol names
52408 from the output of nm.
59cad637 52409 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 52410
18d9c7cd 524112003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
52412
52413 I forgot to check in these changes for a long time. This adds
52414 incomplete support for VGA console, and this is still very
52415 buggy. Also, a lot of consideration is required for I18N,
52416 UNICODE, and VGA font issues. Therefore, assume that this is
52417 such that "better than nothing".
f19dbdb7 52418
18d9c7cd 52419 * font/manager.c: New file.
52420 * include/pupa/font.h: Likewise.
52421 * include/pupa/i386/pc/vga.h: Likewise.
52422 * term/i386/pc/vga.c: Likewise.
52423 * util/unifont2pff.rb: Likewise.
52424
52425 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
52426 (pkgdata_MODULES): Added vga.mod and font.mod.
52427 (vga_mod_SOURCES): New variables.
52428 (vga_mod_CFLAGS): Likewise.
52429 (font_mod_SOURCES): Likewise.
52430 (font_mod_CFLAGS): Likewise.
52431
52432 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
52433
52434 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 52435 (struct pupa_term): Added init and fini.
18d9c7cd 52436 Changed the argument of putchar to pupa_uint32_t.
52437
52438 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
52439 (pupa_console_real_putchar): New prototype.
52440 (pupa_console_putchar): Removed.
52441 (pupa_console_checkkey): Exported.
52442 (pupa_console_getkey): Likewise.
52443
52444 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
52445 characters.
52446
52447 * kern/term.c (pupa_term_set_current): Rewritten.
52448 (pupa_putchar): Likewise.
52449 (pupa_putcode): New function.
52450
52451 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
52452 (pupa_console_real_putchar): ... this.
52453 (pupa_vga_set_mode): New function.
52454 (pupa_vga_get_font): Likewise.
52455
52456 * normal/command.c: Include pupa/term.h.
52457 (terminal_command): New function.
52458 (pupa_command_init): Register the command "terminal".
52459
52460 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
52461 (DISP_UP): Likewise.
52462 (DISP_RIGHT): Likewise.
52463 (DISP_DOWN): Likewise.
52464 (DISP_HLINE): Likewise.
52465 (DISP_VLINE): Likewise.
52466 (DISP_UL): Likewise.
52467 (DISP_UR): Likewise.
52468 (DISP_LL): Likewise.
52469 (DISP_LR): Likewise.
52470
52471 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 52472
977329f5 524732003-02-08 NIIBE Yutaka <gniibe@m17n.org>
52474
52475 * util/resolve.c (pupa_util_resolve_dependencies): BUG
52476 FIX. Reverse the path_list.
52477
52478 * include/pupa/normal.h: Export pupa_register_command and
52479 pupa_unregister_command.
52480
52481 * hello/hello.c (pupa_cmd_hello): New module.
52482 * conf/i386-pc.rmk: Added hello.mod.
52483
1f5ab428 524842003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
52485
52486 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 52487
1f5ab428 52488 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
52489 (compress_kernel): New variable.
52490 (generate_image): Heavily modified to support compressing a
52491 large part of the core image.
52492
52493 * util/misc.c (pupa_util_read_image): Fix a file descriptor
52494 leak.
52495 (pupa_util_load_image): New function.
52496
52497 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
52498 (pupa_compressed_size): New variable.
52499 (codestart): Enable Gate A20 here.
52500 Decompress the compressed part of the core image.
52501 Rearrange the code to put functions and variables which are
52502 required for initialization in the non-compressed part.
52503 Include lzo1x.S.
52504
52505 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
52506 here.
52507
52508 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
52509
f19dbdb7 52510 * include/pupa/i386/pc/kernel.h
1f5ab428 52511 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
52512 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
52513 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
52514 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
52515 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
52516
52517 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
52518
52519 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
52520 (Utility#rule): Likewise.
52521
52522 * configure.ac: Check if LZO is available.
52523
ce5bf700 525242003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
52525
52526 * include/pupa/normal.h: New file.
52527 * include/pupa/setjmp.h: Likewise.
52528 * include/pupa/i386/setjmp.h: Likewise.
52529 * normal/cmdline.c: Likewise.
52530 * normal/command.c: Likewise.
52531 * normal/main.c: Likewise.
52532 * normal/menu.c: Likewise.
52533 * normal/i386/setjmp.S: Likewise.
f19dbdb7 52534
ce5bf700 52535 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
52536 (pupa_rescue_cmd_initrd): Likewise.
52537
52538 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
52539 Likewise.
52540
52541 * kern/i386/pc/startup.S (translation_table): New variable.
52542 (translate_keycode): New function.
52543 (pupa_console_getkey): Call translate_keycode.
52544
52545 * kern/rescue.c (attempt_normal_mode): New function.
52546 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
52547 it failed, print a message.
52548
52549 * kern/mm.c (pupa_real_malloc): Print more information when a
52550 free magic is broken.
52551 (pupa_free): If the first free header is not free actually, set
52552 it to P.
52553
52554 * kern/main.c (pupa_load_normal_mode): Just load the module
52555 "normal".
52556 (pupa_main): Don't print the message
52557 "Entering into rescue mode..." here.
52558
52559 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
52560 Declared.
52561 (pupa_rescue_cmd_initrd): Likewise.
52562 (pupa_rescue_cmd_initrd): Likewise.
52563
52564 * include/pupa/symbol.h (FUNCTION): Specify the type.
52565 (VARIABLE): Likewise.
52566
52567 * include/pupa/err.h (pupa_err_t): Added
52568 PUPA_ERR_UNKNOWN_COMMAND.
52569
52570 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
52571 (pupa_dl_get_prefix): Likewise.
52572
52573 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
52574 Added _chain.mod and _linux.mod instead of chain.mod and
52575 linux.mod.
52576 (chain_mod_SOURCES): Renamed to ...
52577 (_chain_mod_SOURCES): ... this.
52578 (chain_mod_CFLAGS): Renamed to ...
52579 (_chain_mod_CFLAGS): ... this.
52580 (linux_mod_SOURCES): Renamed to ...
52581 (_linux_mod_SOURCES): ... this.
52582 (linux_mod_CFLAGS): Renamed to ...
52583 (_linux_mod_CFLAGS): ... this.
52584 (normal_mod_SOURCES): New variable.
52585 (normal_mod_CFLAGS): Likewise.
52586 (normal_mod_ASFLAGS): Likewise.
52587
525882003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
52589
52590 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
52591 possible.
52592
fe6b695a 52593 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 52594 recursively.
52595 (pupa_dl_unref): Unrefer depending modules recursively.
52596 Don't call pupa_dl_unload implicitly, because PUPA can crash if
52597 a module is unloaded before one depending on that module is
52598 unloaded.
52599 (pupa_dl_unload): Unload depending modules explicitly,
52600 if possible.
52601
c04da074 526022003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
52603
52604 * include/pupa/i386/pc/linux.h: New file.
52605 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 52606
c04da074 52607 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
52608 Removed.
52609 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
52610 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
52611 of PUPA_CHAINLOADER_BOOT_SECTOR.
52612
52613 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
52614 (pupa_linux_prot_size): New variable.
52615 (pupa_linux_tmp_addr): Likewise.
52616 (pupa_linux_real_addr): Likewise.
52617 (pupa_linux_boot_zimage): New function.
52618 (pupa_linux_boot_bzimage): Likewise.
52619
52620 * kern/i386/pc/init.c (struct mem_region): New structure.
52621 (MAX_REGIONS): New macro.
52622 (mem_regions): New variable.
52623 (num_regions): Likewise.
52624 (pupa_os_area_addr): Likewise.
52625 (pupa_os_area_size): Likewise.
52626 (pupa_lower_mem): Likewise.
52627 (pupa_upper_mem): Likewise.
52628 (add_mem_region): New function.
52629 (compact_mem_regions): Likewise.
52630 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
52631 the size of the conventional memory and that of so-called upper
52632 memory (before the first memory hole).
52633 Instead of adding each found region to free memory, use
52634 add_mem_region and add them after removing overlaps.
52635 Also, add only 1/4 of the upper memory to free memory. The rest
52636 is used for loading OS images. Maybe this is ad hoc, but this
52637 makes it much easier to relocate OS images when booting.
52638
52639 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
52640 (pupa_enter_rescue_mode): Don't register initrd and module.
52641
52642 * kern/mm.c: Include pupa/dl.h.
52643
52644 * kern/main.c: Include pupa/file.h and pupa/device.h.
52645
52646 * kern/loader.c (pupa_loader_load_module_func): Removed.
52647 (pupa_loader_load_module): Likewise.
52648
52649 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
52650 ``.o''.
52651
52652 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
52653 (pupa_linux_tmp_addr): Likewise.
52654 (pupa_linux_real_addr): Likewise.
52655 (pupa_linux_boot_zimage): Likewise.
52656 (pupa_linux_boot_bzimage): Likewise.
52657
52658 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
52659 (pupa_upper_mem): Likewise.
52660 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
52661 module is too dangerous.
52662
52663 * include/pupa/loader.h (pupa_os_area_addr): Declared.
52664 (pupa_os_area_size): Likewise.
52665 (pupa_loader_set): Remove the first argument. Loader doesn't
52666 manage modules or initrd any longer.
52667 (pupa_loader_load_module): Removed.
52668
52669 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
52670 (linux_mod_SOURCES): New variable.
52671 (linux_mod_CFLAGS): Likewise.
52672
a13f9237 526732003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
52674
52675 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
52676 the length of a blocklist correctly.
52677
52678 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
52679 Use ioctl only if the OS file is a block device.
52680 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
52681 not very useful for normal files.
52682
52683 * kern/main.c (pupa_set_root_dev): New function.
52684 (pupa_load_normal_mode): Likewise.
52685 (pupa_main): Call those above.
52686
52687 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
52688 pupa_uint16_t.
52689
52690 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
52691
a5ffe966 526922003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
52693
52694 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
52695 (setup): Configure the installed partition information and the
52696 dl prefix.
52697
52698 * loader/i386/pc/chainloader.c (my_mod): New variable.
52699 (pupa_chainloader_unload): New function.
52700 (pupa_rescue_cmd_chainloader): Refer itself.
52701 (PUPA_MOD_INIT): Save its own module in MY_MOD.
52702
52703 * kern/i386/pc/startup.S (install_partition): Removed.
52704 (version_string): Likewise.
52705 (config_file): Likewise.
52706 (pupa_install_dos_part): New variable.
52707 (pupa_install_bsd_part): Likewise.
52708 (pupa_prefix): Likewise.
52709 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
52710
52711 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
52712 and pupa/misc.h.
52713 (make_install_device): New function.
52714 (pupa_machine_init): Set the dl prefix.
52715
52716 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
52717 (buf): Renamed to ...
52718 (linebuf): ... this.
52719 (pupa_rescue_cmd_prefix): New function.
52720 (pupa_rescue_cmd_insmod): Likewise.
52721 (pupa_rescue_cmd_rmmod): Likewise.
52722 (pupa_rescue_cmd_lsmod): Likewise.
52723 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
52724 rmmod and lsmod.
52725
52726 * kern/mm.c (pupa_memalign): If failed even after invalidating
52727 disk caches, unload unneeded modules and retry.
52728
52729 * kern/misc.c (pupa_memmove): New function.
52730 (pupa_memcpy): Removed.
52731 (pupa_strcpy): New function.
52732 (pupa_itoa): Made static.
52733
52734 * kern/dl.c (pupa_dl_iterate): New function.
52735 (pupa_dl_ref): Likewise.
52736 (pupa_dl_unref): Likewise.
52737 (pupa_dl_unload): Return if succeeded or not.
52738 (pupa_dl_unload_unneeded): New function.
52739 (pupa_dl_unload_all): Likewise.
52740 (pupa_dl_init): Renamed to ...
52741 (pupa_dl_set_prefix): ... this.
52742 (pupa_dl_get_prefix): New function.
52743
52744 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
52745 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
52746 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
52747 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
52748 (pupa_install_dos_part): Declared.
52749 (pupa_install_bsd_part): Likewise.
52750 (pupa_prefix): Likewise.
52751 (pupa_boot_drive): Likewise.
52752
52753 * include/pupa/types.h: Fix a typo.
52754
52755 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
52756 pupa_memmove.
52757 (pupa_memmove): Declared.
52758 (pupa_strcpy): Likewise.
52759
52760 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
52761 pupa_mod_init takes one argument, its own module.
52762 (pupa_dl_unload_unneeded): Declared.
52763 (pupa_dl_unload_all): Likewise.
52764 (pupa_dl_ref): Likewise.
52765 (pupa_dl_unref): Likewise.
52766 (pupa_dl_iterate): Likewise.
52767 (pupa_dl_init): Renamed to ...
52768 (pupa_dl_set_prefix): ... this.
52769 (pupa_dl_get_prefix): Declared.
52770
52771 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 52772 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 52773 unloaded.
52774 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
52775 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
52776
52777 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
52778 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
52779
012d7999 527802003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
52781
52782 * util/i386/pc/pupa-setup.c (setup): Define the internal
52783 function find_first_partition_start at the top level, because GCC
52784 3.0.x cannot compile internal functions in deeper scopes
52785 correctly.
52786 (find_root_device): Use lstat instead of stat.
52787 Don't follow symbolic links.
52788 Fix the path-constructing code.
52789
52790 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
52791 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
52792 by a BLKGETSIZE ioctl first, because block devices don't fill
52793 the member st_mode of the structure stat on Linux.
52794 [__linux__] (linux_find_partition): Use a temporary buffer
52795 REAL_DEV for the working space. Copy it to DEV before returning.
52796 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
52797 buffer cache consistent.
52798 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
52799 strncmp. The previous value was merely wrong.
52800 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
52801
52802 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
52803 FAT size is 12. The previous value was merely wrong.
52804
52805 * kern/main.c (pupa_main): Don't split the starting message from
52806 newlines.
52807
52808 * kern/term.c (pupa_putchar): Put CR after LF instead of before
52809 LF, because BIOS goes crazy about character attributes in this
52810 case.
52811
1cc73a62 528122003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
52813
52814 * include/i386/pc/util/biosdisk.h: New file.
52815 * util/i386/pc/biosdisk.c: Likewise.
52816 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 52817
1cc73a62 52818 * Makefile.in (INCLUDE_DISTFILES): Added
52819 include/pupa/i386/pc/util/biosdisk.h.
52820 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
52821 directory util/i386/pc.
52822 (install-local): Added a rule for sbin_UTILITIES.
52823 (uninstall): Likewise.
52824
52825 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
52826
52827 * util/misc.c (xrealloc): New function.
52828 (pupa_malloc): Likewise.
52829 (pupa_free): Likewise.
52830 (pupa_realloc): Likewise.
52831 (pupa_stop): Likewise.
52832 (pupa_putchar): Likewise.
52833
52834 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
52835
52836 * include/pupa/util/misc.h (xrealloc): Declared.
52837
52838 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
52839 macro.
52840 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
52841 (PUPA_BOOT_MACHINE_BPB_END): ... this.
52842
52843 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
52844 [PUPA_UTIL] (pupa_fat_fini): Likewise.
52845
52846 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
52847 way should be implemented.
52848 [PUPA_UTIL] (pupa_fat_fini): Likewise.
52849
52850 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
52851 the size of NAME for safety.
52852 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
52853 0x88.
52854
52855 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
52856 (pupa_setup_SOURCES): Likewise.
52857
52858 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
52859
08b70fe8 528602002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
52861
52862 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
52863 bunch of pushl's from pusha, because this destroys the return
52864 value.
52865
62ddcc8f 528662002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
52867
52868 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
52869 This means that any missing prototypes could be fatal. Also, you
52870 must take care when writing assembly code. See the comments at
52871 the beginning of startup.S, for more details.
f19dbdb7 52872
62ddcc8f 52873 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
52874 compilation mechanism.
52875 (pupa_chainloader_real_boot): Likewise.
52876 (pupa_biosdisk_rw_int13_extensions): Likewise.
52877 (pupa_biosdisk_rw_standard): Likewise.
52878 (pupa_biosdisk_check_int13_extensions): Likewise.
52879 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
52880 (pupa_biosdisk_get_diskinfo_standard): Likewise.
52881 (pupa_get_memsize): Likewise.
52882 (pupa_get_mmap_entry): Likewise.
52883 (pupa_console_putchar): Likewise.
52884 (pupa_console_setcursor): Likewise.
52885 (pupa_getrtsecs): Use pushl instead of push.
52886
52887 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
52888 memory instead of the stack for a mmap entry, because some
52889 BIOSes may ignore the maximum size and overflow.
52890
52891 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
52892
52893 * genmk.rb (PModule#rule): Compile automatically generated
52894 sources with module-specific CFLAGS as well as other sources.
52895
9962ed99 528962002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
52897
52898 * configure.ac: Check ld.
52899 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
52900 respectively, before checking endianness and sizes.
52901
52902 * Makefile.in (LD): New variable.
f19dbdb7 52903
abdfc3c5 529042002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
52905
52906 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
52907
6a161fa9 529082002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
52909
52910 * Changelog: New file.
52911